foreman_maintain 1.6.6 → 1.6.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -5
  3. data/definitions/checks/check_ipv6_disable.rb +23 -0
  4. data/definitions/features/capsule.rb +1 -2
  5. data/definitions/features/dynflow_sidekiq.rb +1 -6
  6. data/definitions/features/foreman_install.rb +1 -1
  7. data/definitions/features/foreman_server.rb +0 -1
  8. data/definitions/features/foreman_tasks.rb +0 -8
  9. data/definitions/features/instance.rb +0 -1
  10. data/definitions/features/katello.rb +0 -15
  11. data/definitions/procedures/hammer_setup.rb +3 -0
  12. data/definitions/procedures/packages/update.rb +2 -2
  13. data/definitions/procedures/pulpcore/container_handle_image_metadata.rb +26 -0
  14. data/definitions/procedures/repositories/setup.rb +1 -1
  15. data/definitions/procedures/restore/configs.rb +0 -19
  16. data/definitions/procedures/restore/drop_databases.rb +1 -3
  17. data/definitions/procedures/restore/reindex_databases.rb +6 -0
  18. data/definitions/procedures/restore/required_packages.rb +0 -1
  19. data/definitions/scenarios/backup.rb +9 -20
  20. data/definitions/scenarios/foreman_upgrade.rb +142 -0
  21. data/definitions/scenarios/restore.rb +11 -29
  22. data/definitions/scenarios/self_upgrade.rb +1 -4
  23. data/definitions/scenarios/update.rb +2 -1
  24. data/definitions/scenarios/upgrade_to_capsule_6_16.rb +2 -0
  25. data/definitions/scenarios/upgrade_to_satellite_6_16.rb +2 -0
  26. data/lib/foreman_maintain/cli/update_command.rb +7 -5
  27. data/lib/foreman_maintain/cli/upgrade_command.rb +0 -10
  28. data/lib/foreman_maintain/concerns/base_database.rb +0 -6
  29. data/lib/foreman_maintain/concerns/system_helpers.rb +3 -3
  30. data/lib/foreman_maintain/package_manager/apt.rb +1 -1
  31. data/lib/foreman_maintain/package_manager/dnf.rb +10 -6
  32. data/lib/foreman_maintain/utils/backup.rb +2 -23
  33. data/lib/foreman_maintain/version.rb +1 -1
  34. metadata +5 -10
  35. data/definitions/features/gofer.rb +0 -16
  36. data/definitions/procedures/pulpcore/migrate.rb +0 -24
  37. data/definitions/procedures/restore/candlepin_reset_migrations.rb +0 -14
  38. data/definitions/procedures/selinux/set_file_security.rb +0 -25
  39. data/definitions/scenarios/upgrade_to_capsule_6_16_z.rb +0 -97
  40. data/definitions/scenarios/upgrade_to_foreman_nightly.rb +0 -91
  41. data/definitions/scenarios/upgrade_to_katello_nightly.rb +0 -96
  42. data/definitions/scenarios/upgrade_to_satellite_6_16_z.rb +0 -98
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 49e4ffcc4a0a5899887cc3bc1dad11b10381deb25add42d732e8285787307959
4
- data.tar.gz: e9ae9b2138d6a6ab9cb6c5cd36332467aab83c2f4cd8f8d6b46150067d072053
3
+ metadata.gz: 693bf5fa41d37437188c4990278301d1965819e37fad7b0dc680e1fdff8f8631
4
+ data.tar.gz: d56694b7ed8093eeaa814fdf950f5c308d76eeffbf97a654ecbb20ef55611759
5
5
  SHA512:
6
- metadata.gz: 4b242b0cb68111062213960792f2b712ba5770a5887d088f824a957fa193dc8d3b49425b3e94e0ac9752cf504ee9a7b2ff7d52417a5edb077d6890aaee6c8859
7
- data.tar.gz: 8a09714780cf70012aabeab9d919c80b3c62ca2859c5a208b5838bfbb83a658a38c753b9db0508d36d094053570be027428517760212acb30ca431310f172a5f
6
+ metadata.gz: 40503012245738da00890d0d224141754f00c110f9bbc7c62112b3e11bea7beb066718bfffdc36056ae9afbed29f2ac8ca6d9dd474e4af9a1eee50099a636352
7
+ data.tar.gz: d71cfc02366e99a507f1453706d0ffcfe01f1dcdb8cf231a03a4b8468716f1c4b3ae25acfa5938f32858bf17fb37d974d511173b047808b84a03e8dd38ce1d1a
data/README.md CHANGED
@@ -17,7 +17,6 @@ Subcommands:
17
17
  --tags tags Run only those with all specific set of tags
18
18
 
19
19
  upgrade Upgrade related commands
20
- list-versions List versions this system is upgradable to
21
20
  check --target-version TARGET_VERSION Run pre-upgrade checks for upgrading to specified version
22
21
  --disable-self-upgrade Disable automatic self upgrade (default: false)
23
22
  run --target-version TARGET_VERSION Run the full upgrade
@@ -56,12 +55,11 @@ Subcommands:
56
55
  Foreman-maintain implements upgrade tooling that helps the administrator to go
57
56
  through the upgrade process.
58
57
 
59
- Foreman-maintain scans the system to know, what versions are available
60
- for upgrade on the particular system. To see what versions are available
61
- for upgrade, run:
58
+ The foreman-maintain tool is intended to self upgrade itself to the next major
59
+ version of the project. This is needed before upgrading, run:
62
60
 
63
61
  ```
64
- foreman-maintain upgrade list-versions
62
+ foreman-maintain self-upgrade
65
63
  ```
66
64
 
67
65
  To perform just the pre-upgrade checks for the system, run:
@@ -0,0 +1,23 @@
1
+ class Checks::CheckIpv6Disable < ForemanMaintain::Check
2
+ metadata do
3
+ label :check_ipv6_disable
4
+ description 'Check if ipv6.disable=1 is set at kernel level'
5
+ end
6
+
7
+ def run
8
+ cmdline_file = File.read('/proc/cmdline')
9
+
10
+ assert(!cmdline_file.include?("ipv6.disable=1"), error_message)
11
+ end
12
+
13
+ def error_message
14
+ base = "\nThe kernel contains ipv6.disable=1 which is known to break installation and upgrade"\
15
+ ", remove and reboot before continuining."
16
+
17
+ if feature(:instance).downstream
18
+ base += " See https://access.redhat.com/solutions/5045841 for more details."
19
+ end
20
+
21
+ base
22
+ end
23
+ end
@@ -7,8 +7,7 @@ class Features::Capsule < ForemanMaintain::Feature
7
7
 
8
8
  confine do
9
9
  !package_manager.installed?(['satellite']) &&
10
- package_manager.installed?(['satellite-capsule']) ||
11
- package_manager.installed?(['capsule-installer'])
10
+ package_manager.installed?(['satellite-capsule'])
12
11
  end
13
12
  end
14
13
 
@@ -8,14 +8,9 @@ class Features::DynflowSidekiq < ForemanMaintain::Feature
8
8
  end
9
9
 
10
10
  def config_files
11
- # Workaround until foreman-installer can deploy scaled workers
12
- service_symlinks = configured_instances.map do |service|
13
- "/etc/systemd/system/multi-user.target.wants/#{service}.service"
14
- end
15
11
  [
16
12
  '/etc/foreman/dynflow',
17
- service_symlinks,
18
- ].flatten
13
+ ]
19
14
  end
20
15
 
21
16
  def services
@@ -6,7 +6,7 @@ class Features::ForemanInstall < ForemanMaintain::Feature
6
6
  label :foreman_install
7
7
 
8
8
  confine do
9
- !feature(:instance).downstream && !feature(:katello) && feature(:foreman_server)
9
+ !feature(:instance).downstream && feature(:foreman_server)
10
10
  end
11
11
  end
12
12
  end
@@ -26,7 +26,6 @@ module ForemanMaintain
26
26
  [
27
27
  '/etc/httpd',
28
28
  '/var/www/html/pub/katello-*',
29
- '/etc/squid',
30
29
  '/etc/foreman',
31
30
  '/etc/selinux/targeted/contexts/files/file_contexts.subs',
32
31
  '/etc/sysconfig/foreman',
@@ -125,14 +125,6 @@ class Features::ForemanTasks < ForemanMaintain::Feature
125
125
  puts "\nTimeout: #{e.message}. Try again."
126
126
  end
127
127
 
128
- def services
129
- feature(:dynflow_sidekiq) ? [] : [system_service(service_name, 30)]
130
- end
131
-
132
- def service_name
133
- 'dynflowd'
134
- end
135
-
136
128
  private
137
129
 
138
130
  def check_task_count(state, spinner)
@@ -162,7 +162,6 @@ class Features::Instance < ForemanMaintain::Feature
162
162
  'pulp3' => %w[pulpcore pulpcore_database],
163
163
  'pulp3_content' => %w[pulpcore pulpcore_database],
164
164
  'foreman_tasks' => %w[foreman_tasks],
165
- 'katello_agent' => %w[katello],
166
165
  'katello_events' => %w[katello],
167
166
  }
168
167
  end
@@ -17,14 +17,6 @@ class Features::Katello < ForemanMaintain::Feature
17
17
  @current_version ||= package_version('katello')
18
18
  end
19
19
 
20
- def services
21
- [
22
- system_service('qpidd', 10),
23
- system_service('qdrouterd', 10),
24
- ]
25
- end
26
-
27
- # rubocop:disable Metrics/MethodLength
28
20
  def config_files
29
21
  configs = [
30
22
  '/etc/pki/katello',
@@ -35,11 +27,6 @@ class Features::Katello < ForemanMaintain::Feature
35
27
  '/etc/sysconfig/tomcat*',
36
28
  '/etc/tomcat*',
37
29
  '/var/lib/candlepin',
38
- '/usr/share/foreman/bundler.d/katello.rb',
39
- '/etc/qpid',
40
- '/etc/qpid-dispatch',
41
- '/var/lib/qpidd',
42
- '/etc/qpid-dispatch',
43
30
  ]
44
31
 
45
32
  if installer_scenario_answers['certs']
@@ -53,11 +40,9 @@ class Features::Katello < ForemanMaintain::Feature
53
40
 
54
41
  configs
55
42
  end
56
- # rubocop:enable Metrics/MethodLength
57
43
 
58
44
  def config_files_exclude_for_online
59
45
  [
60
- '/var/lib/qpidd',
61
46
  '/var/lib/candlepin/activemq-artemis',
62
47
  ]
63
48
  end
@@ -2,6 +2,9 @@ class Procedures::HammerSetup < ForemanMaintain::Procedure
2
2
  metadata do
3
3
  description 'Setup hammer'
4
4
  for_feature :hammer
5
+ preparation_steps do
6
+ Checks::ServicesUp.new
7
+ end
5
8
  end
6
9
 
7
10
  def run
@@ -6,9 +6,9 @@ module Procedures::Packages
6
6
  param :force, 'Do not skip if package is installed', :flag => true, :default => false
7
7
  param :warn_on_errors, 'Do not interrupt scenario on failure',
8
8
  :flag => true, :default => false
9
- param :dnf_options, 'Extra dnf options if any', :array => true, :default => []
10
9
  param :download_only, 'Download and cache packages only', :flag => true, :default => false
11
10
  param :clean_cache, 'If true will cause a DNF cache clean', :flag => true, :default => true
11
+ param :enabled_repos, 'List of repositories to enable', :array => true
12
12
  end
13
13
 
14
14
  def run
@@ -16,8 +16,8 @@ module Procedures::Packages
16
16
  package_manager.clean_cache(:assumeyes => assumeyes_val) if @clean_cache
17
17
  opts = {
18
18
  :assumeyes => assumeyes_val,
19
- :options => @dnf_options,
20
19
  :download_only => @download_only,
20
+ :enabled_repos => @enabled_repos,
21
21
  }
22
22
  packages_action(:update, @packages, opts)
23
23
  rescue ForemanMaintain::Error::ExecutionError => e
@@ -0,0 +1,26 @@
1
+ module Procedures::Pulpcore
2
+ class ContainerHandleImageMetadata < ForemanMaintain::Procedure
3
+ include ForemanMaintain::Concerns::SystemService
4
+ include ForemanMaintain::Concerns::PulpCommon
5
+
6
+ metadata do
7
+ description 'Initialize and expose container image metadata in the pulpcore db'
8
+ for_feature :pulpcore
9
+ end
10
+
11
+ def run
12
+ with_spinner('Initialize and expose container image metadata in the pulpcore db') do |spinner|
13
+ necessary_services = feature(:pulpcore_database).services
14
+
15
+ feature(:service).handle_services(spinner, 'start', :only => necessary_services)
16
+
17
+ spinner.update('Adding image metadata to pulp. You can continue using the ' \
18
+ 'system normally while the task runs in the background.')
19
+ execute!(pulpcore_manager('container-handle-image-data'))
20
+ spinner.update('Adding image metadata to katello. You can continue using the ' \
21
+ 'system normally while the task runs in the background.')
22
+ execute!('foreman-rake katello:import_container_manifest_labels')
23
+ end
24
+ end
25
+ end
26
+ end
@@ -3,7 +3,7 @@ module Procedures::Repositories
3
3
  metadata do
4
4
  description 'Setup repositories'
5
5
  confine do
6
- feature(:instance).downstream || feature(:upstream)
6
+ feature(:instance).downstream || feature(:instance).upstream_install
7
7
  end
8
8
  param :version,
9
9
  'Version for which repositories needs to be setup',
@@ -14,18 +14,10 @@ module Procedures::Restore
14
14
  spinner.update('Restoring configs')
15
15
  clean_conflicting_data
16
16
  restore_configs(backup)
17
- reset_qpid_jrnls
18
17
  end
19
18
  end
20
19
 
21
20
  def restore_configs(backup)
22
- exclude = ForemanMaintain.available_features.each_with_object([]) do |feat, cfgs|
23
- if backup.online_backup?
24
- feat.config_files_exclude_for_online.each { |f| cfgs << f.gsub(%r{^/}, '') }
25
- end
26
- feat.config_files_to_exclude.each { |f| cfgs << f.gsub(%r{^/}, '') }
27
- end
28
-
29
21
  tar_options = {
30
22
  :overwrite => true,
31
23
  :listed_incremental => '/dev/null',
@@ -33,7 +25,6 @@ module Procedures::Restore
33
25
  :directory => '/',
34
26
  :archive => backup.file_map[:config_files][:path],
35
27
  :gzip => true,
36
- :exclude => exclude,
37
28
  }
38
29
 
39
30
  feature(:tar).run(tar_options)
@@ -45,15 +36,5 @@ module Procedures::Restore
45
36
  # tar is unable to --overwrite dir with symlink
46
37
  execute('rm -rf /usr/share/foreman-proxy/.ssh')
47
38
  end
48
-
49
- def reset_qpid_jrnls
50
- # on restore without pulp data qpid fails to start
51
- # https://access.redhat.com/solutions/4645231
52
- ['/var/lib/qpidd/.qpidd/', '/var/lib/qpidd/'].each do |qpidd_path|
53
- if Dir.exist?("#{qpidd_path}/qls/dat2/")
54
- execute("rm -rf #{qpidd_path}/qls/dat2/__db.00*")
55
- end
56
- end
57
- end
58
39
  end
59
40
  end
@@ -19,9 +19,7 @@ module Procedures::Restore
19
19
  feature(:service).handle_services(spinner, 'start', :only => ['postgresql'])
20
20
  drop_foreman(backup, spinner)
21
21
  drop_candlepin(backup, spinner)
22
- if feature(:pulpcore)
23
- drop_pulpcore(backup, spinner)
24
- end
22
+ drop_pulpcore(backup, spinner)
25
23
  end
26
24
  end
27
25
 
@@ -1,6 +1,7 @@
1
1
  module Procedures::Restore
2
2
  class ReindexDatabases < ForemanMaintain::Procedure
3
3
  include ForemanMaintain::Concerns::SystemService
4
+ include ForemanMaintain::Concerns::SystemHelpers
4
5
 
5
6
  metadata do
6
7
  description 'REINDEX databases'
@@ -16,6 +17,11 @@ module Procedures::Restore
16
17
 
17
18
  spinner.update('Reindexing the databases')
18
19
  execute!('runuser - postgres -c "reindexdb -a"')
20
+ if check_min_version('python3.11-pulp-ansible', '0.20.0')
21
+ execute!('runuser -c '\
22
+ '\'echo "ALTER COLLATION pulp_ansible_semver REFRESH VERSION;"'\
23
+ '| psql pulpcore\' postgres')
24
+ end
19
25
  end
20
26
  end
21
27
  end
@@ -12,7 +12,6 @@ module Procedures::Restore
12
12
  backup = ForemanMaintain::Utils::Backup.new(@backup_dir)
13
13
  required_packages = []
14
14
  required_packages << 'puppetserver' if backup.with_puppetserver?
15
- required_packages << 'qpid-cpp-server' if backup.with_qpidd?
16
15
  if required_packages.any?
17
16
  with_spinner('Installing required packages') do
18
17
  ForemanMaintain.package_manager.install(required_packages, assumeyes: true)
@@ -19,9 +19,9 @@ module ForemanMaintain::Scenarios
19
19
  def compose
20
20
  check_valid_strategy
21
21
  safety_confirmation
22
- accessibility_confirmation
23
- prepare_directory
24
- add_step_with_context(Procedures::Backup::Metadata, :online_backup => online_backup?)
22
+ add_step_with_context(Procedures::Backup::AccessibilityConfirmation) if strategy == :offline
23
+ add_step_with_context(Procedures::Backup::PrepareDirectory)
24
+ add_step_with_context(Procedures::Backup::Metadata, :online_backup => strategy == :online)
25
25
 
26
26
  case strategy
27
27
  when :online
@@ -29,6 +29,7 @@ module ForemanMaintain::Scenarios
29
29
  when :offline
30
30
  add_offline_backup_steps
31
31
  end
32
+
32
33
  add_step_with_context(Procedures::Backup::CompressData)
33
34
  end
34
35
 
@@ -64,18 +65,8 @@ module ForemanMaintain::Scenarios
64
65
 
65
66
  private
66
67
 
67
- def prepare_directory
68
- add_step_with_context(Procedures::Backup::PrepareDirectory)
69
- end
70
-
71
- def accessibility_confirmation
72
- if strategy == :offline
73
- add_step_with_context(Procedures::Backup::AccessibilityConfirmation)
74
- end
75
- end
76
-
77
68
  def safety_confirmation
78
- if online_backup? || include_db_dumps?
69
+ if strategy == :online || include_db_dumps?
79
70
  add_step_with_context(Procedures::Backup::Online::SafetyConfirmation)
80
71
  end
81
72
  end
@@ -132,10 +123,6 @@ module ForemanMaintain::Scenarios
132
123
  def include_db_dumps?
133
124
  !!context.get(:include_db_dumps)
134
125
  end
135
-
136
- def online_backup?
137
- strategy == :online
138
- end
139
126
  end
140
127
 
141
128
  class BackupRescueCleanup < ForemanMaintain::Scenario
@@ -149,8 +136,10 @@ module ForemanMaintain::Scenarios
149
136
  end
150
137
 
151
138
  def compose
152
- add_step_with_context(Procedures::Service::Start) if strategy != :online
153
- add_steps_with_context(find_procedures(:maintenance_mode_off)) if strategy != :online
139
+ if strategy == :offline
140
+ add_step_with_context(Procedures::Service::Start)
141
+ add_steps_with_context(find_procedures(:maintenance_mode_off))
142
+ end
154
143
  add_step_with_context(Procedures::Backup::Clean)
155
144
  end
156
145
 
@@ -0,0 +1,142 @@
1
+ module Scenarios::ForemanUpgrade
2
+ class Abstract < ForemanMaintain::Scenario
3
+ def self.upgrade_metadata(&block)
4
+ metadata do
5
+ tags :upgrade_scenario
6
+ confine do
7
+ feature(:foreman_install)
8
+ end
9
+ instance_eval(&block)
10
+ end
11
+ end
12
+
13
+ def target_version
14
+ 'nightly'
15
+ end
16
+ end
17
+
18
+ class PreUpgradeCheck < Abstract
19
+ upgrade_metadata do
20
+ description 'Checks before upgrading'
21
+ tags :pre_upgrade_checks
22
+ run_strategy :fail_slow
23
+ end
24
+
25
+ # rubocop:disable Metrics/MethodLength
26
+ def compose
27
+ add_steps(
28
+ Checks::Foreman::FactsNames, # if Foreman database present
29
+ Checks::ForemanProxy::CheckTftpStorage, # if Satellite with foreman-proxy+tftp
30
+ Checks::ForemanProxy::VerifyDhcpConfigSyntax, # if foreman-proxy+dhcp-isc
31
+ Checks::ForemanTasks::NotPaused, # if foreman-tasks present
32
+ Checks::Puppet::VerifyNoEmptyCacertRequests, # if puppetserver
33
+ Checks::ServerPing,
34
+ Checks::ServicesUp,
35
+ Checks::SystemRegistration,
36
+ Checks::CheckHotfixInstalled,
37
+ Checks::CheckTmout,
38
+ Checks::CheckUpstreamRepository,
39
+ Checks::Disk::AvailableSpace,
40
+ Checks::Disk::AvailableSpaceCandlepin, # if candlepin
41
+ Checks::Foreman::ValidateExternalDbVersion, # if external database
42
+ Checks::Foreman::CheckCorruptedRoles,
43
+ Checks::Foreman::CheckDuplicatePermissions,
44
+ Checks::Foreman::TuningRequirements, # if katello present
45
+ Checks::ForemanOpenscap::InvalidReportAssociations, # if foreman-openscap
46
+ Checks::ForemanTasks::Invalid::CheckOld, # if foreman-tasks
47
+ Checks::ForemanTasks::Invalid::CheckPendingState, # if foreman-tasks
48
+ Checks::ForemanTasks::Invalid::CheckPlanningState, # if foreman-tasks
49
+ Checks::ForemanTasks::NotRunning, # if foreman-tasks
50
+ Checks::NonRhPackages,
51
+ Checks::PackageManager::Dnf::ValidateDnfConfig,
52
+ Checks::Repositories::CheckNonRhRepository,
53
+ Checks::Repositories::Validate
54
+ )
55
+ end
56
+ # rubocop:enable Metrics/MethodLength
57
+ end
58
+
59
+ class PreMigrations < Abstract
60
+ upgrade_metadata do
61
+ description 'Procedures before upgrading'
62
+ tags :pre_migrations
63
+ end
64
+
65
+ def compose
66
+ add_steps(
67
+ Procedures::MaintenanceMode::EnableMaintenanceMode,
68
+ Procedures::Crond::Stop,
69
+ Procedures::SyncPlans::Disable
70
+ )
71
+ end
72
+ end
73
+
74
+ class Migrations < Abstract
75
+ upgrade_metadata do
76
+ description 'Upgrade steps'
77
+ tags :migrations
78
+ run_strategy :fail_fast
79
+ end
80
+
81
+ def set_context_mapping
82
+ context.map(:assumeyes, Procedures::Installer::Run => :assumeyes)
83
+ end
84
+
85
+ def compose
86
+ add_step(Procedures::Repositories::Setup.new(:version => 'nightly'))
87
+ if el8?
88
+ modules_to_switch = ['postgresql:13']
89
+ add_step(Procedures::Packages::SwitchModules.new(:module_names => modules_to_switch))
90
+ end
91
+
92
+ add_step(Procedures::Packages::Update.new(
93
+ :assumeyes => true,
94
+ :download_only => true
95
+ ))
96
+ add_step(Procedures::Service::Stop.new)
97
+ add_step(Procedures::Packages::Update.new(:assumeyes => true, :clean_cache => false))
98
+
99
+ add_step_with_context(Procedures::Installer::Run)
100
+ end
101
+ end
102
+
103
+ class PostMigrations < Abstract
104
+ upgrade_metadata do
105
+ description 'Post upgrade procedures'
106
+ tags :post_migrations
107
+ end
108
+
109
+ def compose
110
+ add_steps(
111
+ Procedures::RefreshFeatures,
112
+ Procedures::Service::Start,
113
+ Procedures::Crond::Start,
114
+ Procedures::SyncPlans::Enable,
115
+ Procedures::MaintenanceMode::DisableMaintenanceMode
116
+ )
117
+ end
118
+ end
119
+
120
+ class PostUpgradeChecks < Abstract
121
+ upgrade_metadata do
122
+ description 'Checks after upgrading'
123
+ tags :post_upgrade_checks
124
+ run_strategy :fail_slow
125
+ end
126
+
127
+ def compose
128
+ add_steps(
129
+ Checks::Foreman::FactsNames, # if Foreman database present
130
+ Checks::ForemanProxy::CheckTftpStorage, # if Satellite with foreman-proxy+tftp
131
+ Checks::ForemanProxy::VerifyDhcpConfigSyntax, # if foreman-proxy+dhcp-isc
132
+ Checks::ForemanTasks::NotPaused, # if foreman-tasks present
133
+ Checks::Puppet::VerifyNoEmptyCacertRequests, # if puppetserver
134
+ Checks::ServerPing,
135
+ Checks::ServicesUp,
136
+ Checks::SystemRegistration,
137
+ Procedures::Packages::CheckForReboot,
138
+ Procedures::Pulpcore::ContainerHandleImageMetadata
139
+ )
140
+ end
141
+ end
142
+ end
@@ -11,7 +11,6 @@ module ForemanMaintain::Scenarios
11
11
  end
12
12
 
13
13
  # rubocop:disable Metrics/MethodLength,Metrics/AbcSize
14
- # rubocop:disable Metrics/CyclomaticComplexity
15
14
  def compose
16
15
  backup = ForemanMaintain::Utils::Backup.new(context.get(:backup_dir))
17
16
 
@@ -27,7 +26,6 @@ module ForemanMaintain::Scenarios
27
26
  end
28
27
 
29
28
  add_steps_with_context(Procedures::Restore::Confirmation,
30
- Procedures::Selinux::SetFileSecurity,
31
29
  Procedures::Restore::RequiredPackages,
32
30
  Procedures::Restore::Configs)
33
31
  add_step_with_context(Procedures::Crond::Stop) if feature(:cron)
@@ -36,13 +34,10 @@ module ForemanMaintain::Scenarios
36
34
  end
37
35
  add_step_with_context(Procedures::Service::Stop)
38
36
  add_steps_with_context(Procedures::Restore::ExtractFiles) if backup.tar_backups_exist?
39
- drop_dbs(backup)
40
- if backup.sql_dump_files_exist? && feature(:instance).postgresql_local?
41
- add_step(Procedures::Service::Start.new(:only => ['postgresql']))
42
- end
43
- restore_sql_dumps(backup)
44
- if backup.sql_dump_files_exist? && feature(:instance).postgresql_local?
45
- add_step(Procedures::Service::Stop.new(:only => ['postgresql']))
37
+
38
+ if backup.sql_dump_files_exist?
39
+ add_steps_with_context(Procedures::Restore::DropDatabases)
40
+ restore_sql_dumps(backup)
46
41
  end
47
42
 
48
43
  if feature(:instance).postgresql_local? &&
@@ -51,38 +46,28 @@ module ForemanMaintain::Scenarios
51
46
  add_step_with_context(Procedures::Restore::ReindexDatabases)
52
47
  end
53
48
 
54
- add_steps_with_context(
55
- Procedures::Pulpcore::Migrate,
56
- Procedures::Restore::CandlepinResetMigrations
57
- )
58
-
59
- add_steps_with_context(Procedures::Service::Start,
60
- Procedures::Service::DaemonReload)
61
49
  add_step(Procedures::Installer::Run.new(:assumeyes => true))
62
50
  add_step_with_context(Procedures::Installer::UpgradeRakeTask)
63
51
  add_step_with_context(Procedures::Crond::Start) if feature(:cron)
64
52
  end
65
53
  # rubocop:enable Metrics/MethodLength,Metrics/AbcSize
66
- # rubocop:enable Metrics/CyclomaticComplexity
67
-
68
- def drop_dbs(backup)
69
- if backup.file_map[:candlepin_dump][:present] ||
70
- backup.file_map[:foreman_dump][:present] ||
71
- (feature(:pulpcore) && backup.file_map[:pulpcore_dump][:present])
72
- add_steps_with_context(Procedures::Restore::DropDatabases)
73
- end
74
- end
75
54
 
76
55
  def restore_sql_dumps(backup)
56
+ if feature(:instance).postgresql_local?
57
+ add_step(Procedures::Service::Start.new(:only => ['postgresql']))
58
+ end
77
59
  if backup.file_map[:candlepin_dump][:present]
78
60
  add_steps_with_context(Procedures::Restore::CandlepinDump)
79
61
  end
80
62
  if backup.file_map[:foreman_dump][:present]
81
63
  add_steps_with_context(Procedures::Restore::ForemanDump)
82
64
  end
83
- if feature(:pulpcore) && backup.file_map[:pulpcore_dump][:present]
65
+ if backup.file_map[:pulpcore_dump][:present]
84
66
  add_steps_with_context(Procedures::Restore::PulpcoreDump)
85
67
  end
68
+ if feature(:instance).postgresql_local?
69
+ add_step(Procedures::Service::Stop.new(:only => ['postgresql']))
70
+ end
86
71
  end
87
72
 
88
73
  def set_context_mapping
@@ -98,9 +83,6 @@ module ForemanMaintain::Scenarios
98
83
  Procedures::Restore::ForemanDump => :backup_dir,
99
84
  Procedures::Restore::PulpcoreDump => :backup_dir,
100
85
  Procedures::Restore::ExtractFiles => :backup_dir)
101
-
102
- context.map(:incremental_backup,
103
- Procedures::Selinux::SetFileSecurity => :incremental_backup)
104
86
  end
105
87
  end
106
88
 
@@ -67,11 +67,8 @@ module ForemanMaintain::Scenarios
67
67
  def downstream_self_upgrade(pkgs_to_update)
68
68
  ForemanMaintain.enable_maintenance_module
69
69
 
70
- dnf_options = req_repos_to_update_pkgs.map do |id|
71
- "--enablerepo=#{id}"
72
- end
73
70
  add_step(Procedures::Packages::Update.new(packages: pkgs_to_update, assumeyes: true,
74
- dnf_options: dnf_options))
71
+ enabled_repos: req_repos_to_update_pkgs))
75
72
  end
76
73
 
77
74
  def upstream_self_upgrade(pkgs_to_update)
@@ -28,6 +28,7 @@ module Scenarios::Update
28
28
  Checks::SystemRegistration,
29
29
  Checks::CheckHotfixInstalled,
30
30
  Checks::CheckTmout,
31
+ Checks::CheckIpv6Disable,
31
32
  Checks::CheckUpstreamRepository,
32
33
  Checks::Disk::AvailableSpace,
33
34
  Checks::Disk::AvailableSpaceCandlepin, # if candlepin
@@ -59,7 +60,7 @@ module Scenarios::Update
59
60
  add_steps(
60
61
  Procedures::Packages::Update.new(
61
62
  :assumeyes => true,
62
- :dnf_options => ['--downloadonly']
63
+ :download_only => true
63
64
  ),
64
65
  Procedures::MaintenanceMode::EnableMaintenanceMode,
65
66
  Procedures::Crond::Stop,
@@ -27,6 +27,7 @@ module Scenarios::Capsule_6_16
27
27
  def compose
28
28
  add_steps(find_checks(:default))
29
29
  add_steps(find_checks(:pre_upgrade))
30
+ add_step(Checks::CheckIpv6Disable)
30
31
  add_step(Checks::Disk::AvailableSpacePostgresql13)
31
32
  add_step(Checks::Repositories::Validate.new(:version => '6.16'))
32
33
  end
@@ -95,6 +96,7 @@ module Scenarios::Capsule_6_16
95
96
  add_steps(find_checks(:default))
96
97
  add_steps(find_checks(:post_upgrade))
97
98
  add_step(Procedures::Packages::CheckForReboot)
99
+ add_step(Procedures::Pulpcore::ContainerHandleImageMetadata)
98
100
  end
99
101
  end
100
102
  end