foreman_maintain 1.6.7 → 1.6.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -5
- data/definitions/checks/check_ipv6_disable.rb +23 -0
- data/definitions/features/capsule.rb +1 -2
- data/definitions/features/dynflow_sidekiq.rb +1 -6
- data/definitions/features/foreman_server.rb +0 -1
- data/definitions/features/foreman_tasks.rb +0 -8
- data/definitions/features/instance.rb +0 -1
- data/definitions/features/katello.rb +0 -15
- data/definitions/procedures/hammer_setup.rb +3 -0
- data/definitions/procedures/packages/update.rb +2 -0
- data/definitions/procedures/pulpcore/container_handle_image_metadata.rb +26 -0
- data/definitions/procedures/restore/configs.rb +0 -19
- data/definitions/procedures/restore/drop_databases.rb +1 -3
- data/definitions/procedures/restore/reindex_databases.rb +6 -0
- data/definitions/procedures/restore/required_packages.rb +0 -1
- data/definitions/scenarios/backup.rb +9 -20
- data/definitions/scenarios/foreman_upgrade.rb +2 -1
- data/definitions/scenarios/restore.rb +11 -29
- data/definitions/scenarios/self_upgrade.rb +1 -4
- data/definitions/scenarios/update.rb +1 -0
- data/definitions/scenarios/upgrade_to_capsule_6_16.rb +2 -0
- data/definitions/scenarios/upgrade_to_satellite_6_16.rb +2 -0
- data/lib/foreman_maintain/cli/upgrade_command.rb +0 -10
- data/lib/foreman_maintain/concerns/base_database.rb +0 -6
- data/lib/foreman_maintain/concerns/system_helpers.rb +3 -2
- data/lib/foreman_maintain/package_manager/apt.rb +3 -1
- data/lib/foreman_maintain/package_manager/dnf.rb +10 -5
- data/lib/foreman_maintain/utils/backup.rb +2 -23
- data/lib/foreman_maintain/version.rb +1 -1
- metadata +4 -8
- data/definitions/features/gofer.rb +0 -16
- data/definitions/procedures/pulpcore/migrate.rb +0 -24
- data/definitions/procedures/restore/candlepin_reset_migrations.rb +0 -14
- data/definitions/procedures/selinux/set_file_security.rb +0 -25
- data/definitions/scenarios/upgrade_to_capsule_6_16_z.rb +0 -97
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 693bf5fa41d37437188c4990278301d1965819e37fad7b0dc680e1fdff8f8631
|
4
|
+
data.tar.gz: d56694b7ed8093eeaa814fdf950f5c308d76eeffbf97a654ecbb20ef55611759
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
60
|
-
|
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
|
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
|
-
|
18
|
-
].flatten
|
13
|
+
]
|
19
14
|
end
|
20
15
|
|
21
16
|
def services
|
@@ -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
|
@@ -8,6 +8,7 @@ module Procedures::Packages
|
|
8
8
|
:flag => true, :default => false
|
9
9
|
param :download_only, 'Download and cache packages only', :flag => true, :default => false
|
10
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
|
11
12
|
end
|
12
13
|
|
13
14
|
def run
|
@@ -16,6 +17,7 @@ module Procedures::Packages
|
|
16
17
|
opts = {
|
17
18
|
:assumeyes => assumeyes_val,
|
18
19
|
:download_only => @download_only,
|
20
|
+
:enabled_repos => @enabled_repos,
|
19
21
|
}
|
20
22
|
packages_action(:update, @packages, opts)
|
21
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
|
@@ -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
|
-
|
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
|
-
|
23
|
-
|
24
|
-
add_step_with_context(Procedures::Backup::Metadata, :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
|
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
|
-
|
153
|
-
|
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
|
|
@@ -134,7 +134,8 @@ module Scenarios::ForemanUpgrade
|
|
134
134
|
Checks::ServerPing,
|
135
135
|
Checks::ServicesUp,
|
136
136
|
Checks::SystemRegistration,
|
137
|
-
Procedures::Packages::CheckForReboot
|
137
|
+
Procedures::Packages::CheckForReboot,
|
138
|
+
Procedures::Pulpcore::ContainerHandleImageMetadata
|
138
139
|
)
|
139
140
|
end
|
140
141
|
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
|
-
|
40
|
-
if backup.sql_dump_files_exist?
|
41
|
-
|
42
|
-
|
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
|
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
|
-
|
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
|
@@ -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
|
@@ -27,6 +27,7 @@ module Scenarios::Satellite_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
|
add_step(Checks::CheckOrganizationContentAccessMode)
|
@@ -98,6 +99,7 @@ module Scenarios::Satellite_6_16
|
|
98
99
|
add_steps(find_checks(:default))
|
99
100
|
add_steps(find_checks(:post_upgrade))
|
100
101
|
add_step(Procedures::Packages::CheckForReboot)
|
102
|
+
add_step(Procedures::Pulpcore::ContainerHandleImageMetadata)
|
101
103
|
end
|
102
104
|
end
|
103
105
|
end
|
@@ -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
|
@@ -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
|
-
|
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
|
-
|
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
|
@@ -243,7 +226,7 @@ module ForemanMaintain
|
|
243
226
|
def sql_dump_files_exist?
|
244
227
|
file_map[:foreman_dump][:present] ||
|
245
228
|
file_map[:candlepin_dump][:present] ||
|
246
|
-
|
229
|
+
file_map[:pulpcore_dump][:present]
|
247
230
|
end
|
248
231
|
|
249
232
|
def incremental?
|
@@ -262,10 +245,6 @@ module ForemanMaintain
|
|
262
245
|
installed_rpms.any? { |rpm| rpm.start_with?('puppetserver-') }
|
263
246
|
end
|
264
247
|
|
265
|
-
def with_qpidd?
|
266
|
-
installed_rpms.any? { |rpm| rpm.start_with?('qpid-cpp-server-') }
|
267
|
-
end
|
268
|
-
|
269
248
|
def source_os_version
|
270
249
|
metadata.fetch('os_version', 'unknown')
|
271
250
|
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.
|
4
|
+
version: 1.6.8
|
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-
|
11
|
+
date: 2024-06-06 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/
|
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
|
@@ -319,9 +317,7 @@ files:
|
|
319
317
|
- definitions/scenarios/services.rb
|
320
318
|
- definitions/scenarios/update.rb
|
321
319
|
- definitions/scenarios/upgrade_to_capsule_6_16.rb
|
322
|
-
- definitions/scenarios/upgrade_to_capsule_6_16_z.rb
|
323
320
|
- definitions/scenarios/upgrade_to_satellite_6_16.rb
|
324
|
-
- definitions/scenarios/upgrade_to_satellite_6_16_z.rb
|
325
321
|
- extras/foreman-maintain.sh
|
326
322
|
- extras/foreman_protector/dnf/foreman-protector.py
|
327
323
|
- 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,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
|
@@ -1,98 +0,0 @@
|
|
1
|
-
module Scenarios::Satellite_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(:satellite) &&
|
8
|
-
(feature(:satellite).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 Satellite 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 Satellite 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:#{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 Satellite 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
|
-
add_step(Procedures::Installer::UpgradeRakeTask)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
class PostMigrations < Abstract
|
73
|
-
upgrade_metadata do
|
74
|
-
description 'Procedures after migrating to Satellite 6.16.z'
|
75
|
-
tags :post_migrations
|
76
|
-
end
|
77
|
-
|
78
|
-
def compose
|
79
|
-
add_step(Procedures::RefreshFeatures)
|
80
|
-
add_step(Procedures::Service::Start.new)
|
81
|
-
add_steps(find_procedures(:post_migrations))
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
class PostUpgradeChecks < Abstract
|
86
|
-
upgrade_metadata do
|
87
|
-
description 'Checks after upgrading to Satellite 6.16.z'
|
88
|
-
tags :post_upgrade_checks
|
89
|
-
run_strategy :fail_slow
|
90
|
-
end
|
91
|
-
|
92
|
-
def compose
|
93
|
-
add_steps(find_checks(:default))
|
94
|
-
add_steps(find_checks(:post_upgrade))
|
95
|
-
add_step(Procedures::Packages::CheckForReboot)
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|