foreman_maintain 0.4.10 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|