foreman_maintain 0.6.2 → 0.6.7
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 +4 -0
- data/definitions/checks/check_hotfix_installed.rb +2 -1
- data/definitions/checks/disk/performance.rb +24 -9
- data/definitions/checks/env_proxy.rb +13 -0
- data/definitions/checks/foreman/check_corrupted_roles.rb +14 -2
- data/definitions/checks/foreman/validate_external_db_version.rb +28 -0
- data/definitions/checks/foreman_proxy/check_tftp_storage.rb +52 -0
- data/definitions/checks/original_assets.rb +1 -0
- data/definitions/checks/repositories/check_non_rh_repository.rb +23 -0
- data/definitions/checks/repositories/check_upstream_repository.rb +2 -1
- data/definitions/checks/repositories/validate.rb +2 -1
- data/definitions/features/apache.rb +19 -0
- data/definitions/features/capsule.rb +2 -1
- data/definitions/features/dynflow_sidekiq.rb +1 -1
- data/definitions/features/foreman_proxy.rb +30 -5
- data/definitions/features/foreman_server.rb +10 -4
- data/definitions/features/installer.rb +9 -2
- data/definitions/features/puppet_server.rb +6 -2
- data/definitions/features/service.rb +10 -3
- data/definitions/procedures/backup/metadata.rb +2 -0
- data/definitions/procedures/content/prepare.rb +1 -1
- data/definitions/procedures/content/switchover.rb +9 -4
- data/definitions/procedures/hammer_setup.rb +1 -1
- data/definitions/procedures/installer/run.rb +3 -1
- data/definitions/procedures/installer/upgrade.rb +6 -1
- data/definitions/procedures/packages/update.rb +1 -1
- data/definitions/procedures/restore/configs.rb +6 -0
- data/definitions/procedures/restore/regenerate_queues.rb +69 -0
- data/definitions/procedures/service/stop.rb +1 -1
- data/definitions/scenarios/backup.rb +1 -0
- data/definitions/scenarios/content.rb +27 -0
- data/definitions/scenarios/packages.rb +39 -16
- data/definitions/scenarios/restore.rb +17 -2
- data/definitions/scenarios/upgrade_to_capsule_6_8.rb +88 -0
- data/definitions/scenarios/upgrade_to_capsule_6_8_z.rb +88 -0
- data/definitions/scenarios/upgrade_to_satellite_6_2.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_2_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_3.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_3_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_4.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_4_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_5.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_5_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_6.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_6_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_7.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_7_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_8.rb +88 -0
- data/definitions/scenarios/upgrade_to_satellite_6_8_z.rb +88 -0
- data/lib/foreman_maintain.rb +31 -0
- data/lib/foreman_maintain/cli.rb +2 -0
- data/lib/foreman_maintain/cli/content_command.rb +17 -0
- data/lib/foreman_maintain/cli/restore_command.rb +2 -1
- data/lib/foreman_maintain/cli/upgrade_command.rb +10 -0
- data/lib/foreman_maintain/concerns/base_database.rb +11 -0
- data/lib/foreman_maintain/concerns/downstream.rb +10 -10
- data/lib/foreman_maintain/package_manager/dnf.rb +11 -5
- data/lib/foreman_maintain/package_manager/yum.rb +15 -5
- data/lib/foreman_maintain/reporter/cli_reporter.rb +3 -3
- data/lib/foreman_maintain/upgrade_runner.rb +20 -26
- data/lib/foreman_maintain/utils/backup.rb +4 -0
- data/lib/foreman_maintain/utils/facter.rb +1 -1
- data/lib/foreman_maintain/utils/service/abstract.rb +6 -0
- data/lib/foreman_maintain/version.rb +1 -1
- metadata +15 -4
- data/definitions/checks/check_epel_repository.rb +0 -21
@@ -87,8 +87,7 @@ module ForemanMaintain
|
|
87
87
|
else
|
88
88
|
"rhel-#{rh_version_major}-server-#{package_name}-#{full_version}-rpms"
|
89
89
|
end
|
90
|
-
|
91
|
-
if current_minor_version == '6.3' && server_version.to_s != '6.4' && (
|
90
|
+
if current_minor_version == '6.3' && full_version.to_s != '6.4' && (
|
92
91
|
feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4)
|
93
92
|
# TODO: confirm repo for capsule. It might be same repo
|
94
93
|
repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms"
|
@@ -98,16 +97,17 @@ module ForemanMaintain
|
|
98
97
|
end
|
99
98
|
|
100
99
|
def common_repos(rh_version_major, full_version)
|
101
|
-
|
102
|
-
|
100
|
+
repos_arrary = if ENV['FOREMAN_MAINTAIN_USE_BETA'] == '1'
|
101
|
+
["rhel-#{rh_version_major}-server-satellite-maintenance-6-beta-rpms",
|
102
|
+
"rhel-#{rh_version_major}-server-satellite-tools-6-beta-rpms"]
|
103
|
+
else
|
104
|
+
["rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms",
|
105
|
+
"rhel-#{rh_version_major}-server-satellite-tools-#{full_version}-rpms"]
|
106
|
+
end
|
103
107
|
|
104
|
-
|
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
|
108
|
+
return repos_arrary.first(1) if feature(:capsule)
|
109
109
|
|
110
|
-
|
110
|
+
repos_arrary
|
111
111
|
end
|
112
112
|
|
113
113
|
def main_rh_repos(rh_version_major)
|
@@ -1,17 +1,23 @@
|
|
1
1
|
module ForemanMaintain::PackageManager
|
2
2
|
class Dnf < Yum
|
3
|
-
def clean_cache
|
4
|
-
dnf_action('clean', 'all')
|
3
|
+
def clean_cache(assumeyes: false)
|
4
|
+
dnf_action('clean', 'all', :assumeyes => assumeyes)
|
5
5
|
super
|
6
6
|
end
|
7
7
|
|
8
8
|
private
|
9
9
|
|
10
|
-
def dnf_action(action, packages, assumeyes: false)
|
10
|
+
def dnf_action(action, packages, with_status: false, assumeyes: false)
|
11
11
|
yum_options = []
|
12
12
|
yum_options << '-y' if assumeyes
|
13
|
-
|
14
|
-
|
13
|
+
if with_status
|
14
|
+
sys.execute_with_status("dnf #{yum_options.join(' ')} #{action} #{packages.join(' ')}",
|
15
|
+
:interactive => !assumeyes)
|
16
|
+
else
|
17
|
+
sys.execute!("dnf #{yum_options.join(' ')} #{action} #{packages.join(' ')}",
|
18
|
+
:interactive => !assumeyes)
|
19
|
+
|
20
|
+
end
|
15
21
|
end
|
16
22
|
end
|
17
23
|
end
|
@@ -57,8 +57,13 @@ module ForemanMaintain::PackageManager
|
|
57
57
|
yum_action('update', packages, :assumeyes => assumeyes)
|
58
58
|
end
|
59
59
|
|
60
|
-
def clean_cache
|
61
|
-
yum_action('clean', 'all')
|
60
|
+
def clean_cache(assumeyes: false)
|
61
|
+
yum_action('clean', 'all', :assumeyes => assumeyes)
|
62
|
+
end
|
63
|
+
|
64
|
+
def update_available?(package)
|
65
|
+
cmd_output = yum_action('check-update -q', package, :with_status => true, :assumeyes => false)
|
66
|
+
cmd_output[0] == 100
|
62
67
|
end
|
63
68
|
|
64
69
|
def files_not_owned_by_package(directory)
|
@@ -96,14 +101,19 @@ module ForemanMaintain::PackageManager
|
|
96
101
|
File.open(protector_config_file, 'w') { |file| file.puts config }
|
97
102
|
end
|
98
103
|
|
99
|
-
def yum_action(action, packages, assumeyes: false)
|
104
|
+
def yum_action(action, packages, with_status: false, assumeyes: false)
|
100
105
|
yum_options = []
|
101
106
|
packages = [packages].flatten(1)
|
102
107
|
yum_options << '-y' if assumeyes
|
103
108
|
yum_options_s = yum_options.empty? ? '' : ' ' + yum_options.join(' ')
|
104
109
|
packages_s = packages.empty? ? '' : ' ' + packages.join(' ')
|
105
|
-
|
106
|
-
|
110
|
+
if with_status
|
111
|
+
sys.execute_with_status("yum#{yum_options_s} #{action}#{packages_s}",
|
112
|
+
:interactive => !assumeyes)
|
113
|
+
else
|
114
|
+
sys.execute!("yum#{yum_options_s} #{action}#{packages_s}",
|
115
|
+
:interactive => !assumeyes)
|
116
|
+
end
|
107
117
|
end
|
108
118
|
|
109
119
|
def install_extras(src, dest, override: false)
|
@@ -16,7 +16,6 @@ module ForemanMaintain
|
|
16
16
|
@spinner_chars = %w[| / - \\]
|
17
17
|
@current_line = ''
|
18
18
|
@puts_needed = false
|
19
|
-
start_spinner
|
20
19
|
end
|
21
20
|
|
22
21
|
def update(line)
|
@@ -42,8 +41,6 @@ module ForemanMaintain
|
|
42
41
|
end
|
43
42
|
end
|
44
43
|
|
45
|
-
private
|
46
|
-
|
47
44
|
def start_spinner
|
48
45
|
@thread = Thread.new do
|
49
46
|
loop do
|
@@ -53,6 +50,8 @@ module ForemanMaintain
|
|
53
50
|
end
|
54
51
|
end
|
55
52
|
|
53
|
+
private
|
54
|
+
|
56
55
|
def spin
|
57
56
|
@mutex.synchronize do
|
58
57
|
return unless @active
|
@@ -80,6 +79,7 @@ module ForemanMaintain
|
|
80
79
|
@line_char = '-'
|
81
80
|
@cell_char = '|'
|
82
81
|
@spinner = Spinner.new(self)
|
82
|
+
@spinner.start_spinner if @stdout.tty?
|
83
83
|
@last_line = ''
|
84
84
|
end
|
85
85
|
|
@@ -15,29 +15,8 @@ module ForemanMaintain
|
|
15
15
|
def available_targets
|
16
16
|
# when some upgrade is in progress, we don't allow upgrade to different version
|
17
17
|
return [current_target_version] if current_target_version
|
18
|
-
versions_to_tags.inject([]) do |available_targets, (version, tag)|
|
19
|
-
if !find_scenarios(:tags => [tag]).empty?
|
20
|
-
available_targets << version
|
21
|
-
else
|
22
|
-
available_targets
|
23
|
-
end
|
24
|
-
end.sort
|
25
|
-
end
|
26
|
-
|
27
|
-
def versions_to_tags
|
28
|
-
@versions_to_tags ||= {}
|
29
|
-
end
|
30
|
-
|
31
|
-
# registers target version to specific tag
|
32
|
-
def register_version(version, tag)
|
33
|
-
if versions_to_tags.key?(version) && versions_to_tags[version] != tag
|
34
|
-
raise "Version #{version} already registered to tag #{versions_to_tags[version]}"
|
35
|
-
end
|
36
|
-
@versions_to_tags[version] = tag
|
37
|
-
end
|
38
18
|
|
39
|
-
|
40
|
-
versions_to_tags.clear
|
19
|
+
find_scenarios(:tags => :upgrade_scenario).map(&:target_version).uniq.sort
|
41
20
|
end
|
42
21
|
|
43
22
|
def current_target_version
|
@@ -57,25 +36,35 @@ module ForemanMaintain
|
|
57
36
|
|
58
37
|
def initialize(version, reporter, options = {})
|
59
38
|
super(reporter, [], options)
|
60
|
-
@tag = self.class.versions_to_tags[version]
|
61
|
-
raise "Unknown version #{version}" unless tag
|
62
39
|
@version = version
|
40
|
+
scenarios_present = find_scenarios(:tags => :upgrade_scenario).any?(&matching_version_test)
|
41
|
+
raise "Unknown version #{version}" unless scenarios_present
|
42
|
+
|
63
43
|
@scenario_cache = {}
|
64
44
|
self.phase = :pre_upgrade_checks
|
65
45
|
end
|
66
46
|
|
67
47
|
def scenario(phase)
|
68
48
|
return @scenario_cache[phase] if @scenario_cache.key?(phase)
|
69
|
-
|
70
|
-
|
49
|
+
|
50
|
+
condition = { :tags => [:upgrade_scenario, phase] }
|
51
|
+
matching_scenarios = find_scenarios(condition).select(&matching_version_test)
|
71
52
|
raise "Too many scenarios match #{condition.inspect}" if matching_scenarios.size > 1
|
53
|
+
|
72
54
|
@scenario_cache[phase] = matching_scenarios.first
|
73
55
|
end
|
74
56
|
|
57
|
+
def matching_version_test
|
58
|
+
proc do |scenario|
|
59
|
+
scenario.respond_to?(:target_version) && scenario.target_version == @version
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
75
63
|
def run
|
76
64
|
self.class.current_target_version = @version
|
77
65
|
PHASES.each do |phase|
|
78
66
|
return run_rollback if quit?
|
67
|
+
|
79
68
|
if skip?(phase)
|
80
69
|
skip_phase(phase)
|
81
70
|
else
|
@@ -127,6 +116,7 @@ module ForemanMaintain
|
|
127
116
|
# deserializes the state of the run from the storage
|
128
117
|
def load
|
129
118
|
return unless storage[:serialized]
|
119
|
+
|
130
120
|
load_from_hash(storage[:serialized])
|
131
121
|
end
|
132
122
|
|
@@ -134,6 +124,7 @@ module ForemanMaintain
|
|
134
124
|
with_non_empty_scenario(phase) do |scenario|
|
135
125
|
confirm_scenario(scenario)
|
136
126
|
return if quit?
|
127
|
+
|
137
128
|
self.phase = phase
|
138
129
|
run_scenario(scenario)
|
139
130
|
# if we started from the :pre_upgrade_checks, ensure to ask before
|
@@ -158,6 +149,7 @@ module ForemanMaintain
|
|
158
149
|
# rubocop:disable Metrics/MethodLength
|
159
150
|
def rollback_pre_migrations
|
160
151
|
raise "Unexpected phase #{phase}, expecting pre_migrations" unless phase == :pre_migrations
|
152
|
+
|
161
153
|
rollback_needed = scenario(:pre_migrations).steps.any? { |s| s.executed? && s.success? }
|
162
154
|
if rollback_needed
|
163
155
|
@quit = false
|
@@ -198,6 +190,7 @@ module ForemanMaintain
|
|
198
190
|
unless @scenario_cache.empty?
|
199
191
|
raise "Some scenarios are already initialized: #{@scenario_cache.keys}"
|
200
192
|
end
|
193
|
+
|
201
194
|
self.phase = hash[:phase]
|
202
195
|
hash[:scenarios].each do |key, scenario_hash|
|
203
196
|
@scenario_cache[key] = Scenario.new_from_hash(scenario_hash)
|
@@ -229,6 +222,7 @@ module ForemanMaintain
|
|
229
222
|
|
230
223
|
def phase=(phase)
|
231
224
|
raise "Unknown phase #{phase}" unless PHASES.include?(phase)
|
225
|
+
|
232
226
|
@phase = phase
|
233
227
|
end
|
234
228
|
end
|
@@ -5,7 +5,7 @@ module ForemanMaintain::Utils
|
|
5
5
|
FACTER_FILES = %w[/usr/bin/facter /opt/puppetlabs/bin/facter].freeze
|
6
6
|
|
7
7
|
def self.package
|
8
|
-
puppet_version = version(execute!('puppet --version'))
|
8
|
+
puppet_version = version(execute!('/opt/puppetlabs/bin/puppet --version'))
|
9
9
|
|
10
10
|
puppet_version.major >= 4 ? 'puppet-agent' : 'facter'
|
11
11
|
end
|
@@ -10,6 +10,12 @@ module ForemanMaintain::Utils
|
|
10
10
|
@options = options
|
11
11
|
end
|
12
12
|
|
13
|
+
def socket
|
14
|
+
if @options[:socket]
|
15
|
+
self.class.new("#{@options[:socket]}.socket", priority)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
13
19
|
def <=>(other)
|
14
20
|
prio_cmp = @priority <=> other.priority
|
15
21
|
prio_cmp == 0 ? @name <=> other.name : prio_cmp
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_maintain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clamp
|
@@ -122,17 +122,19 @@ files:
|
|
122
122
|
- definitions/checks/backup/directory_ready.rb
|
123
123
|
- definitions/checks/candlepin/db_up.rb
|
124
124
|
- definitions/checks/candlepin/validate_db.rb
|
125
|
-
- definitions/checks/check_epel_repository.rb
|
126
125
|
- definitions/checks/check_hotfix_installed.rb
|
127
126
|
- definitions/checks/check_tmout.rb
|
128
127
|
- definitions/checks/disk/available_space.rb
|
129
128
|
- definitions/checks/disk/performance.rb
|
129
|
+
- definitions/checks/env_proxy.rb
|
130
130
|
- definitions/checks/foreman/check_corrupted_roles.rb
|
131
131
|
- definitions/checks/foreman/check_duplicate_roles.rb
|
132
132
|
- definitions/checks/foreman/db_up.rb
|
133
133
|
- definitions/checks/foreman/facts_names.rb
|
134
134
|
- definitions/checks/foreman/puppet_class_duplicates.rb
|
135
|
+
- definitions/checks/foreman/validate_external_db_version.rb
|
135
136
|
- definitions/checks/foreman_openscap/invalid_report_associations.rb
|
137
|
+
- definitions/checks/foreman_proxy/check_tftp_storage.rb
|
136
138
|
- definitions/checks/foreman_proxy/verify_dhcp_config_syntax.rb
|
137
139
|
- definitions/checks/foreman_tasks/invalid/check_old.rb
|
138
140
|
- definitions/checks/foreman_tasks/invalid/check_pending_state.rb
|
@@ -147,6 +149,7 @@ files:
|
|
147
149
|
- definitions/checks/puppet/provide_upgrade_guide.rb
|
148
150
|
- definitions/checks/puppet/verify_no_empty_cacert_requests.rb
|
149
151
|
- definitions/checks/remote_execution/verify_settings_file_already_exists.rb
|
152
|
+
- definitions/checks/repositories/check_non_rh_repository.rb
|
150
153
|
- definitions/checks/repositories/check_upstream_repository.rb
|
151
154
|
- definitions/checks/repositories/validate.rb
|
152
155
|
- definitions/checks/restore/validate_backup.rb
|
@@ -157,6 +160,7 @@ files:
|
|
157
160
|
- definitions/checks/system_registration.rb
|
158
161
|
- definitions/checks/version_locking_enabled.rb
|
159
162
|
- definitions/checks/yum_exclude.rb
|
163
|
+
- definitions/features/apache.rb
|
160
164
|
- definitions/features/candlepin.rb
|
161
165
|
- definitions/features/candlepin_database.rb
|
162
166
|
- definitions/features/capsule.rb
|
@@ -263,6 +267,7 @@ files:
|
|
263
267
|
- definitions/procedures/restore/pg_global_objects.rb
|
264
268
|
- definitions/procedures/restore/postgres_owner.rb
|
265
269
|
- definitions/procedures/restore/pulpcore_dump.rb
|
270
|
+
- definitions/procedures/restore/regenerate_queues.rb
|
266
271
|
- definitions/procedures/selinux/set_file_security.rb
|
267
272
|
- definitions/procedures/service/base.rb
|
268
273
|
- definitions/procedures/service/daemon_reload.rb
|
@@ -276,10 +281,13 @@ files:
|
|
276
281
|
- definitions/procedures/sync_plans/disable.rb
|
277
282
|
- definitions/procedures/sync_plans/enable.rb
|
278
283
|
- definitions/scenarios/backup.rb
|
284
|
+
- definitions/scenarios/content.rb
|
279
285
|
- definitions/scenarios/maintenance_mode.rb
|
280
286
|
- definitions/scenarios/packages.rb
|
281
287
|
- definitions/scenarios/restore.rb
|
282
288
|
- definitions/scenarios/services.rb
|
289
|
+
- definitions/scenarios/upgrade_to_capsule_6_8.rb
|
290
|
+
- definitions/scenarios/upgrade_to_capsule_6_8_z.rb
|
283
291
|
- definitions/scenarios/upgrade_to_satellite_6_2.rb
|
284
292
|
- definitions/scenarios/upgrade_to_satellite_6_2_z.rb
|
285
293
|
- definitions/scenarios/upgrade_to_satellite_6_3.rb
|
@@ -292,6 +300,8 @@ files:
|
|
292
300
|
- definitions/scenarios/upgrade_to_satellite_6_6_z.rb
|
293
301
|
- definitions/scenarios/upgrade_to_satellite_6_7.rb
|
294
302
|
- definitions/scenarios/upgrade_to_satellite_6_7_z.rb
|
303
|
+
- definitions/scenarios/upgrade_to_satellite_6_8.rb
|
304
|
+
- definitions/scenarios/upgrade_to_satellite_6_8_z.rb
|
295
305
|
- extras/foreman-maintain.sh
|
296
306
|
- extras/foreman_protector/foreman-protector.conf
|
297
307
|
- extras/foreman_protector/foreman-protector.py
|
@@ -309,6 +319,7 @@ files:
|
|
309
319
|
- lib/foreman_maintain/cli/advanced_command.rb
|
310
320
|
- lib/foreman_maintain/cli/backup_command.rb
|
311
321
|
- lib/foreman_maintain/cli/base.rb
|
322
|
+
- lib/foreman_maintain/cli/content_command.rb
|
312
323
|
- lib/foreman_maintain/cli/health_command.rb
|
313
324
|
- lib/foreman_maintain/cli/maintenance_mode_command.rb
|
314
325
|
- lib/foreman_maintain/cli/packages_command.rb
|
@@ -390,7 +401,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
390
401
|
- !ruby/object:Gem::Version
|
391
402
|
version: '0'
|
392
403
|
requirements: []
|
393
|
-
rubygems_version: 3.0.
|
404
|
+
rubygems_version: 3.0.8
|
394
405
|
signing_key:
|
395
406
|
specification_version: 4
|
396
407
|
summary: Foreman maintenance tool belt
|
@@ -1,21 +0,0 @@
|
|
1
|
-
class Checks::CheckEpelRepository < ForemanMaintain::Check
|
2
|
-
metadata do
|
3
|
-
label :check_epel_repository
|
4
|
-
description 'Check if EPEL repository enabled on system'
|
5
|
-
tags :pre_upgrade
|
6
|
-
confine do
|
7
|
-
feature(:instance).downstream
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def run
|
12
|
-
with_spinner('Checking for presence of EPEL repository') do
|
13
|
-
assert(!epel_enabled?, 'System is subscribed to EPEL repository')
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def epel_enabled?
|
18
|
-
system_repos = execute("yum repolist enabled -d 6 -e 0| grep -E 'Repo-baseurl|Repo-id'")
|
19
|
-
system_repos.to_s.match(/\bepel\b/i)
|
20
|
-
end
|
21
|
-
end
|