foreman_maintain 0.9.2 → 0.9.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 55215ac64deedb1ab1aafcef2f6b28392b48952a9f0923be2f95706aaa26d6b4
4
- data.tar.gz: 0cadfaad877d10e17658ed3650ba483a8e7b8fdd9e898d383ee3871bf88ba498
3
+ metadata.gz: dcef2fd68b963d566c30be2531b1f09bf71da02eb8cd06e2c280f9d4a6222fc0
4
+ data.tar.gz: 5a1448015d72fe8e8ae19c73eff430b13387c699689a5dbbdd0b73bbbe49c9f0
5
5
  SHA512:
6
- metadata.gz: 1b2dbeddc647b557a0196fcea8e290e29a17e92a8ab38cee7acccbc165318bdd48cc43312232f928a30a2637dc290fd629fd07cfa27cdcb1808eb70b9903b261
7
- data.tar.gz: 7dc280857da4485c5312d7b5047a94f1e0084da1c7e798964d2d66d7068daaced1268d34fcda1033e4fd73a6bd8caec8fa6450da7e5fb52f81866abb58bc0e04
6
+ metadata.gz: 348bedd61056cffd63610b9a91d0e8c2a31e3012ec0e41880e05195ae840a61bd14c7d84ea23715cae771272f555b95f05085e4fb1fefc01a4f1a1f84880648d
7
+ data.tar.gz: 76f1871c0edb9671ec0a45fec272afed10ae05bb9ebab4b92ecc3f7960bb1a7625b9267eba032fb6335fac1e8cc32116047e87dab109fb8745ce37e212399768
@@ -0,0 +1,43 @@
1
+ module Checks
2
+ class CheckPuppetCapsules < ForemanMaintain::Check
3
+ metadata do
4
+ label :puppet_capsules
5
+ for_feature :foreman_database
6
+ description 'Check for Puppet capsules from the database'
7
+ manual_detection
8
+ end
9
+
10
+ def run
11
+ puppet_proxies = find_puppet_proxies.reject { |proxy| local_proxy?(proxy['url']) }
12
+ unless puppet_proxies.empty?
13
+ names = puppet_proxies.map { |proxy| proxy['name'] }
14
+ print('You have proxies with Puppet feature enabled, '\
15
+ "please disable Puppet on all proxies first.\n"\
16
+ "The following proxies have Puppet feature: #{names.join(', ')}.")
17
+ abort!
18
+ end
19
+ end
20
+
21
+ def find_puppet_proxies
22
+ feature(:foreman_database).query(puppet_proxies_query)
23
+ end
24
+
25
+ private
26
+
27
+ def local_proxy?(url)
28
+ URI.parse(url).hostname.casecmp(hostname) == 0
29
+ end
30
+
31
+ def puppet_proxies_query
32
+ <<-SQL
33
+ SELECT \"smart_proxies\".*
34
+ FROM \"smart_proxies\"
35
+ INNER JOIN \"smart_proxy_features\"
36
+ ON \"smart_proxies\".\"id\" = \"smart_proxy_features\".\"smart_proxy_id\"
37
+ INNER JOIN \"features\"
38
+ ON \"features\".\"id\" = \"smart_proxy_features\".\"feature_id\"
39
+ WHERE \"features\".\"name\" = 'Puppet'
40
+ SQL
41
+ end
42
+ end
43
+ end
@@ -13,8 +13,7 @@ class Features::Candlepin < ForemanMaintain::Feature
13
13
 
14
14
  def services
15
15
  [
16
- system_service('tomcat', 20),
17
- system_service('tomcat6', 20)
16
+ system_service('tomcat', 20)
18
17
  ]
19
18
  end
20
19
  end
@@ -37,7 +37,8 @@ class Features::Pulpcore < ForemanMaintain::Feature
37
37
 
38
38
  def config_files
39
39
  [
40
- '/etc/pulp/settings.py'
40
+ '/etc/pulp/settings.py',
41
+ '/etc/pulp/certs/database_fields.symmetric.key'
41
42
  ]
42
43
  end
43
44
 
@@ -21,6 +21,10 @@ class Features::SystemRepos < ForemanMaintain::Feature
21
21
  Hash[*repos.delete!(' ').split("\n")]
22
22
  end
23
23
 
24
+ def enabled_repos_ids
25
+ trim_repoids(enabled_repos_hash.keys)
26
+ end
27
+
24
28
  def upstream_repos_ids
25
29
  trim_repoids(upstream_repos.keys)
26
30
  end
@@ -29,6 +33,10 @@ class Features::SystemRepos < ForemanMaintain::Feature
29
33
  execute!("yum-config-manager --disable #{repo_ids.join(',')}")
30
34
  end
31
35
 
36
+ def enable_repos(repo_ids)
37
+ execute!("yum-config-manager --enable #{repo_ids.join(',')}")
38
+ end
39
+
32
40
  private
33
41
 
34
42
  def trim_repoids(repos)
@@ -18,7 +18,7 @@ module Procedures::Pulpcore
18
18
  spinner.update('Migrating pulpcore database')
19
19
  execute!('sudo PULP_SETTINGS=/etc/pulp/settings.py '\
20
20
  'DJANGO_SETTINGS_MODULE=pulpcore.app.settings '\
21
- 'python3-django-admin migrate --noinput')
21
+ 'pulpcore-manager migrate --noinput')
22
22
  end
23
23
  end
24
24
  end
@@ -0,0 +1,50 @@
1
+ module Procedures::Puppet
2
+ class RemovePuppet < ForemanMaintain::Procedure
3
+ metadata do
4
+ description 'Remove Puppet feature'
5
+ confine do
6
+ feature(:puppet_server) &&
7
+ (check_min_version('foreman', '3.0') || check_min_version('foreman-proxy', '3.0'))
8
+ end
9
+ advanced_run false
10
+ end
11
+
12
+ def run
13
+ services = feature(:foreman_server).services + feature(:dynflow_sidekiq).services
14
+ Procedures::Service::Stop.new(:only => services)
15
+ execute!('foreman-rake db:migrate VERSION=0 SCOPE=foreman_puppet') if server_with_puppet?
16
+ feature(:installer).run(installer_arguments_disabling_puppet.join(' '), :interactive => false)
17
+ packages_action(:remove, packages_to_remove, :assumeyes => true)
18
+ end
19
+
20
+ private
21
+
22
+ def server_with_puppet?
23
+ find_package(foreman_plugin_name('foreman_puppet'))
24
+ end
25
+
26
+ def installer_arguments_disabling_puppet
27
+ answers = feature(:installer).answers
28
+
29
+ options = []
30
+ options << '--no-enable-puppet' if answers.key?('puppet')
31
+ options << '--no-enable-foreman-plugin-puppet' if answers['foreman::plugin::puppet']
32
+ options << '--no-enable-foreman-cli-puppet' if answers['foreman::cli::puppet']
33
+ if answers['foreman_proxy']
34
+ options << '--foreman-proxy-puppet false'
35
+ options << '--foreman-proxy-puppetca false'
36
+ end
37
+ options << '--foreman-proxy-content-puppet false' if answers.key?('foreman_proxy_content')
38
+ options
39
+ end
40
+
41
+ def packages_to_remove
42
+ packages = ['puppetserver']
43
+ if server_with_puppet?
44
+ packages << foreman_plugin_name('foreman_puppet')
45
+ packages << hammer_plugin_name('foreman_puppet')
46
+ end
47
+ packages
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,21 @@
1
+ module Procedures::Puppet
2
+ class RemovePuppetData < ForemanMaintain::Procedure
3
+ metadata do
4
+ description 'Remove Puppet data'
5
+ end
6
+
7
+ def run
8
+ execute!('foreman-rake purge:puppet')
9
+ execute!('rm -r ' + files_to_purge.join(' '))
10
+ end
11
+
12
+ private
13
+
14
+ def files_to_purge
15
+ %w[
16
+ /etc/puppetlabs
17
+ /opt/puppetlabs/server/data
18
+ ]
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ module Procedures::Repositories
2
+ class BackupEnabledRepos < ForemanMaintain::Procedure
3
+ metadata do
4
+ label :backup_enabled_repos
5
+ description 'Stores enabled repositories in yaml file'
6
+ end
7
+
8
+ def run
9
+ enabled_repos_ids = feature(:system_repos).enabled_repos_ids
10
+ unless enabled_repos_ids.empty?
11
+ backup_dir = File.expand_path(ForemanMaintain.config.backup_dir)
12
+ File.write(File.join(backup_dir, 'enabled_repos.yml'), enabled_repos_ids.to_yaml)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ module Procedures::Repositories
2
+ class Enable < ForemanMaintain::Procedure
3
+ metadata do
4
+ param :repos, 'List of repositories to enable'
5
+ description 'Enable repositories'
6
+ end
7
+ def run
8
+ with_spinner('Enabling repositories') do
9
+ feature(:system_repos).enable_repos(@repos)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,21 @@
1
+ module ForemanMaintain::Scenarios
2
+ module Puppet
3
+ class RemovePuppet < ForemanMaintain::Scenario
4
+ metadata do
5
+ description 'Remove Puppet feature'
6
+ tags :puppet_disable
7
+ label :puppet_disable
8
+ param :remove_data, 'Purge the Puppet data after disabling plugin'
9
+ manual_detection
10
+ end
11
+
12
+ def compose
13
+ if check_min_version('foreman', '3.0') || check_min_version('foreman-proxy', '3.0')
14
+ add_step(Checks::CheckPuppetCapsules) if server?
15
+ add_step(Procedures::Puppet::RemovePuppet)
16
+ add_step(Procedures::Puppet::RemovePuppetData) if context.get(:remove_data)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -6,19 +6,27 @@ module ForemanMaintain::Scenarios
6
6
  description 'Restore backup'
7
7
  param :backup_dir, 'Path to backup directory'
8
8
  param :incremental_backup, 'Is the backup incremental?'
9
+ param :dry_run, 'Check if backup could be restored, without performing the restore'
9
10
  manual_detection
10
11
  end
11
12
 
12
13
  # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
14
+ # rubocop:disable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
13
15
  def compose
14
16
  backup = ForemanMaintain::Utils::Backup.new(context.get(:backup_dir))
15
17
 
16
18
  add_steps(find_checks(:root_user))
17
19
  supported_version_check
18
20
  add_steps_with_context(Checks::Restore::ValidateBackup,
19
- Procedures::Restore::Confirmation,
20
21
  Checks::Restore::ValidateHostname,
21
- Checks::Restore::ValidateInterfaces,
22
+ Checks::Restore::ValidateInterfaces)
23
+
24
+ if context.get(:dry_run)
25
+ self.class.metadata[:run_strategy] = :fail_slow
26
+ return
27
+ end
28
+
29
+ add_steps_with_context(Procedures::Restore::Confirmation,
22
30
  Procedures::Selinux::SetFileSecurity,
23
31
  Procedures::Restore::Configs)
24
32
  add_step_with_context(Procedures::Crond::Stop) if feature(:cron)
@@ -48,6 +56,7 @@ module ForemanMaintain::Scenarios
48
56
  add_step_with_context(Procedures::Crond::Start) if feature(:cron)
49
57
  end
50
58
  # rubocop:enable Metrics/MethodLength,Metrics/AbcSize
59
+ # rubocop:enable Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
51
60
 
52
61
  def drop_dbs(backup)
53
62
  if backup.file_map[:candlepin_dump][:present] ||
@@ -0,0 +1,102 @@
1
+ module ForemanMaintain::Scenarios
2
+ class SelfUpgradeBase < ForemanMaintain::Scenario
3
+ def enabled_system_repos_id
4
+ feature(:system_repos).enabled_repos_ids
5
+ end
6
+
7
+ def enable_repos(repo_ids = stored_enabled_repos_ids)
8
+ add_step(Procedures::Repositories::Enable.new(repos: repo_ids))
9
+ end
10
+
11
+ def disable_repos(repo_ids = stored_enabled_repos_ids)
12
+ add_step(Procedures::Repositories::Disable.new(repos: repo_ids))
13
+ end
14
+
15
+ def target_version
16
+ @target_version ||= context.get(:target_version)
17
+ end
18
+
19
+ def current_version
20
+ feature(:instance).downstream.current_minor_version
21
+ end
22
+
23
+ def maintenance_repo_id(version)
24
+ if (repo = ENV['maintenance_repo'])
25
+ return repo unless repo.empty?
26
+ end
27
+
28
+ maintenance_repo(version)
29
+ end
30
+
31
+ def maintenance_repo(version)
32
+ if el7?
33
+ "rhel-#{el_major_version}-server-satellite-maintenance-#{version}-rpms"
34
+ else
35
+ "satellite-maintenance-#{version}-for-rhel-#{el_major_version}-x86_64-rpms"
36
+ end
37
+ end
38
+
39
+ def maintenance_repo_version
40
+ return '6' if current_version == '6.10'
41
+
42
+ current_version
43
+ end
44
+
45
+ def stored_enabled_repos_ids
46
+ @stored_enabled_repos_ids ||= begin
47
+ path = File.expand_path('enabled_repos.yml', ForemanMaintain.config.backup_dir)
48
+ @stored_enabled_repos_ids = File.file?(path) ? YAML.load(File.read(path)) : []
49
+ end
50
+ end
51
+
52
+ def all_maintenance_repos
53
+ repo_regex = if el7?
54
+ /rhel-\d-server-satellite-maintenance-\d.\d-rpms/
55
+ else
56
+ /satellite-maintenance-\d.\d-for-rhel-\d-x86_64-rpms/
57
+ end
58
+ stored_enabled_repos_ids.select { |id| !id.match(repo_regex).nil? }
59
+ end
60
+
61
+ def repos_ids_to_reenable
62
+ repos_ids_to_reenable = stored_enabled_repos_ids - all_maintenance_repos
63
+ repos_ids_to_reenable << maintenance_repo(maintenance_repo_version)
64
+ end
65
+ end
66
+
67
+ class SelfUpgrade < SelfUpgradeBase
68
+ metadata do
69
+ label :self_upgrade_foreman_maintain
70
+ description "Enables the specified version's maintenance repository and, "\
71
+ 'updates the foreman-maintain packages'
72
+ manual_detection
73
+ end
74
+
75
+ def compose
76
+ if check_min_version('foreman', '2.5') || check_min_version('foreman-proxy', '2.5')
77
+ pkgs_to_update = %w[satellite-maintain rubygem-foreman_maintain]
78
+ add_step(Procedures::Repositories::BackupEnabledRepos.new)
79
+ disable_repos
80
+ add_step(Procedures::Repositories::Enable.new(repos: [maintenance_repo_id(target_version)]))
81
+ add_step(Procedures::Packages::Update.new(packages: pkgs_to_update, assumeyes: true))
82
+ enable_repos(repos_ids_to_reenable)
83
+ end
84
+ end
85
+ end
86
+
87
+ class SelfUpgradeRescue < SelfUpgradeBase
88
+ metadata do
89
+ label :rescue_self_upgrade
90
+ description 'Disables all version specific maintenance repos and,'\
91
+ ' enables the repositories which were configured prior to self upgrade'
92
+ manual_detection
93
+ run_strategy :fail_slow
94
+ end
95
+
96
+ def compose
97
+ if check_min_version('foreman', '2.5') || check_min_version('foreman-proxy', '2.5')
98
+ enable_repos(repos_ids_to_reenable)
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,14 @@
1
+ module ForemanMaintain
2
+ module Cli
3
+ class PluginCommand < Base
4
+ subcommand 'purge-puppet', 'Remove the Puppet feature' do
5
+ option ['-f', '--remove-all-data'], :flag, 'Purge all the Puppet data',
6
+ :attribute_name => :remove_data
7
+
8
+ def execute
9
+ run_scenarios_and_exit(Scenarios::Puppet::RemovePuppet.new(:remove_data => remove_data?))
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -7,11 +7,15 @@ module ForemanMaintain
7
7
 
8
8
  option ['-i', '--incremental'], :flag, 'Restore an incremental backup',
9
9
  :attribute_name => :incremental, :completion => { :type => :directory }
10
+ option ['-n', '--dry-run'], :flag,
11
+ 'Check if backup could be restored, without performing the restore',
12
+ :attribute_name => :dry_run
10
13
 
11
14
  def execute
12
15
  scenario = Scenarios::Restore.new(
13
16
  :backup_dir => @backup_dir,
14
- :incremental_backup => @incremental || incremental_backup?
17
+ :incremental_backup => @incremental || incremental_backup?,
18
+ :dry_run => @dry_run
15
19
  )
16
20
  rescue_scenario = Scenarios::RestoreRescue.new
17
21
  run_scenario(scenario, rescue_scenario)
@@ -0,0 +1,38 @@
1
+ module ForemanMaintain
2
+ module Cli
3
+ class SelfUpgradeCommand < Base
4
+ option ['--target-version'], 'TARGET_VERSION',\
5
+ 'Major version of the Satellite or Capsule'\
6
+ ', e.g 7.0', :required => true
7
+ def execute
8
+ allow_major_version_upgrade_only
9
+ run_scenario(upgrade_scenario, upgrade_rescue_scenario)
10
+ end
11
+
12
+ def upgrade_scenario
13
+ Scenarios::SelfUpgrade.new(target_version: target_version)
14
+ end
15
+
16
+ def upgrade_rescue_scenario
17
+ Scenarios::SelfUpgradeRescue.new(target_version: target_version)
18
+ end
19
+
20
+ def current_downstream_version
21
+ ForemanMaintain.detector.feature(:instance).downstream.current_version
22
+ end
23
+
24
+ def allow_major_version_upgrade_only
25
+ begin
26
+ next_version = Gem::Version.new(target_version)
27
+ rescue ArgumentError => err
28
+ raise Error::UsageError, "Invalid version! #{err}"
29
+ end
30
+ if current_downstream_version >= next_version
31
+ message = "The target-version #{target_version} should be "\
32
+ "greater than existing version #{current_downstream_version}!"
33
+ raise Error::UsageError, message
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -11,6 +11,8 @@ require 'foreman_maintain/cli/restore_command'
11
11
  require 'foreman_maintain/cli/maintenance_mode_command'
12
12
  require 'foreman_maintain/cli/packages_command'
13
13
  require 'foreman_maintain/cli/content_command'
14
+ require 'foreman_maintain/cli/plugin_command'
15
+ require 'foreman_maintain/cli/self_upgrade_command'
14
16
 
15
17
  module ForemanMaintain
16
18
  module Cli
@@ -25,6 +27,8 @@ module ForemanMaintain
25
27
  subcommand 'packages', 'Lock/Unlock package protection, install, update', PackagesCommand
26
28
  subcommand 'advanced', 'Advanced tools for server maintenance', AdvancedCommand
27
29
  subcommand 'content', 'Content related commands', ContentCommand
30
+ subcommand 'plugin', 'Manage optional plugins on your server', PluginCommand
31
+ subcommand 'self-upgrade', 'Perform major version self upgrade', SelfUpgradeCommand
28
32
  subcommand 'maintenance-mode', 'Control maintenance-mode for application',
29
33
  MaintenanceModeCommand
30
34
  if ForemanMaintain.detector.feature(:satellite) &&
@@ -196,15 +196,13 @@ module ForemanMaintain
196
196
  end
197
197
 
198
198
  def foreman_plugin_name(plugin)
199
- if debian?
200
- plugin.tr!('_', '-')
201
- end
199
+ plugin = plugin.tr('_', '-') if debian?
202
200
  ruby_prefix + plugin
203
201
  end
204
202
 
205
203
  def proxy_plugin_name(plugin)
206
204
  if debian?
207
- plugin.tr!('_', '-')
205
+ plugin = plugin.tr('_', '-')
208
206
  proxy_plugin_prefix = 'smart-proxy-'
209
207
  else
210
208
  proxy_plugin_prefix = 'smart_proxy_'
@@ -213,6 +211,11 @@ module ForemanMaintain
213
211
  ruby_prefix(scl) + proxy_plugin_prefix + plugin
214
212
  end
215
213
 
214
+ def hammer_plugin_name(plugin)
215
+ plugin = plugin.tr('_', '-') if debian?
216
+ [hammer_package, plugin].join(debian? ? '-' : '_')
217
+ end
218
+
216
219
  def hammer_package
217
220
  hammer_prefix = if debian?
218
221
  'hammer-cli'
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.9.2'.freeze
2
+ VERSION = '0.9.3'.freeze
3
3
  end
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.9.2
4
+ version: 0.9.3
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: 2021-11-10 00:00:00.000000000 Z
11
+ date: 2021-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -149,6 +149,7 @@ files:
149
149
  - definitions/checks/foreman/check_duplicate_permission.rb
150
150
  - definitions/checks/foreman/check_duplicate_roles.rb
151
151
  - definitions/checks/foreman/check_https_proxies.rb
152
+ - definitions/checks/foreman/check_puppet_capsules.rb
152
153
  - definitions/checks/foreman/db_up.rb
153
154
  - definitions/checks/foreman/facts_names.rb
154
155
  - definitions/checks/foreman/puppet_class_duplicates.rb
@@ -286,9 +287,13 @@ files:
286
287
  - definitions/procedures/pulp/remove.rb
287
288
  - definitions/procedures/pulpcore/migrate.rb
288
289
  - definitions/procedures/puppet/delete_empty_ca_cert_request_files.rb
290
+ - definitions/procedures/puppet/remove_puppet.rb
291
+ - definitions/procedures/puppet/remove_puppet_data.rb
289
292
  - definitions/procedures/refresh_features.rb
290
293
  - definitions/procedures/remote_execution/remove_existing_settingsd.rb
294
+ - definitions/procedures/repositories/backup_enabled_repos.rb
291
295
  - definitions/procedures/repositories/disable.rb
296
+ - definitions/procedures/repositories/enable.rb
292
297
  - definitions/procedures/repositories/setup.rb
293
298
  - definitions/procedures/restore/candlepin_dump.rb
294
299
  - definitions/procedures/restore/configs.rb
@@ -320,7 +325,9 @@ files:
320
325
  - definitions/scenarios/maintenance_mode.rb
321
326
  - definitions/scenarios/packages.rb
322
327
  - definitions/scenarios/prep_6_10_upgrade.rb
328
+ - definitions/scenarios/puppet.rb
323
329
  - definitions/scenarios/restore.rb
330
+ - definitions/scenarios/self_upgrade.rb
324
331
  - definitions/scenarios/services.rb
325
332
  - definitions/scenarios/upgrade_to_capsule_6_10.rb
326
333
  - definitions/scenarios/upgrade_to_capsule_6_10_z.rb
@@ -367,14 +374,15 @@ files:
367
374
  - lib/foreman_maintain/cli/health_command.rb
368
375
  - lib/foreman_maintain/cli/maintenance_mode_command.rb
369
376
  - lib/foreman_maintain/cli/packages_command.rb
377
+ - lib/foreman_maintain/cli/plugin_command.rb
370
378
  - lib/foreman_maintain/cli/restore_command.rb
379
+ - lib/foreman_maintain/cli/self_upgrade_command.rb
371
380
  - lib/foreman_maintain/cli/service_command.rb
372
381
  - lib/foreman_maintain/cli/transform_clamp_options.rb
373
382
  - lib/foreman_maintain/cli/upgrade_command.rb
374
383
  - lib/foreman_maintain/concerns/base_database.rb
375
384
  - lib/foreman_maintain/concerns/directory_marker.rb
376
385
  - lib/foreman_maintain/concerns/downstream.rb
377
- - lib/foreman_maintain/concerns/el_repos_manager_common.rb
378
386
  - lib/foreman_maintain/concerns/finders.rb
379
387
  - lib/foreman_maintain/concerns/hammer.rb
380
388
  - lib/foreman_maintain/concerns/logger.rb
@@ -403,9 +411,6 @@ files:
403
411
  - lib/foreman_maintain/procedure.rb
404
412
  - lib/foreman_maintain/reporter.rb
405
413
  - lib/foreman_maintain/reporter/cli_reporter.rb
406
- - lib/foreman_maintain/repos_manager/dnf_config_manager.rb
407
- - lib/foreman_maintain/repos_manager/el_common.rb
408
- - lib/foreman_maintain/repos_manager/yum_config_manager.rb
409
414
  - lib/foreman_maintain/runner.rb
410
415
  - lib/foreman_maintain/runner/execution.rb
411
416
  - lib/foreman_maintain/runner/stored_execution.rb
@@ -1,20 +0,0 @@
1
- module ForemanMaintain
2
- module Concerns
3
- module ElReposManagerCommon
4
- include ForemanMaintain::Concerns::OsFacts
5
-
6
- def package_manager
7
- return 'dnf' if el8?
8
-
9
- 'yum'
10
- end
11
-
12
- def enabled_repos_hash
13
- repos = execute("#{package_manager} repolist enabled -d 6 -e 0 2> /dev/null | grep -E 'Repo-id|Repo-baseurl'")
14
- return {} if repos.empty?
15
-
16
- Hash[*repos.delete!(' ').split("\n")]
17
- end
18
- end
19
- end
20
- end
@@ -1,13 +0,0 @@
1
- module ForemanMaintain::ReposManager
2
- class DnfConfigManager
3
- include ForemanMaintain::Concerns::ElReposManagerCommon
4
-
5
- def disable_repos(repo_ids)
6
- execute!("dnf config-manager --set-disabled #{repo_ids.join(',')}")
7
- end
8
-
9
- def enable_repos(repo_ids)
10
- execute!("dnf config-manager --set-enabled #{repo_ids.join(',')}")
11
- end
12
- end
13
- end
File without changes
@@ -1,20 +0,0 @@
1
- module ForemanMaintain::ReposManager
2
- class YumConfigManager
3
- include ForemanMaintain::Concerns::ElReposManagerCommon
4
-
5
- def disable_repos(repo_ids)
6
- execute!("yum-config-manager --disable #{repo_ids.join(',')}")
7
- end
8
-
9
- def enable_repos(repo_ids)
10
- execute!("yum-config-manager --enable #{repo_ids.join(',')}")
11
- end
12
-
13
- def enabled_repos_hash
14
- repos = execute("yum repolist enabled -d 6 -e 0 2> /dev/null | grep -E 'Repo-id|Repo-baseurl'")
15
- return {} if repos.empty?
16
-
17
- Hash[*repos.delete!(' ').split("\n")]
18
- end
19
- end
20
- end