foreman_maintain 1.6.7 → 1.6.9

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.
Files changed (40) 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 +12 -0
  7. data/definitions/features/foreman_server.rb +0 -1
  8. data/definitions/features/foreman_tasks.rb +0 -8
  9. data/definitions/features/instance.rb +18 -1
  10. data/definitions/features/katello.rb +0 -15
  11. data/definitions/features/satellite.rb +4 -0
  12. data/definitions/procedures/hammer_setup.rb +3 -0
  13. data/definitions/procedures/installer/upgrade_rake_task.rb +4 -3
  14. data/definitions/procedures/packages/update.rb +2 -0
  15. data/definitions/procedures/pulpcore/container_handle_image_metadata.rb +26 -0
  16. data/definitions/procedures/restore/configs.rb +0 -19
  17. data/definitions/procedures/restore/drop_databases.rb +1 -3
  18. data/definitions/procedures/restore/reindex_databases.rb +6 -0
  19. data/definitions/procedures/restore/required_packages.rb +0 -1
  20. data/definitions/scenarios/backup.rb +9 -20
  21. data/definitions/scenarios/foreman_upgrade.rb +2 -1
  22. data/definitions/scenarios/restore.rb +11 -29
  23. data/definitions/scenarios/{upgrade_to_satellite_6_16.rb → satellite_upgrade.rb} +11 -10
  24. data/definitions/scenarios/self_upgrade.rb +19 -13
  25. data/definitions/scenarios/update.rb +1 -0
  26. data/lib/foreman_maintain/cli/upgrade_command.rb +1 -22
  27. data/lib/foreman_maintain/concerns/base_database.rb +0 -6
  28. data/lib/foreman_maintain/concerns/system_helpers.rb +3 -2
  29. data/lib/foreman_maintain/package_manager/apt.rb +3 -1
  30. data/lib/foreman_maintain/package_manager/dnf.rb +10 -5
  31. data/lib/foreman_maintain/utils/backup.rb +10 -23
  32. data/lib/foreman_maintain/version.rb +1 -1
  33. metadata +5 -10
  34. data/definitions/features/gofer.rb +0 -16
  35. data/definitions/procedures/pulpcore/migrate.rb +0 -24
  36. data/definitions/procedures/restore/candlepin_reset_migrations.rb +0 -14
  37. data/definitions/procedures/selinux/set_file_security.rb +0 -25
  38. data/definitions/scenarios/upgrade_to_capsule_6_16.rb +0 -100
  39. data/definitions/scenarios/upgrade_to_capsule_6_16_z.rb +0 -97
  40. data/definitions/scenarios/upgrade_to_satellite_6_16_z.rb +0 -98
@@ -4,11 +4,11 @@ module ForemanMaintain::Scenarios
4
4
  include ForemanMaintain::Concerns::Versions
5
5
 
6
6
  def target_version
7
- @target_version ||= Gem::Version.new(current_version).bump.to_s
7
+ feature(:instance).target_version
8
8
  end
9
9
 
10
10
  def current_version
11
- feature(:instance).downstream.current_version.to_s[/^\d+\.\d+\.\d+/]
11
+ feature(:instance).current_version
12
12
  end
13
13
 
14
14
  def maintenance_repo_label
@@ -47,12 +47,11 @@ module ForemanMaintain::Scenarios
47
47
  end
48
48
  end
49
49
 
50
- def upstream_target_version
51
- if feature(:katello_install)
52
- return foreman_version_by_katello(target_version)
53
- else
54
- target_version
55
- end
50
+ def self_upgrade_allowed?
51
+ target = Gem::Version.new(target_version).version
52
+
53
+ Gem::Version.new(current_version).segments[0..1].join('.') == target ||
54
+ Gem::Version.new(current_version).bump.segments[0..1].join('.') == target
56
55
  end
57
56
  end
58
57
 
@@ -65,13 +64,20 @@ module ForemanMaintain::Scenarios
65
64
  end
66
65
 
67
66
  def downstream_self_upgrade(pkgs_to_update)
67
+ unless self_upgrade_allowed?
68
+ raise(
69
+ ForemanMaintain::Error::Warn,
70
+ "foreman-maintain is too many versions ahead. The target " \
71
+ "version is #{target_version} while the currently installed " \
72
+ "version is #{current_version}. Please rollback " \
73
+ "foreman-maintain to the proper version."
74
+ )
75
+ end
76
+
68
77
  ForemanMaintain.enable_maintenance_module
69
78
 
70
- dnf_options = req_repos_to_update_pkgs.map do |id|
71
- "--enablerepo=#{id}"
72
- end
73
79
  add_step(Procedures::Packages::Update.new(packages: pkgs_to_update, assumeyes: true,
74
- dnf_options: dnf_options))
80
+ enabled_repos: req_repos_to_update_pkgs))
75
81
  end
76
82
 
77
83
  def upstream_self_upgrade(pkgs_to_update)
@@ -80,7 +86,7 @@ module ForemanMaintain::Scenarios
80
86
  # 2. Update the foreman-maintain packages from next major version repository
81
87
  # 3. Rollback the repository to current major version
82
88
 
83
- add_step(Procedures::Repositories::Setup.new(:version => upstream_target_version))
89
+ add_step(Procedures::Repositories::Setup.new(:version => target_version))
84
90
  add_step(Procedures::Packages::Update.new(packages: pkgs_to_update, assumeyes: true))
85
91
  ensure
86
92
  rollback_repositories
@@ -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
@@ -56,16 +56,6 @@ module ForemanMaintain
56
56
  !disable_self_upgrade?
57
57
  end
58
58
 
59
- subcommand 'list-versions', 'List versions this system is upgradable to' do
60
- disable_self_upgrade_option
61
-
62
- def execute
63
- ForemanMaintain.validate_downstream_packages
64
- ForemanMaintain.perform_self_upgrade if allow_self_upgrade?
65
- print_versions(UpgradeRunner.available_targets)
66
- end
67
- end
68
-
69
59
  subcommand 'check', 'Run pre-upgrade checks before upgrading to specified version' do
70
60
  target_version_option
71
61
  interactive_option
@@ -84,21 +74,10 @@ module ForemanMaintain
84
74
  interactive_option
85
75
  disable_self_upgrade_option
86
76
 
87
- option '--phase', 'phase', 'run only a specific phase', :required => false do |phase|
88
- unless UpgradeRunner::PHASES.include?(phase.to_sym)
89
- raise Error::UsageError, "Unknown phase #{phase}"
90
- end
91
- phase
92
- end
93
-
94
77
  def execute
95
78
  ForemanMaintain.validate_downstream_packages
96
79
  ForemanMaintain.perform_self_upgrade if allow_self_upgrade?
97
- if phase
98
- upgrade_runner.run_phase(phase.to_sym)
99
- else
100
- upgrade_runner.run
101
- end
80
+ upgrade_runner.run
102
81
  upgrade_runner.save
103
82
  exit upgrade_runner.exit_code
104
83
  end
@@ -41,12 +41,6 @@ module ForemanMaintain
41
41
  raise NotImplementedError
42
42
  end
43
43
 
44
- def config_files
45
- [
46
- '/etc/systemd/system/postgresql.service',
47
- ]
48
- end
49
-
50
44
  def local?(config = configuration)
51
45
  ['localhost', '127.0.0.1', `hostname`.strip].include? config['host']
52
46
  end
@@ -100,7 +100,7 @@ module ForemanMaintain
100
100
  end
101
101
 
102
102
  def packages_action(action, packages, options = {})
103
- options.validate_options!(:assumeyes, :options, :download_only)
103
+ options.validate_options!(:assumeyes, :options, :download_only, :enabled_repos)
104
104
  case action
105
105
  when :install
106
106
  package_manager.install(packages, :assumeyes => options[:assumeyes])
@@ -108,7 +108,8 @@ module ForemanMaintain
108
108
  package_manager.update(
109
109
  packages,
110
110
  :assumeyes => options[:assumeyes],
111
- :download_only => options[:download_only]
111
+ :download_only => options[:download_only],
112
+ :enabled_repos => options[:enabled_repos]
112
113
  )
113
114
  when :remove
114
115
  package_manager.remove(packages, :assumeyes => options[:assumeyes])
@@ -19,10 +19,12 @@ module ForemanMaintain::PackageManager
19
19
  apt_action('remove', packages, :assumeyes => assumeyes)
20
20
  end
21
21
 
22
- def update(packages = [], assumeyes: false, download_only: false)
22
+ # rubocop:disable Lint/UnusedMethodArgument
23
+ def update(packages = [], assumeyes: false, download_only: false, enabled_repos: [])
23
24
  action = packages.any? ? '--only-upgrade install' : 'upgrade'
24
25
  apt_action(action, packages, :assumeyes => assumeyes, :download_only => download_only)
25
26
  end
27
+ # rubocop:enable Lint/UnusedMethodArgument
26
28
 
27
29
  def clean_cache(assumeyes: false)
28
30
  apt_action('clean', [], :assumeyes => assumeyes)
@@ -59,12 +59,13 @@ module ForemanMaintain::PackageManager
59
59
  dnf_action('remove', packages, assumeyes: assumeyes)
60
60
  end
61
61
 
62
- def update(packages = [], assumeyes: false, download_only: false)
62
+ def update(packages = [], assumeyes: false, download_only: false, enabled_repos: [])
63
63
  dnf_action(
64
64
  'update',
65
65
  packages,
66
66
  assumeyes: assumeyes,
67
- download_only: download_only
67
+ download_only: download_only,
68
+ enabled_repos: enabled_repos
68
69
  )
69
70
  end
70
71
 
@@ -132,14 +133,18 @@ module ForemanMaintain::PackageManager
132
133
 
133
134
  private
134
135
 
135
- # rubocop:disable Layout/LineLength, Metrics/ParameterLists
136
- def dnf_action(action, packages, with_status: false, assumeyes: false, dnf_options: [], valid_exit_statuses: [0], download_only: false)
136
+ # rubocop:disable Layout/LineLength, Metrics/ParameterLists, Metrics/MethodLength
137
+ def dnf_action(action, packages, with_status: false, assumeyes: false, dnf_options: [], valid_exit_statuses: [0], download_only: false, enabled_repos: [])
137
138
  packages = [packages].flatten(1)
138
139
 
139
140
  dnf_options << '-y' if assumeyes
140
141
  dnf_options << '--downloadonly' if download_only
141
142
  dnf_options << '--disableplugin=foreman-protector'
142
143
 
144
+ enabled_repos.map do |id|
145
+ dnf_options << "--enablerepo=#{id}"
146
+ end
147
+
143
148
  command = ['dnf', dnf_options.join(' '), action]
144
149
 
145
150
  command.push(packages.join(' ')) unless packages.empty?
@@ -158,7 +163,7 @@ module ForemanMaintain::PackageManager
158
163
  )
159
164
  end
160
165
  end
161
- # rubocop:enable Layout/LineLength, Metrics/ParameterLists
166
+ # rubocop:enable Layout/LineLength, Metrics/ParameterLists, Metrics/MethodLength
162
167
 
163
168
  def protector_config
164
169
  File.exist?(protector_config_file) ? File.read(protector_config_file) : ''
@@ -183,24 +183,7 @@ module ForemanMaintain
183
183
 
184
184
  def validate_hostname?
185
185
  # make sure that the system hostname is the same as the backup
186
- hostname_from_metadata = metadata.fetch('hostname', nil)
187
- if hostname_from_metadata
188
- hostname_from_metadata == hostname
189
- else
190
- config_tarball = file_map[:config_files][:path]
191
- tar_cmd = "tar zxf #{config_tarball} etc/httpd/conf/httpd.conf --to-stdout --occurrence=1"
192
- status, httpd_config = execute_with_status(tar_cmd)
193
-
194
- # Incremental backups sometimes don't include httpd.conf. Since a "base" backup
195
- # is restored before an incremental, we can assume that the hostname is checked
196
- # during the base backup restore
197
- if status == 0
198
- match = httpd_config.match(/\s*ServerName\s+"*([^ "]+)"*\s*$/)
199
- match ? match[1] == hostname : false
200
- else
201
- true
202
- end
203
- end
186
+ metadata.fetch('hostname', nil) == hostname
204
187
  end
205
188
 
206
189
  def validate_interfaces
@@ -240,10 +223,18 @@ module ForemanMaintain
240
223
  file_map[:pgsql_data][:present]
241
224
  end
242
225
 
226
+ def sql_tar_files_exist?
227
+ file_map[:pgsql_data][:present]
228
+ end
229
+
243
230
  def sql_dump_files_exist?
244
231
  file_map[:foreman_dump][:present] ||
245
232
  file_map[:candlepin_dump][:present] ||
246
- (feature(:pulpcore_database) && file_map[:pulpcore_dump][:present])
233
+ file_map[:pulpcore_dump][:present]
234
+ end
235
+
236
+ def sql_needs_dump_restore?
237
+ !sql_tar_files_exist? && sql_dump_files_exist?
247
238
  end
248
239
 
249
240
  def incremental?
@@ -262,10 +253,6 @@ module ForemanMaintain
262
253
  installed_rpms.any? { |rpm| rpm.start_with?('puppetserver-') }
263
254
  end
264
255
 
265
- def with_qpidd?
266
- installed_rpms.any? { |rpm| rpm.start_with?('qpid-cpp-server-') }
267
- end
268
-
269
256
  def source_os_version
270
257
  metadata.fetch('os_version', 'unknown')
271
258
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '1.6.7'.freeze
2
+ VERSION = '1.6.9'.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: 1.6.7
4
+ version: 1.6.9
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: 2024-05-06 00:00:00.000000000 Z
11
+ date: 2024-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -160,6 +160,7 @@ files:
160
160
  - definitions/checks/backup/certs_tar_exist.rb
161
161
  - definitions/checks/candlepin/db_up.rb
162
162
  - definitions/checks/check_hotfix_installed.rb
163
+ - definitions/checks/check_ipv6_disable.rb
163
164
  - definitions/checks/check_tmout.rb
164
165
  - definitions/checks/disk/available_space.rb
165
166
  - definitions/checks/disk/available_space_candlepin.rb
@@ -211,7 +212,6 @@ files:
211
212
  - definitions/features/foreman_proxy.rb
212
213
  - definitions/features/foreman_server.rb
213
214
  - definitions/features/foreman_tasks.rb
214
- - definitions/features/gofer.rb
215
215
  - definitions/features/hammer.rb
216
216
  - definitions/features/installer.rb
217
217
  - definitions/features/instance.rb
@@ -274,7 +274,7 @@ files:
274
274
  - definitions/procedures/packages/unlock_versions.rb
275
275
  - definitions/procedures/packages/update.rb
276
276
  - definitions/procedures/packages/update_all_confirmation.rb
277
- - definitions/procedures/pulpcore/migrate.rb
277
+ - definitions/procedures/pulpcore/container_handle_image_metadata.rb
278
278
  - definitions/procedures/pulpcore/trim_rpm_changelogs.rb
279
279
  - definitions/procedures/puppet/delete_empty_ca_cert_request_files.rb
280
280
  - definitions/procedures/puppet/remove_puppet.rb
@@ -286,7 +286,6 @@ files:
286
286
  - definitions/procedures/repositories/enable.rb
287
287
  - definitions/procedures/repositories/setup.rb
288
288
  - definitions/procedures/restore/candlepin_dump.rb
289
- - definitions/procedures/restore/candlepin_reset_migrations.rb
290
289
  - definitions/procedures/restore/configs.rb
291
290
  - definitions/procedures/restore/confirmation.rb
292
291
  - definitions/procedures/restore/drop_databases.rb
@@ -297,7 +296,6 @@ files:
297
296
  - definitions/procedures/restore/pulpcore_dump.rb
298
297
  - definitions/procedures/restore/reindex_databases.rb
299
298
  - definitions/procedures/restore/required_packages.rb
300
- - definitions/procedures/selinux/set_file_security.rb
301
299
  - definitions/procedures/service/base.rb
302
300
  - definitions/procedures/service/daemon_reload.rb
303
301
  - definitions/procedures/service/disable.rb
@@ -315,13 +313,10 @@ files:
315
313
  - definitions/scenarios/packages.rb
316
314
  - definitions/scenarios/puppet.rb
317
315
  - definitions/scenarios/restore.rb
316
+ - definitions/scenarios/satellite_upgrade.rb
318
317
  - definitions/scenarios/self_upgrade.rb
319
318
  - definitions/scenarios/services.rb
320
319
  - definitions/scenarios/update.rb
321
- - definitions/scenarios/upgrade_to_capsule_6_16.rb
322
- - definitions/scenarios/upgrade_to_capsule_6_16_z.rb
323
- - definitions/scenarios/upgrade_to_satellite_6_16.rb
324
- - definitions/scenarios/upgrade_to_satellite_6_16_z.rb
325
320
  - extras/foreman-maintain.sh
326
321
  - extras/foreman_protector/dnf/foreman-protector.py
327
322
  - extras/foreman_protector/foreman-protector.conf
@@ -1,16 +0,0 @@
1
- class Features::Gofer < ForemanMaintain::Feature
2
- metadata do
3
- label :gofer
4
-
5
- confine do
6
- find_package('gofer') &&
7
- ForemanMaintain::Utils::Service::Systemd.new('goferd', 0).enabled?
8
- end
9
- end
10
-
11
- def services
12
- [
13
- system_service('goferd', 30),
14
- ]
15
- end
16
- end
@@ -1,24 +0,0 @@
1
- module Procedures::Pulpcore
2
- class Migrate < ForemanMaintain::Procedure
3
- include ForemanMaintain::Concerns::SystemService
4
- include ForemanMaintain::Concerns::PulpCommon
5
-
6
- metadata do
7
- description 'Migrate pulpcore db'
8
- for_feature :pulpcore
9
- end
10
-
11
- def run
12
- with_spinner('Migrating pulpcore') do |spinner|
13
- necessary_services = feature(:pulpcore_database).services
14
- pulp_services = feature(:pulpcore).services
15
-
16
- feature(:service).handle_services(spinner, 'start', :only => necessary_services)
17
- feature(:service).handle_services(spinner, 'stop', :only => pulp_services)
18
-
19
- spinner.update('Migrating pulpcore database')
20
- execute!(pulpcore_manager('migrate --noinput'))
21
- end
22
- end
23
- end
24
- end
@@ -1,14 +0,0 @@
1
- module Procedures::Restore
2
- class CandlepinResetMigrations < ForemanMaintain::Procedure
3
- metadata do
4
- description 'Ensure Candlepin runs all migrations after restoring the database'
5
- confine do
6
- feature(:candlepin_database)
7
- end
8
- end
9
-
10
- def run
11
- FileUtils.rm_f('/var/lib/candlepin/.puppet-candlepin-rpm-version')
12
- end
13
- end
14
- end
@@ -1,25 +0,0 @@
1
- module Procedures::Selinux
2
- class SetFileSecurity < ForemanMaintain::Procedure
3
- metadata do
4
- description 'Setting file security'
5
-
6
- param :incremental_backup,
7
- 'Is the backup incremental?',
8
- :required => true
9
- manual_detection
10
- confine do
11
- File.directory?('/sys/fs/selinux')
12
- end
13
- end
14
-
15
- def run
16
- with_spinner('Restoring SELinux context') do |spinner|
17
- if @incremental_backup
18
- spinner.update('Skipping for incremental update')
19
- else
20
- execute!('restorecon -Rn /')
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,100 +0,0 @@
1
- module Scenarios::Capsule_6_16
2
- class Abstract < ForemanMaintain::Scenario
3
- def self.upgrade_metadata(&block)
4
- metadata do
5
- tags :upgrade_scenario
6
- confine do
7
- feature(:capsule) &&
8
- (feature(:capsule).current_minor_version == '6.15' || \
9
- ForemanMaintain.upgrade_in_progress == '6.16')
10
- end
11
- instance_eval(&block)
12
- end
13
- end
14
-
15
- def target_version
16
- '6.16'
17
- end
18
- end
19
-
20
- class PreUpgradeCheck < Abstract
21
- upgrade_metadata do
22
- description 'Checks before upgrading to Capsule 6.16'
23
- tags :pre_upgrade_checks
24
- run_strategy :fail_slow
25
- end
26
-
27
- def compose
28
- add_steps(find_checks(:default))
29
- add_steps(find_checks(:pre_upgrade))
30
- add_step(Checks::Disk::AvailableSpacePostgresql13)
31
- add_step(Checks::Repositories::Validate.new(:version => '6.16'))
32
- end
33
- end
34
-
35
- class PreMigrations < Abstract
36
- upgrade_metadata do
37
- description 'Procedures before migrating to Capsule 6.16'
38
- tags :pre_migrations
39
- end
40
-
41
- def compose
42
- add_steps(find_procedures(:pre_migrations))
43
- end
44
- end
45
-
46
- class Migrations < Abstract
47
- upgrade_metadata do
48
- description 'Migration scripts to Capsule 6.16'
49
- tags :migrations
50
- end
51
-
52
- def set_context_mapping
53
- context.map(:assumeyes, Procedures::Installer::Run => :assumeyes)
54
- end
55
-
56
- def compose
57
- add_step(Procedures::Repositories::Setup.new(:version => '6.16'))
58
- if el8?
59
- modules_to_switch = ['postgresql:13']
60
- add_step(Procedures::Packages::SwitchModules.new(:module_names => modules_to_switch))
61
- modules_to_enable = ["satellite-capsule:#{el_short_name}"]
62
- add_step(Procedures::Packages::EnableModules.new(:module_names => modules_to_enable))
63
- end
64
- add_step(Procedures::Packages::Update.new(
65
- :assumeyes => true,
66
- :download_only => true
67
- ))
68
- add_step(Procedures::Service::Stop.new)
69
- add_step(Procedures::Packages::Update.new(:assumeyes => true, :clean_cache => false))
70
- add_step_with_context(Procedures::Installer::Run)
71
- end
72
- end
73
-
74
- class PostMigrations < Abstract
75
- upgrade_metadata do
76
- description 'Procedures after migrating to Capsule 6.16'
77
- tags :post_migrations
78
- end
79
-
80
- def compose
81
- add_step(Procedures::RefreshFeatures)
82
- add_step(Procedures::Service::Start.new)
83
- add_steps(find_procedures(:post_migrations))
84
- end
85
- end
86
-
87
- class PostUpgradeChecks < Abstract
88
- upgrade_metadata do
89
- description 'Checks after upgrading to Capsule 6.16'
90
- tags :post_upgrade_checks
91
- run_strategy :fail_slow
92
- end
93
-
94
- def compose
95
- add_steps(find_checks(:default))
96
- add_steps(find_checks(:post_upgrade))
97
- add_step(Procedures::Packages::CheckForReboot)
98
- end
99
- end
100
- end
@@ -1,97 +0,0 @@
1
- module Scenarios::Capsule_6_16_z
2
- class Abstract < ForemanMaintain::Scenario
3
- def self.upgrade_metadata(&block)
4
- metadata do
5
- tags :upgrade_scenario
6
- confine do
7
- feature(:capsule) &&
8
- (feature(:capsule).current_minor_version == '6.16' || \
9
- ForemanMaintain.upgrade_in_progress == '6.16.z')
10
- end
11
- instance_eval(&block)
12
- end
13
- end
14
-
15
- def target_version
16
- '6.16.z'
17
- end
18
- end
19
-
20
- class PreUpgradeCheck < Abstract
21
- upgrade_metadata do
22
- description 'Checks before upgrading to Capsule 6.16.z'
23
- tags :pre_upgrade_checks
24
- run_strategy :fail_slow
25
- end
26
-
27
- def compose
28
- add_steps(find_checks(:default))
29
- add_steps(find_checks(:pre_upgrade))
30
- add_step(Checks::Repositories::Validate.new(:version => '6.16'))
31
- end
32
- end
33
-
34
- class PreMigrations < Abstract
35
- upgrade_metadata do
36
- description 'Procedures before migrating to Capsule 6.16.z'
37
- tags :pre_migrations
38
- end
39
-
40
- def compose
41
- add_step(Procedures::Repositories::Setup.new(:version => '6.16'))
42
- if el8?
43
- modules_to_enable = ["satellite-capsule:#{el_short_name}"]
44
- add_step(Procedures::Packages::EnableModules.new(:module_names => modules_to_enable))
45
- end
46
- add_step(Procedures::Packages::Update.new(
47
- :assumeyes => true,
48
- :download_only => true
49
- ))
50
- add_steps(find_procedures(:pre_migrations))
51
- end
52
- end
53
-
54
- class Migrations < Abstract
55
- upgrade_metadata do
56
- description 'Migration scripts to Capsule 6.16.z'
57
- tags :migrations
58
- end
59
-
60
- def set_context_mapping
61
- context.map(:assumeyes, Procedures::Installer::Run => :assumeyes)
62
- end
63
-
64
- def compose
65
- add_step(Procedures::Service::Stop.new)
66
- add_step(Procedures::Packages::Update.new(:assumeyes => true, :clean_cache => false))
67
- add_step_with_context(Procedures::Installer::Run)
68
- end
69
- end
70
-
71
- class PostMigrations < Abstract
72
- upgrade_metadata do
73
- description 'Procedures after migrating to Capsule 6.16.z'
74
- tags :post_migrations
75
- end
76
-
77
- def compose
78
- add_step(Procedures::RefreshFeatures)
79
- add_step(Procedures::Service::Start.new)
80
- add_steps(find_procedures(:post_migrations))
81
- end
82
- end
83
-
84
- class PostUpgradeChecks < Abstract
85
- upgrade_metadata do
86
- description 'Checks after upgrading to Capsule 6.16.z'
87
- tags :post_upgrade_checks
88
- run_strategy :fail_slow
89
- end
90
-
91
- def compose
92
- add_steps(find_checks(:default))
93
- add_steps(find_checks(:post_upgrade))
94
- add_step(Procedures::Packages::CheckForReboot)
95
- end
96
- end
97
- end