foreman_maintain 0.4.10 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/definitions/checks/backup/certs_tar_exist.rb +8 -8
- data/definitions/checks/candlepin/validate_db.rb +1 -1
- data/definitions/checks/check_epel_repository.rb +1 -1
- data/definitions/checks/check_hotfix_installed.rb +2 -2
- data/definitions/checks/disk/performance.rb +6 -3
- data/definitions/checks/puppet/provide_upgrade_guide.rb +3 -3
- data/definitions/checks/remote_execution/verify_settings_file_already_exists.rb +2 -2
- data/definitions/checks/repositories/check_upstream_repository.rb +1 -1
- data/definitions/checks/repositories/validate.rb +6 -5
- data/definitions/checks/system_registration.rb +1 -3
- data/definitions/features/capsule.rb +20 -0
- data/definitions/features/cron.rb +1 -1
- data/definitions/features/foreman_server.rb +1 -1
- data/definitions/features/installer.rb +2 -1
- data/definitions/features/instance.rb +15 -9
- data/definitions/features/satellite.rb +25 -0
- data/definitions/features/service.rb +2 -2
- data/definitions/features/upstream.rb +2 -1
- data/definitions/procedures/backup/compress_data.rb +1 -1
- data/definitions/procedures/backup/config_files.rb +2 -1
- data/definitions/procedures/candlepin/delete_orphaned_records_from_env_content.rb +1 -2
- data/definitions/procedures/foreman_proxy/features.rb +4 -1
- data/definitions/procedures/knowledge_base_article.rb +1 -1
- data/definitions/procedures/repositories/setup.rb +2 -2
- data/definitions/scenarios/restore.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_2.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_2_z.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_3.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_3_z.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_4.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_4_z.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_5.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_5_z.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_6.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_6_z.rb +1 -1
- data/definitions/scenarios/upgrade_to_satellite_6_7.rb +80 -0
- data/definitions/scenarios/upgrade_to_satellite_6_7_z.rb +80 -0
- data/lib/foreman_maintain.rb +1 -0
- data/lib/foreman_maintain/cli/backup_command.rb +2 -1
- data/lib/foreman_maintain/cli/base.rb +2 -2
- data/lib/foreman_maintain/concerns/downstream.rb +123 -0
- data/lib/foreman_maintain/concerns/system_helpers.rb +0 -9
- data/lib/foreman_maintain/version.rb +1 -1
- metadata +6 -2
- data/definitions/features/downstream.rb +0 -111
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f7559f6d4d97f5b61279e22233855efd6ffcf4061013b107389f9bb0469832e5
|
4
|
+
data.tar.gz: 9a3c76b2006e87a0f2d5a6021f26a35624c70e08409dafffa76e1a518565e89a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7967c8ed3ec1830e917f25765626758ba4d8d1af636d7003e6522ddd038540fab1f33d62630cacd1dfd2855084bb2e2b4cbc50be84ed8582e3157a819f7bb4d5
|
7
|
+
data.tar.gz: 7c5fbf539f92af28e9e4326b276812c1f4bb4a13aaca8b0948f7c8d33fb26f7480864d6d269cb141c50e8870cc7a1dae9e668c25163d4b86fadf8033c4cf1cb6
|
data/README.md
CHANGED
@@ -13,8 +13,8 @@ Subcommands:
|
|
13
13
|
list List the checks based on criteria
|
14
14
|
list-tags List the tags to use for filtering checks
|
15
15
|
check Run the health checks against the system
|
16
|
-
--label label Run only a specific check
|
17
|
-
--tags tags
|
16
|
+
--label label Run only a specific check with a label
|
17
|
+
--tags tags Run only those with all specific set of tags
|
18
18
|
|
19
19
|
upgrade Upgrade related commands
|
20
20
|
list-versions List versions this system is upgradable to
|
@@ -3,17 +3,17 @@ module Checks::Backup
|
|
3
3
|
metadata do
|
4
4
|
description 'Check if proxy certs_tar exist'
|
5
5
|
tags :backup
|
6
|
-
|
6
|
+
confine do
|
7
|
+
feature(:foreman_proxy) && !feature(:foreman_proxy).internal?
|
8
|
+
end
|
7
9
|
end
|
8
10
|
|
9
11
|
def run
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
' location or generate a new one on the main server.'
|
16
|
-
end
|
12
|
+
if certs_tar && !File.exist?(certs_tar)
|
13
|
+
name = feature(:instance).foreman_proxy_product_name
|
14
|
+
fail! "#{name} certs tar file is not present on the system" \
|
15
|
+
" in path '#{certs_tar}'. \nPlease move the file back to that" \
|
16
|
+
' location or generate a new one on the main server.'
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -12,7 +12,7 @@ module Checks::Candlepin
|
|
12
12
|
def run
|
13
13
|
result, result_msg = feature(:candlepin_database).execute_cpdb_validate_cmd
|
14
14
|
next_steps = []
|
15
|
-
if feature(:
|
15
|
+
if feature(:satellite) && feature(:satellite).current_minor_version == '6.2'
|
16
16
|
next_steps.concat(
|
17
17
|
[Procedures::Candlepin::DeleteOrphanedRecordsFromEnvContent.new,
|
18
18
|
Procedures::KnowledgeBaseArticle.new(:doc => 'fix_cpdb_validate_failure')]
|
@@ -8,12 +8,12 @@ class Checks::CheckHotfixInstalled < ForemanMaintain::Check
|
|
8
8
|
end
|
9
9
|
|
10
10
|
confine do
|
11
|
-
feature(:downstream
|
11
|
+
feature(:instance).downstream
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
def run
|
16
|
-
if feature(:
|
16
|
+
if feature(:instance).downstream.subscribed_using_activation_key?
|
17
17
|
skip "Your system is subscribed using custom activation key. Hotfixes can't be detected."
|
18
18
|
else
|
19
19
|
with_spinner('Checking for presence of hotfix(es). It may take some time to verify.') do
|
@@ -13,8 +13,10 @@ module Checks
|
|
13
13
|
end
|
14
14
|
|
15
15
|
EXPECTED_IO = 60
|
16
|
-
DEFAULT_UNIT
|
17
|
-
DEFAULT_DIRS
|
16
|
+
DEFAULT_UNIT = 'MB/sec'.freeze
|
17
|
+
DEFAULT_DIRS = [
|
18
|
+
'/var/lib/pulp', '/var/lib/mongodb', '/var/lib/pgsql'
|
19
|
+
].select { |file_path| File.directory?(file_path) }.freeze
|
18
20
|
|
19
21
|
attr_reader :stats
|
20
22
|
|
@@ -26,7 +28,8 @@ module Checks
|
|
26
28
|
puts "\n"
|
27
29
|
puts stats.stdout
|
28
30
|
|
29
|
-
|
31
|
+
current_downstream_feature = feature(:instance).downstream
|
32
|
+
if current_downstream_feature && current_downstream_feature.at_least_version?('6.3')
|
30
33
|
assert(success, io_obj.slow_disk_error_msg + warning_message, :warn => true)
|
31
34
|
else
|
32
35
|
assert(success, io_obj.slow_disk_error_msg)
|
@@ -4,8 +4,8 @@ module Checks::Puppet
|
|
4
4
|
description 'Verify puppet and provide upgrade guide for it'
|
5
5
|
tags :puppet_upgrade_guide
|
6
6
|
confine do
|
7
|
-
feature(:downstream
|
8
|
-
feature(:
|
7
|
+
feature(:instance).downstream &&
|
8
|
+
feature(:instance).downstream.current_minor_version == '6.3' &&
|
9
9
|
find_package('puppet')
|
10
10
|
end
|
11
11
|
manual_detection
|
@@ -15,7 +15,7 @@ module Checks::Puppet
|
|
15
15
|
with_spinner('Verifying puppet version before upgrade') do |spinner|
|
16
16
|
puppet_package = find_package('puppet')
|
17
17
|
spinner.update "current puppet version: #{puppet_package}"
|
18
|
-
curr_sat_version = feature(:
|
18
|
+
curr_sat_version = feature(:instance).downstream.current_minor_version
|
19
19
|
assert(
|
20
20
|
(puppet_package !~ /puppet-3/),
|
21
21
|
'Before continuing with upgrade, please make sure you finish puppet upgrade.',
|
@@ -4,8 +4,8 @@ module Checks::RemoteExecution
|
|
4
4
|
description 'Check to verify remote_execution_ssh settings already exist'
|
5
5
|
|
6
6
|
confine do
|
7
|
-
feature(:downstream
|
8
|
-
feature(:
|
7
|
+
feature(:instance).downstream &&
|
8
|
+
feature(:instance).downstream.current_minor_version == '6.2' &&
|
9
9
|
find_package('tfm-rubygem-smart_proxy_dynflow_core') &&
|
10
10
|
file_exists?('/etc/smart_proxy_dynflow_core')
|
11
11
|
end
|
@@ -7,7 +7,7 @@ module Checks::Repositories
|
|
7
7
|
end
|
8
8
|
|
9
9
|
confine do
|
10
|
-
feature(:downstream
|
10
|
+
feature(:instance).downstream
|
11
11
|
end
|
12
12
|
|
13
13
|
param :version,
|
@@ -18,7 +18,7 @@ module Checks::Repositories
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def run
|
21
|
-
if feature(:
|
21
|
+
if feature(:instance).downstream.subscribed_using_activation_key?
|
22
22
|
skip 'Your system is subscribed using custom activation key'
|
23
23
|
else
|
24
24
|
with_spinner("Validating availability of repositories for #{@version}") do |spinner|
|
@@ -30,11 +30,12 @@ module Checks::Repositories
|
|
30
30
|
private
|
31
31
|
|
32
32
|
def find_absent_repos(spinner)
|
33
|
-
|
33
|
+
current_downstream_feature = feature(:instance).downstream
|
34
|
+
absent_repos = current_downstream_feature.absent_repos(@version)
|
34
35
|
unless absent_repos.empty?
|
35
36
|
spinner.update('Some repositories missing, calling `subscription-manager refresh`')
|
36
|
-
|
37
|
-
absent_repos =
|
37
|
+
current_downstream_feature.rhsm_refresh
|
38
|
+
absent_repos = current_downstream_feature.absent_repos(@version)
|
38
39
|
end
|
39
40
|
unless absent_repos.empty?
|
40
41
|
fail!(
|
@@ -5,9 +5,7 @@ class Checks::SystemRegistration < ForemanMaintain::Check
|
|
5
5
|
tags :default
|
6
6
|
|
7
7
|
confine do
|
8
|
-
file_exists?('/etc/rhsm/rhsm.conf') &&
|
9
|
-
!feature(:foreman_server) &&
|
10
|
-
feature(:foreman_proxy)
|
8
|
+
file_exists?('/etc/rhsm/rhsm.conf') && feature(:instance).downstream
|
11
9
|
end
|
12
10
|
end
|
13
11
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
class Features::Capsule < ForemanMaintain::Feature
|
2
|
+
include ForemanMaintain::Concerns::Downstream
|
3
|
+
|
4
|
+
metadata do
|
5
|
+
label :capsule
|
6
|
+
|
7
|
+
confine do
|
8
|
+
feature(:package_manager).installed?(['satellite-capsule']) ||
|
9
|
+
feature(:package_manager).installed?(['capsule-installer'])
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def current_version
|
14
|
+
@current_version ||= rpm_version(package_name)
|
15
|
+
end
|
16
|
+
|
17
|
+
def package_name
|
18
|
+
'satellite-capsule'
|
19
|
+
end
|
20
|
+
end
|
@@ -3,7 +3,7 @@ class Features::Cron < ForemanMaintain::Feature
|
|
3
3
|
label :cron
|
4
4
|
confine do
|
5
5
|
ForemanMaintain.config.manage_crond && !(
|
6
|
-
feature(:downstream
|
6
|
+
feature(:instance).downstream && feature(:instance).downstream.less_than_version?('6.3')
|
7
7
|
)
|
8
8
|
end
|
9
9
|
end
|
@@ -66,13 +66,14 @@ class Features::Installer < ForemanMaintain::Feature
|
|
66
66
|
|
67
67
|
def last_scenario
|
68
68
|
return nil unless with_scenarios?
|
69
|
+
|
69
70
|
File.basename(last_scenario_config).split('.')[0]
|
70
71
|
end
|
71
72
|
|
72
73
|
def installer_command
|
73
74
|
case @installer_type
|
74
75
|
when :scenarios
|
75
|
-
if feature(:
|
76
|
+
if feature(:satellite)
|
76
77
|
'satellite-installer'
|
77
78
|
else
|
78
79
|
'foreman-installer'
|
@@ -7,11 +7,11 @@ class Features::Instance < ForemanMaintain::Feature
|
|
7
7
|
end
|
8
8
|
|
9
9
|
def foreman_proxy_product_name
|
10
|
-
feature(:
|
10
|
+
feature(:capsule) ? 'Capsule' : 'Foreman Proxy'
|
11
11
|
end
|
12
12
|
|
13
13
|
def server_product_name
|
14
|
-
if feature(:
|
14
|
+
if feature(:satellite)
|
15
15
|
'Satellite'
|
16
16
|
elsif feature(:katello)
|
17
17
|
'Katello'
|
@@ -20,12 +20,8 @@ class Features::Instance < ForemanMaintain::Feature
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
-
def external_proxy?
|
24
|
-
!!(feature(:foreman_proxy) && !feature(:foreman_server))
|
25
|
-
end
|
26
|
-
|
27
23
|
def product_name
|
28
|
-
if
|
24
|
+
if feature(:foreman_proxy) && !feature(:foreman_proxy).internal?
|
29
25
|
foreman_proxy_product_name
|
30
26
|
else
|
31
27
|
server_product_name
|
@@ -48,10 +44,14 @@ class Features::Instance < ForemanMaintain::Feature
|
|
48
44
|
feature(:foreman_proxy) && feature(:foreman_proxy).with_content? && !feature(:katello)
|
49
45
|
end
|
50
46
|
|
47
|
+
def downstream
|
48
|
+
@downstream ||= (feature(:satellite) || feature(:capsule))
|
49
|
+
end
|
50
|
+
|
51
51
|
def ping
|
52
52
|
if feature(:katello)
|
53
53
|
katello_ping
|
54
|
-
elsif
|
54
|
+
elsif feature(:foreman_proxy) && !feature(:foreman_proxy).internal?
|
55
55
|
proxy_ping
|
56
56
|
else
|
57
57
|
foreman_ping
|
@@ -112,6 +112,12 @@ class Features::Instance < ForemanMaintain::Feature
|
|
112
112
|
end
|
113
113
|
|
114
114
|
def pick_failing_components(components)
|
115
|
+
if feature(:katello).current_version < Gem::Version.new('3.2.0')
|
116
|
+
# Note that katello_ping returns an empty result against foreman_auth.
|
117
|
+
# https://github.com/Katello/katello/commit/95d7b9067d38f269a5ec121fb73b5c19d4422baf
|
118
|
+
components.reject! { |n| n.eql?('foreman_auth') }
|
119
|
+
end
|
120
|
+
|
115
121
|
components.each_with_object([]) do |(name, data), failing|
|
116
122
|
failing << name unless data['status'] == 'ok'
|
117
123
|
end
|
@@ -129,7 +135,7 @@ class Features::Instance < ForemanMaintain::Feature
|
|
129
135
|
|
130
136
|
def component_features_map
|
131
137
|
{
|
132
|
-
'candlepin_auth' =>
|
138
|
+
'candlepin_auth' => %w[candlepin candlepin_database],
|
133
139
|
'candlepin' => %w[candlepin candlepin_database],
|
134
140
|
'pulp_auth' => %w[pulp mongo],
|
135
141
|
'pulp' => %w[pulp mongo],
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class Features::Satellite < ForemanMaintain::Feature
|
2
|
+
include ForemanMaintain::Concerns::Downstream
|
3
|
+
|
4
|
+
metadata do
|
5
|
+
label :satellite
|
6
|
+
|
7
|
+
confine do
|
8
|
+
feature(:package_manager).installed?(['satellite'])
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def current_version
|
13
|
+
@current_version ||= rpm_version(package_name) || version_from_source
|
14
|
+
end
|
15
|
+
|
16
|
+
def package_name
|
17
|
+
'satellite'
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def version_from_source
|
23
|
+
version(File.read('/usr/share/foreman/lib/satellite/version.rb')[/6\.\d\.\d/])
|
24
|
+
end
|
25
|
+
end
|
@@ -9,7 +9,7 @@ class Features::Service < ForemanMaintain::Feature
|
|
9
9
|
# { :exclude => ["pulp-workers", "tomcat"] }
|
10
10
|
# { :include => ["crond"] }
|
11
11
|
|
12
|
-
if feature(:downstream
|
12
|
+
if feature(:instance).downstream && feature(:instance).downstream.less_than_version?('6.3')
|
13
13
|
use_katello_service(action, options)
|
14
14
|
else
|
15
15
|
use_system_service(action, options, spinner)
|
@@ -157,7 +157,7 @@ class Features::Service < ForemanMaintain::Feature
|
|
157
157
|
command = "katello-service #{action} "
|
158
158
|
|
159
159
|
# katello-service in 6.1 does not support --only
|
160
|
-
if feature(:
|
160
|
+
if feature(:instance).downstream.less_than_version?('6.2')
|
161
161
|
excluded_services = exclude_services_only(options)
|
162
162
|
command += "--exclude #{excluded_services.join(',')}" if excluded_services.any?
|
163
163
|
else
|
@@ -35,7 +35,8 @@ module Procedures::Backup
|
|
35
35
|
exclude_configs = []
|
36
36
|
ForemanMaintain.available_features.each do |feature|
|
37
37
|
# exclude proxy as it has special handling later
|
38
|
-
next if
|
38
|
+
next if [:foreman_proxy, :capsule].include?(feature.label)
|
39
|
+
|
39
40
|
configs += feature.config_files
|
40
41
|
exclude_configs += feature.config_files_to_exclude
|
41
42
|
end
|
@@ -3,7 +3,10 @@ module Procedures::ForemanProxy
|
|
3
3
|
metadata do
|
4
4
|
param :load_only, 'Do not print the features', :default => false
|
5
5
|
description 'Detect features available in the local proxy'
|
6
|
-
|
6
|
+
|
7
|
+
confine do
|
8
|
+
feature(:foreman_proxy)
|
9
|
+
end
|
7
10
|
end
|
8
11
|
|
9
12
|
def run
|
@@ -3,7 +3,7 @@ class Procedures::KnowledgeBaseArticle < ForemanMaintain::Procedure
|
|
3
3
|
description 'Show knowledge base article for troubleshooting'
|
4
4
|
|
5
5
|
confine do
|
6
|
-
feature(:downstream
|
6
|
+
feature(:instance).downstream
|
7
7
|
end
|
8
8
|
param :doc,
|
9
9
|
'Document name required to select a correct article',
|
@@ -7,7 +7,7 @@ module Procedures::Repositories
|
|
7
7
|
end
|
8
8
|
|
9
9
|
confine do
|
10
|
-
feature(:downstream
|
10
|
+
feature(:instance).downstream || feature(:upstream)
|
11
11
|
end
|
12
12
|
param :version,
|
13
13
|
'Version for which repositories needs to be setup',
|
@@ -17,7 +17,7 @@ module Procedures::Repositories
|
|
17
17
|
|
18
18
|
def run
|
19
19
|
with_spinner("Configuring repositories for #{@version}") do
|
20
|
-
(feature(:downstream
|
20
|
+
(feature(:instance).downstream || feature(:upstream)).setup_repositories(@version)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -67,7 +67,7 @@ module ForemanMaintain::Scenarios
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def supported_version_check
|
70
|
-
if feature(:downstream
|
70
|
+
if feature(:instance).downstream && feature(:instance).downstream.less_than_version?('6.3')
|
71
71
|
msg = 'ERROR: Restore subcommand is supported by Satellite 6.3+. ' \
|
72
72
|
'Please use katello-restore instead.'
|
73
73
|
abort(msg)
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_2
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_2
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.1'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_2_z
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_2_z
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.2'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_3
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_3
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.2'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_3_z
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_3_z
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.3'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_4
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_4
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.3'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_4_z
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_4_z
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.4'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_5
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_5
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.4'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_5_z
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_5_z
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.5'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_6
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_6
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.5'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -4,7 +4,7 @@ module Scenarios::Satellite_6_6_z
|
|
4
4
|
metadata do
|
5
5
|
tags :upgrade_to_satellite_6_6_z
|
6
6
|
confine do
|
7
|
-
feature(:
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.6'
|
8
8
|
end
|
9
9
|
instance_eval(&block)
|
10
10
|
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Scenarios::Satellite_6_7
|
2
|
+
class Abstract < ForemanMaintain::Scenario
|
3
|
+
def self.upgrade_metadata(&block)
|
4
|
+
metadata do
|
5
|
+
tags :upgrade_to_satellite_6_7
|
6
|
+
confine do
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.6'
|
8
|
+
end
|
9
|
+
instance_eval(&block)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class PreUpgradeCheck < Abstract
|
15
|
+
upgrade_metadata do
|
16
|
+
description 'Checks before upgrading to Satellite 6.7'
|
17
|
+
tags :pre_upgrade_checks
|
18
|
+
run_strategy :fail_slow
|
19
|
+
end
|
20
|
+
|
21
|
+
def compose
|
22
|
+
add_steps(find_checks(:default))
|
23
|
+
add_steps(find_checks(:pre_upgrade))
|
24
|
+
add_step(Checks::Repositories::Validate.new(:version => '6.7'))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class PreMigrations < Abstract
|
29
|
+
upgrade_metadata do
|
30
|
+
description 'Procedures before migrating to Satellite 6.7'
|
31
|
+
tags :pre_migrations
|
32
|
+
end
|
33
|
+
|
34
|
+
def compose
|
35
|
+
add_steps(find_procedures(:pre_migrations))
|
36
|
+
add_step(Procedures::Service::Stop.new)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
class Migrations < Abstract
|
41
|
+
upgrade_metadata do
|
42
|
+
description 'Migration scripts to Satellite 6.7'
|
43
|
+
tags :migrations
|
44
|
+
end
|
45
|
+
|
46
|
+
def compose
|
47
|
+
add_step(Procedures::Repositories::Setup.new(:version => '6.7'))
|
48
|
+
add_step(Procedures::Packages::UnlockVersions.new)
|
49
|
+
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
+
add_step(Procedures::Installer::Upgrade.new)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class PostMigrations < Abstract
|
55
|
+
upgrade_metadata do
|
56
|
+
description 'Procedures after migrating to Satellite 6.7'
|
57
|
+
tags :post_migrations
|
58
|
+
end
|
59
|
+
|
60
|
+
def compose
|
61
|
+
add_step(Procedures::Service::Start.new)
|
62
|
+
add_steps(find_procedures(:post_migrations))
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
class PostUpgradeChecks < Abstract
|
67
|
+
upgrade_metadata do
|
68
|
+
description 'Checks after upgrading to Satellite 6.7'
|
69
|
+
tags :post_upgrade_checks
|
70
|
+
run_strategy :fail_slow
|
71
|
+
end
|
72
|
+
|
73
|
+
def compose
|
74
|
+
add_steps(find_checks(:default))
|
75
|
+
add_steps(find_checks(:post_upgrade))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
ForemanMaintain::UpgradeRunner.register_version('6.7', :upgrade_to_satellite_6_7)
|
@@ -0,0 +1,80 @@
|
|
1
|
+
module Scenarios::Satellite_6_7_z
|
2
|
+
class Abstract < ForemanMaintain::Scenario
|
3
|
+
def self.upgrade_metadata(&block)
|
4
|
+
metadata do
|
5
|
+
tags :upgrade_to_satellite_6_7_z
|
6
|
+
confine do
|
7
|
+
feature(:satellite) && feature(:satellite).current_minor_version == '6.7'
|
8
|
+
end
|
9
|
+
instance_eval(&block)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class PreUpgradeCheck < Abstract
|
15
|
+
upgrade_metadata do
|
16
|
+
description 'Checks before upgrading to Satellite 6.7.z'
|
17
|
+
tags :pre_upgrade_checks
|
18
|
+
run_strategy :fail_slow
|
19
|
+
end
|
20
|
+
|
21
|
+
def compose
|
22
|
+
add_steps(find_checks(:default))
|
23
|
+
add_steps(find_checks(:pre_upgrade))
|
24
|
+
add_step(Checks::Repositories::Validate.new(:version => '6.7'))
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
class PreMigrations < Abstract
|
29
|
+
upgrade_metadata do
|
30
|
+
description 'Procedures before migrating to Satellite 6.7.z'
|
31
|
+
tags :pre_migrations
|
32
|
+
end
|
33
|
+
|
34
|
+
def compose
|
35
|
+
add_steps(find_procedures(:pre_migrations))
|
36
|
+
add_step(Procedures::Service::Stop.new)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
class Migrations < Abstract
|
41
|
+
upgrade_metadata do
|
42
|
+
description 'Migration scripts to Satellite 6.7.z'
|
43
|
+
tags :migrations
|
44
|
+
end
|
45
|
+
|
46
|
+
def compose
|
47
|
+
add_step(Procedures::Repositories::Setup.new(:version => '6.7'))
|
48
|
+
add_step(Procedures::Packages::UnlockVersions.new)
|
49
|
+
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
+
add_step(Procedures::Installer::Upgrade.new)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class PostMigrations < Abstract
|
55
|
+
upgrade_metadata do
|
56
|
+
description 'Procedures after migrating to Satellite 6.7.z'
|
57
|
+
tags :post_migrations
|
58
|
+
end
|
59
|
+
|
60
|
+
def compose
|
61
|
+
add_step(Procedures::Service::Start.new)
|
62
|
+
add_steps(find_procedures(:post_migrations))
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
class PostUpgradeChecks < Abstract
|
67
|
+
upgrade_metadata do
|
68
|
+
description 'Checks after upgrading to Satellite 6.7.z'
|
69
|
+
tags :post_upgrade_checks
|
70
|
+
run_strategy :fail_slow
|
71
|
+
end
|
72
|
+
|
73
|
+
def compose
|
74
|
+
add_steps(find_checks(:default))
|
75
|
+
add_steps(find_checks(:post_upgrade))
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
ForemanMaintain::UpgradeRunner.register_version('6.7.z', :upgrade_to_satellite_6_7_z)
|
data/lib/foreman_maintain.rb
CHANGED
@@ -20,6 +20,7 @@ module ForemanMaintain
|
|
20
20
|
require 'foreman_maintain/concerns/hammer'
|
21
21
|
require 'foreman_maintain/concerns/base_database'
|
22
22
|
require 'foreman_maintain/concerns/directory_marker'
|
23
|
+
require 'foreman_maintain/concerns/downstream'
|
23
24
|
require 'foreman_maintain/top_level_modules'
|
24
25
|
require 'foreman_maintain/yaml_storage'
|
25
26
|
require 'foreman_maintain/config'
|
@@ -50,9 +50,10 @@ module ForemanMaintain
|
|
50
50
|
unless File.directory?(dir)
|
51
51
|
raise ArgumentError, "Previous backup directory does not exist: #{dir}"
|
52
52
|
end
|
53
|
+
|
53
54
|
dir
|
54
55
|
end
|
55
|
-
proxy_name = ForemanMaintain.detector.feature(:
|
56
|
+
proxy_name = ForemanMaintain.detector.feature(:capsule) ? 'Capsule' : 'Foreman Proxy'
|
56
57
|
option '--features', 'FEATURES',
|
57
58
|
"#{proxy_name} features to include in the backup. " \
|
58
59
|
'Valid features are tftp, dns, dhcp, openscap, and all.', :multivalued => true
|
@@ -135,7 +135,7 @@ module ForemanMaintain
|
|
135
135
|
|
136
136
|
def self.label_option
|
137
137
|
option '--label', 'label',
|
138
|
-
'
|
138
|
+
'Run only a specific check with a label. ' \
|
139
139
|
'(Use "list" command to see available labels)' do |label|
|
140
140
|
raise ArgumentError, 'value not specified' if label.nil? || label.empty?
|
141
141
|
underscorize(label).to_sym
|
@@ -144,7 +144,7 @@ module ForemanMaintain
|
|
144
144
|
|
145
145
|
def self.tags_option
|
146
146
|
option('--tags', 'tags',
|
147
|
-
'
|
147
|
+
'Run only those with all specific set of tags. ' \
|
148
148
|
'(Use list-tags command to see available tags)',
|
149
149
|
:multivalued => true) do |tags|
|
150
150
|
raise ArgumentError, 'value not specified' if tags.nil? || tags.empty?
|
@@ -0,0 +1,123 @@
|
|
1
|
+
module ForemanMaintain
|
2
|
+
module Concerns
|
3
|
+
module Downstream
|
4
|
+
def current_version
|
5
|
+
raise NotImplementedError
|
6
|
+
end
|
7
|
+
|
8
|
+
def less_than_version?(version)
|
9
|
+
Gem::Version.new(current_version) < Gem::Version.new(version)
|
10
|
+
end
|
11
|
+
|
12
|
+
def at_least_version?(version)
|
13
|
+
Gem::Version.new(current_version) >= Gem::Version.new(version)
|
14
|
+
end
|
15
|
+
|
16
|
+
def current_minor_version
|
17
|
+
current_version.to_s[/^\d+\.\d+/]
|
18
|
+
end
|
19
|
+
|
20
|
+
# TODO: Modify activation_key changes as per server
|
21
|
+
def setup_repositories(version)
|
22
|
+
activation_key = ENV['EXTERNAL_SAT_ACTIVATION_KEY']
|
23
|
+
org = ENV['EXTERNAL_SAT_ORG']
|
24
|
+
if activation_key
|
25
|
+
org_options = org ? %(--org #{shellescape(org)}) : ''
|
26
|
+
execute!(%(subscription-manager register #{org_options}\
|
27
|
+
--activationkey #{shellescape(activation_key)} --force))
|
28
|
+
else
|
29
|
+
execute!(%(subscription-manager repos --disable '*'))
|
30
|
+
enable_options = rh_repos(version).map { |r| "--enable=#{r}" }.join(' ')
|
31
|
+
execute!(%(subscription-manager repos #{enable_options}))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def absent_repos(version)
|
36
|
+
all_repo_lines = execute(%(LANG=en_US.utf-8 subscription-manager repos --list 2>&1 | ) +
|
37
|
+
%(grep '^Repo ID:')).split("\n")
|
38
|
+
all_repos = all_repo_lines.map { |line| line.split(/\s+/).last }
|
39
|
+
repos_required = rh_repos(version)
|
40
|
+
repos_found = repos_required & all_repos
|
41
|
+
repos_required - repos_found
|
42
|
+
end
|
43
|
+
|
44
|
+
def rhsm_refresh
|
45
|
+
execute!(%(subscription-manager refresh))
|
46
|
+
end
|
47
|
+
|
48
|
+
# TODO: Verify this is valid for capsule?
|
49
|
+
def subscribed_using_activation_key?
|
50
|
+
ENV['EXTERNAL_SAT_ACTIVATION_KEY'] && ENV['EXTERNAL_SAT_ORG']
|
51
|
+
end
|
52
|
+
|
53
|
+
def package_name
|
54
|
+
raise NotImplementedError
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def rh_repos(server_version)
|
60
|
+
server_version = version(server_version)
|
61
|
+
rh_version_major = ForemanMaintain::Utils::Facter.os_major_release
|
62
|
+
rh_repos = main_rh_repos(rh_version_major)
|
63
|
+
|
64
|
+
server_version_full = "#{server_version.major}.#{server_version.minor}"
|
65
|
+
rh_repos.concat(product_specific_repos(rh_version_major, server_version_full))
|
66
|
+
|
67
|
+
if server_version > version('6.3')
|
68
|
+
rh_repos << ansible_repo(server_version, rh_version_major)
|
69
|
+
end
|
70
|
+
|
71
|
+
rh_repos
|
72
|
+
end
|
73
|
+
|
74
|
+
def ansible_repo(server_version, rh_version_major)
|
75
|
+
if server_version >= version('6.6')
|
76
|
+
"rhel-#{rh_version_major}-server-ansible-2.8-rpms"
|
77
|
+
elsif server_version >= version('6.4')
|
78
|
+
"rhel-#{rh_version_major}-server-ansible-2.6-rpms"
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
# TODO: refactoring
|
83
|
+
def product_specific_repos(rh_version_major, full_version)
|
84
|
+
repos = []
|
85
|
+
repos << if ENV['FOREMAN_MAINTAIN_USE_BETA'] == '1'
|
86
|
+
"rhel-server-#{rh_version_major}-#{package_name}-6-beta-rpms"
|
87
|
+
else
|
88
|
+
"rhel-#{rh_version_major}-server-#{package_name}-#{full_version}-rpms"
|
89
|
+
end
|
90
|
+
|
91
|
+
if current_minor_version == '6.3' && server_version.to_s != '6.4' && (
|
92
|
+
feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4)
|
93
|
+
# TODO: confirm repo for capsule. It might be same repo
|
94
|
+
repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms"
|
95
|
+
end
|
96
|
+
|
97
|
+
repos.concat(common_repos(rh_version_major, full_version))
|
98
|
+
end
|
99
|
+
|
100
|
+
def common_repos(rh_version_major, full_version)
|
101
|
+
tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-#{full_version}-rpms"
|
102
|
+
maintenance_repo_id = "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms"
|
103
|
+
|
104
|
+
# Override to use Beta repositories for sat version until GA
|
105
|
+
if ENV['FOREMAN_MAINTAIN_USE_BETA'] == '1'
|
106
|
+
tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-6-beta-rpms"
|
107
|
+
maintenance_repo_id = "rhel-#{rh_version_major}-server-satellite-maintenance-6-beta-rpms"
|
108
|
+
end
|
109
|
+
|
110
|
+
[tools_repo_id, maintenance_repo_id]
|
111
|
+
end
|
112
|
+
|
113
|
+
def main_rh_repos(rh_version_major)
|
114
|
+
["rhel-#{rh_version_major}-server-rpms",
|
115
|
+
"rhel-server-rhscl-#{rh_version_major}-rpms"]
|
116
|
+
end
|
117
|
+
|
118
|
+
def version_from_source
|
119
|
+
raise NotImplementedError
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
end
|
@@ -44,11 +44,6 @@ module ForemanMaintain
|
|
44
44
|
end
|
45
45
|
end
|
46
46
|
|
47
|
-
def downstream_installation?
|
48
|
-
execute?('rpm -q satellite') ||
|
49
|
-
(execute('rpm -q foreman') =~ /sat.noarch/)
|
50
|
-
end
|
51
|
-
|
52
47
|
def execute?(command, options = {})
|
53
48
|
execute(command, options)
|
54
49
|
$CHILD_STATUS.success?
|
@@ -101,10 +96,6 @@ module ForemanMaintain
|
|
101
96
|
find_package('foreman')
|
102
97
|
end
|
103
98
|
|
104
|
-
def smart_proxy?
|
105
|
-
!server? && find_package('foreman-proxy')
|
106
|
-
end
|
107
|
-
|
108
99
|
def packages_action(action, packages, options = {})
|
109
100
|
options.validate_options!(:assumeyes)
|
110
101
|
case action
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_maintain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
@@ -157,8 +157,8 @@ files:
|
|
157
157
|
- definitions/checks/yum_exclude.rb
|
158
158
|
- definitions/features/candlepin.rb
|
159
159
|
- definitions/features/candlepin_database.rb
|
160
|
+
- definitions/features/capsule.rb
|
160
161
|
- definitions/features/cron.rb
|
161
|
-
- definitions/features/downstream.rb
|
162
162
|
- definitions/features/foreman_1_11_x.rb
|
163
163
|
- definitions/features/foreman_1_7_x.rb
|
164
164
|
- definitions/features/foreman_database.rb
|
@@ -176,6 +176,7 @@ files:
|
|
176
176
|
- definitions/features/package_manager.rb
|
177
177
|
- definitions/features/pulp.rb
|
178
178
|
- definitions/features/puppet_server.rb
|
179
|
+
- definitions/features/satellite.rb
|
179
180
|
- definitions/features/service.rb
|
180
181
|
- definitions/features/sync_plans.rb
|
181
182
|
- definitions/features/system_repos.rb
|
@@ -276,6 +277,8 @@ files:
|
|
276
277
|
- definitions/scenarios/upgrade_to_satellite_6_5_z.rb
|
277
278
|
- definitions/scenarios/upgrade_to_satellite_6_6.rb
|
278
279
|
- definitions/scenarios/upgrade_to_satellite_6_6_z.rb
|
280
|
+
- definitions/scenarios/upgrade_to_satellite_6_7.rb
|
281
|
+
- definitions/scenarios/upgrade_to_satellite_6_7_z.rb
|
279
282
|
- extras/foreman-maintain.sh
|
280
283
|
- extras/foreman_protector/foreman-protector.conf
|
281
284
|
- extras/foreman_protector/foreman-protector.py
|
@@ -302,6 +305,7 @@ files:
|
|
302
305
|
- lib/foreman_maintain/cli/upgrade_command.rb
|
303
306
|
- lib/foreman_maintain/concerns/base_database.rb
|
304
307
|
- lib/foreman_maintain/concerns/directory_marker.rb
|
308
|
+
- lib/foreman_maintain/concerns/downstream.rb
|
305
309
|
- lib/foreman_maintain/concerns/finders.rb
|
306
310
|
- lib/foreman_maintain/concerns/hammer.rb
|
307
311
|
- lib/foreman_maintain/concerns/logger.rb
|
@@ -1,111 +0,0 @@
|
|
1
|
-
class Features::Downstream < ForemanMaintain::Feature
|
2
|
-
metadata do
|
3
|
-
label :downstream
|
4
|
-
|
5
|
-
confine do
|
6
|
-
downstream_installation?
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
def less_than_version?(version)
|
11
|
-
Gem::Version.new(current_version) < Gem::Version.new(version)
|
12
|
-
end
|
13
|
-
|
14
|
-
def at_least_version?(version)
|
15
|
-
Gem::Version.new(current_version) >= Gem::Version.new(version)
|
16
|
-
end
|
17
|
-
|
18
|
-
def current_version
|
19
|
-
@current_version ||= rpm_version('satellite') || version_from_source
|
20
|
-
end
|
21
|
-
|
22
|
-
def current_minor_version
|
23
|
-
current_version.to_s[/^\d+\.\d+/]
|
24
|
-
end
|
25
|
-
|
26
|
-
def setup_repositories(version)
|
27
|
-
activation_key = ENV['EXTERNAL_SAT_ACTIVATION_KEY']
|
28
|
-
org = ENV['EXTERNAL_SAT_ORG']
|
29
|
-
if activation_key
|
30
|
-
org_options = org ? %(--org #{shellescape(org)}) : ''
|
31
|
-
execute!(%(subscription-manager register #{org_options}\
|
32
|
-
--activationkey #{shellescape(activation_key)} --force))
|
33
|
-
else
|
34
|
-
execute!(%(subscription-manager repos --disable '*'))
|
35
|
-
enable_options = rh_repos(version).map { |r| "--enable=#{r}" }.join(' ')
|
36
|
-
execute!(%(subscription-manager repos #{enable_options}))
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def absent_repos(version)
|
41
|
-
all_repo_lines = execute(%(LANG=en_US.utf-8 subscription-manager repos --list 2>&1 | ) +
|
42
|
-
%(grep '^Repo ID:')).split("\n")
|
43
|
-
all_repos = all_repo_lines.map { |line| line.split(/\s+/).last }
|
44
|
-
repos_required = rh_repos(version)
|
45
|
-
repos_found = repos_required & all_repos
|
46
|
-
repos_required - repos_found
|
47
|
-
end
|
48
|
-
|
49
|
-
def rhsm_refresh
|
50
|
-
execute!(%(subscription-manager refresh))
|
51
|
-
end
|
52
|
-
|
53
|
-
def subscribed_using_activation_key?
|
54
|
-
ENV['EXTERNAL_SAT_ACTIVATION_KEY'] && ENV['EXTERNAL_SAT_ORG']
|
55
|
-
end
|
56
|
-
|
57
|
-
private
|
58
|
-
|
59
|
-
def rh_repos(sat_version)
|
60
|
-
sat_version = version(sat_version)
|
61
|
-
rh_version_major = ForemanMaintain::Utils::Facter.os_major_release
|
62
|
-
|
63
|
-
rh_repos = main_rh_repos(rh_version_major)
|
64
|
-
|
65
|
-
rh_repos.concat(sat_and_tools_repos(rh_version_major, sat_version))
|
66
|
-
|
67
|
-
if sat_version > version('6.3')
|
68
|
-
rh_repos << ansible_repo(sat_version, rh_version_major)
|
69
|
-
end
|
70
|
-
|
71
|
-
if current_minor_version == '6.3' && sat_version.to_s != '6.4' && (
|
72
|
-
feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4)
|
73
|
-
rh_repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms"
|
74
|
-
end
|
75
|
-
|
76
|
-
rh_repos
|
77
|
-
end
|
78
|
-
|
79
|
-
def ansible_repo(sat_version, rh_version_major)
|
80
|
-
if sat_version >= version('6.6')
|
81
|
-
"rhel-#{rh_version_major}-server-ansible-2.8-rpms"
|
82
|
-
elsif sat_version >= version('6.4')
|
83
|
-
"rhel-#{rh_version_major}-server-ansible-2.6-rpms"
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def sat_and_tools_repos(rh_version_major, sat_version)
|
88
|
-
sat_version_full = "#{sat_version.major}.#{sat_version.minor}"
|
89
|
-
sat_repo_id = "rhel-#{rh_version_major}-server-satellite-#{sat_version_full}-rpms"
|
90
|
-
sat_tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-#{sat_version_full}-rpms"
|
91
|
-
sat_maintenance_repo_id = "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms"
|
92
|
-
|
93
|
-
# Override to use Beta repositories for sat version until GA
|
94
|
-
if ENV['FOREMAN_MAINTAIN_USE_BETA'] == '1'
|
95
|
-
sat_repo_id = "rhel-server-#{rh_version_major}-satellite-6-beta-rpms"
|
96
|
-
sat_tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-6-beta-rpms"
|
97
|
-
sat_maintenance_repo_id = "rhel-#{rh_version_major}-server-satellite-maintenance-6-beta-rpms"
|
98
|
-
end
|
99
|
-
|
100
|
-
[sat_repo_id, sat_tools_repo_id, sat_maintenance_repo_id]
|
101
|
-
end
|
102
|
-
|
103
|
-
def main_rh_repos(rh_version_major)
|
104
|
-
["rhel-#{rh_version_major}-server-rpms",
|
105
|
-
"rhel-server-rhscl-#{rh_version_major}-rpms"]
|
106
|
-
end
|
107
|
-
|
108
|
-
def version_from_source
|
109
|
-
version(File.read('/usr/share/foreman/lib/satellite/version.rb')[/6\.\d\.\d/])
|
110
|
-
end
|
111
|
-
end
|