foreman_maintain 0.6.0 → 0.6.5
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 +5 -5
- data/README.md +4 -0
- data/definitions/checks/check_hotfix_installed.rb +2 -1
- data/definitions/checks/disk/performance.rb +24 -9
- data/definitions/checks/foreman/check_corrupted_roles.rb +14 -2
- data/definitions/checks/foreman/validate_external_db_version.rb +28 -0
- data/definitions/checks/original_assets.rb +1 -0
- data/definitions/checks/pulpcore/db_up.rb +29 -0
- data/definitions/checks/repositories/check_non_rh_repository.rb +23 -0
- data/definitions/checks/repositories/check_upstream_repository.rb +2 -1
- data/definitions/checks/repositories/validate.rb +2 -1
- data/definitions/features/apache.rb +19 -0
- data/definitions/features/dynflow_sidekiq.rb +1 -1
- data/definitions/features/foreman_database.rb +5 -3
- data/definitions/features/foreman_server.rb +9 -3
- data/definitions/features/foreman_tasks.rb +7 -2
- data/definitions/features/installer.rb +9 -2
- data/definitions/features/instance.rb +5 -2
- data/definitions/features/katello.rb +7 -0
- data/definitions/features/{pulp3.rb → pulpcore.rb} +9 -3
- data/definitions/features/pulpcore_database.rb +39 -0
- data/definitions/features/puppet_server.rb +6 -2
- data/definitions/features/service.rb +10 -3
- data/definitions/features/tar.rb +5 -0
- data/definitions/procedures/backup/config_files.rb +3 -0
- data/definitions/procedures/backup/metadata.rb +2 -0
- data/definitions/procedures/backup/offline/pulpcore_db.rb +57 -0
- data/definitions/procedures/backup/online/pulpcore_db.rb +20 -0
- data/definitions/procedures/backup/snapshot/logical_volume_confirmation.rb +1 -0
- data/definitions/procedures/backup/snapshot/mount_pulpcore_db.rb +48 -0
- data/definitions/procedures/content/prepare.rb +2 -2
- data/definitions/procedures/content/switchover.rb +22 -0
- data/definitions/procedures/hammer_setup.rb +1 -1
- data/definitions/procedures/installer/run.rb +3 -1
- data/definitions/procedures/installer/upgrade.rb +6 -1
- data/definitions/procedures/packages/installer_confirmation.rb +1 -1
- data/definitions/procedures/packages/update.rb +1 -1
- data/definitions/procedures/packages/update_all_confirmation.rb +24 -0
- data/definitions/procedures/pulpcore/migrate.rb +25 -0
- data/definitions/procedures/restore/configs.rb +6 -0
- data/definitions/procedures/restore/drop_databases.rb +11 -1
- data/definitions/procedures/restore/extract_files.rb +1 -0
- data/definitions/procedures/restore/pulpcore_dump.rb +30 -0
- data/definitions/procedures/restore/regenerate_queues.rb +69 -0
- data/definitions/procedures/service/stop.rb +1 -1
- data/definitions/scenarios/backup.rb +21 -4
- data/definitions/scenarios/content.rb +27 -0
- data/definitions/scenarios/packages.rb +38 -14
- data/definitions/scenarios/restore.rb +10 -2
- data/definitions/scenarios/upgrade_to_capsule_6_7.rb +88 -0
- data/definitions/scenarios/upgrade_to_capsule_6_7_z.rb +88 -0
- data/definitions/scenarios/upgrade_to_capsule_6_8.rb +88 -0
- data/definitions/scenarios/upgrade_to_capsule_6_8_z.rb +88 -0
- data/definitions/scenarios/upgrade_to_satellite_6_2.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_2_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_3.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_3_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_4.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_4_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_5.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_5_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_6.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_6_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_7.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_7_z.rb +13 -5
- data/definitions/scenarios/upgrade_to_satellite_6_8.rb +88 -0
- data/definitions/scenarios/upgrade_to_satellite_6_8_z.rb +88 -0
- data/extras/foreman_protector/foreman-protector.py +1 -1
- data/lib/foreman_maintain.rb +31 -0
- data/lib/foreman_maintain/cli.rb +2 -0
- data/lib/foreman_maintain/cli/content_command.rb +17 -0
- data/lib/foreman_maintain/cli/packages_command.rb +1 -1
- data/lib/foreman_maintain/cli/upgrade_command.rb +10 -0
- data/lib/foreman_maintain/concerns/base_database.rb +16 -1
- data/lib/foreman_maintain/concerns/downstream.rb +14 -10
- data/lib/foreman_maintain/feature.rb +4 -0
- data/lib/foreman_maintain/package_manager/dnf.rb +11 -5
- data/lib/foreman_maintain/package_manager/yum.rb +15 -5
- data/lib/foreman_maintain/reporter/cli_reporter.rb +6 -6
- data/lib/foreman_maintain/upgrade_runner.rb +20 -26
- data/lib/foreman_maintain/utils/backup.rb +62 -62
- data/lib/foreman_maintain/utils/disk/io_device.rb +1 -1
- data/lib/foreman_maintain/utils/facter.rb +1 -1
- data/lib/foreman_maintain/utils/service/abstract.rb +6 -0
- data/lib/foreman_maintain/version.rb +1 -1
- metadata +184 -165
- data/definitions/checks/check_epel_repository.rb +0 -21
@@ -0,0 +1,30 @@
|
|
1
|
+
module Procedures::Restore
|
2
|
+
class PulpcoreDump < ForemanMaintain::Procedure
|
3
|
+
metadata do
|
4
|
+
description 'Restore pulpcore postgresql dump from backup'
|
5
|
+
param :backup_dir,
|
6
|
+
'Path to backup directory',
|
7
|
+
:required => true
|
8
|
+
preparation_steps { Checks::Pulpcore::DBUp.new }
|
9
|
+
confine do
|
10
|
+
feature(:pulpcore_database)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def run
|
15
|
+
backup = ForemanMaintain::Utils::Backup.new(@backup_dir)
|
16
|
+
|
17
|
+
with_spinner('Restoring pulpcore postgresql dump') do |spinner|
|
18
|
+
restore_pulpcore_dump(backup, spinner)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def restore_pulpcore_dump(backup, spinner)
|
23
|
+
if backup.file_map[:pulpcore_dump][:present]
|
24
|
+
spinner.update('Restoring pulpcore dump')
|
25
|
+
local = feature(:pulpcore_database).local?
|
26
|
+
feature(:pulpcore_database).restore_dump(backup.file_map[:pulpcore_dump][:path], local)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module Procedures::Restore
|
2
|
+
class RegenerateQueues < ForemanMaintain::Procedure
|
3
|
+
metadata do
|
4
|
+
advanced_run false
|
5
|
+
description 'Regenerate required activemq and qpidd queues while restoring online backup'
|
6
|
+
confine do
|
7
|
+
feature(:pulp2)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def qpid_router_broker_port
|
12
|
+
@qpid_router_broker_port ||= feature(:installer).
|
13
|
+
answers['foreman_proxy_content']['qpid_router_broker_port']
|
14
|
+
end
|
15
|
+
|
16
|
+
def qpid_configs
|
17
|
+
@qpid_configs ||= {
|
18
|
+
'ssl_cert' => "/etc/pki/katello/certs/#{hostname}-qpid-broker.crt",
|
19
|
+
'ssl_key' => "/etc/pki/katello/private/#{hostname}-qpid-broker.key",
|
20
|
+
'amqps_url' => "amqps://localhost:#{qpid_router_broker_port}"
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
def katello_events
|
25
|
+
%w[compliance.created
|
26
|
+
entitlement.created
|
27
|
+
entitlement.deleted
|
28
|
+
pool.created
|
29
|
+
pool.deleted]
|
30
|
+
end
|
31
|
+
|
32
|
+
def run
|
33
|
+
with_spinner('Resetting the queues') do |spinner|
|
34
|
+
regenerate_activemq_queues(spinner)
|
35
|
+
regenerate_qpidd_queues(spinner)
|
36
|
+
spinner.update('Queues created successfully')
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def regenerate_activemq_queues(spinner)
|
41
|
+
# The activemq queues(/var/lib/candlepin/activemq-artemis) regenerate on tomcat restart.
|
42
|
+
# After stopping the tomcat here, service start is triggered from the restore scenario.
|
43
|
+
spinner.update('Stopping tomcat service')
|
44
|
+
feature(:candlepin).services.select(&:exist?).first.stop
|
45
|
+
spinner.update('Recreating activemq queues')
|
46
|
+
execute!('rm -rf /var/lib/candlepin/activemq-artemis/')
|
47
|
+
end
|
48
|
+
|
49
|
+
def run_qpid_command(opts)
|
50
|
+
execute!("qpid-config --ssl-certificate #{qpid_configs['ssl_cert']} \\
|
51
|
+
--ssl-key #{qpid_configs['ssl_key']} -b #{qpid_configs['amqps_url']} #{opts}")
|
52
|
+
end
|
53
|
+
|
54
|
+
def regenerate_qpidd_queues(spinner)
|
55
|
+
feature(:service).handle_services(spinner, 'stop', :only => ['qpidd'])
|
56
|
+
execute!('rm -rf /var/lib/qpidd/.qpidd/qls')
|
57
|
+
spinner.update('Starting qpidd service')
|
58
|
+
feature(:service).handle_services(spinner, 'start', :only => ['qpidd'])
|
59
|
+
spinner.update('Service qpidd started, waiting 60 seconds to start it completely')
|
60
|
+
sleep 60
|
61
|
+
spinner.update('Recreating qpidd queues')
|
62
|
+
run_qpid_command('add exchange topic event --durable')
|
63
|
+
run_qpid_command('add queue katello_event_queue --durable')
|
64
|
+
katello_events.each do |event|
|
65
|
+
run_qpid_command("bind event katello_event_queue #{event}")
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -51,12 +51,15 @@ module ForemanMaintain::Scenarios
|
|
51
51
|
Procedures::Backup::Online::PgGlobalObjects => :backup_dir,
|
52
52
|
Procedures::Backup::Online::CandlepinDB => :backup_dir,
|
53
53
|
Procedures::Backup::Online::ForemanDB => :backup_dir,
|
54
|
+
Procedures::Backup::Online::PulpcoreDB => :backup_dir,
|
54
55
|
Procedures::Backup::Offline::CandlepinDB => :backup_dir,
|
55
56
|
Procedures::Backup::Offline::ForemanDB => :backup_dir,
|
57
|
+
Procedures::Backup::Offline::PulpcoreDB => :backup_dir,
|
56
58
|
Procedures::Backup::Offline::Mongo => :backup_dir,
|
57
59
|
Procedures::Backup::Snapshot::LogicalVolumeConfirmation => :backup_dir,
|
58
60
|
Procedures::Backup::Snapshot::MountCandlepinDB => :backup_dir,
|
59
61
|
Procedures::Backup::Snapshot::MountForemanDB => :backup_dir,
|
62
|
+
Procedures::Backup::Snapshot::MountPulpcoreDB => :backup_dir,
|
60
63
|
Procedures::Backup::Snapshot::MountMongo => :backup_dir)
|
61
64
|
context.map(:preserve_dir,
|
62
65
|
Checks::Backup::DirectoryReady => :preserve_dir,
|
@@ -73,15 +76,18 @@ module ForemanMaintain::Scenarios
|
|
73
76
|
Procedures::Backup::Snapshot::CleanMount => :mount_dir,
|
74
77
|
Procedures::Backup::Snapshot::MountCandlepinDB => :mount_dir,
|
75
78
|
Procedures::Backup::Snapshot::MountForemanDB => :mount_dir,
|
79
|
+
Procedures::Backup::Snapshot::MountPulpcoreDB => :mount_dir,
|
76
80
|
Procedures::Backup::Offline::Mongo => :mount_dir,
|
77
81
|
Procedures::Backup::Pulp => :mount_dir,
|
78
82
|
Procedures::Backup::Offline::CandlepinDB => :mount_dir,
|
79
|
-
Procedures::Backup::Offline::ForemanDB => :mount_dir
|
83
|
+
Procedures::Backup::Offline::ForemanDB => :mount_dir,
|
84
|
+
Procedures::Backup::Offline::PulpcoreDB => :mount_dir)
|
80
85
|
context.map(:snapshot_block_size,
|
81
86
|
Procedures::Backup::Snapshot::MountMongo => :block_size,
|
82
87
|
Procedures::Backup::Snapshot::MountPulp => :block_size,
|
83
88
|
Procedures::Backup::Snapshot::MountForemanDB => :block_size,
|
84
|
-
Procedures::Backup::Snapshot::MountCandlepinDB => :block_size
|
89
|
+
Procedures::Backup::Snapshot::MountCandlepinDB => :block_size,
|
90
|
+
Procedures::Backup::Snapshot::MountPulpcoreDB => :block_size)
|
85
91
|
context.map(:skip_pulp_content,
|
86
92
|
Procedures::Backup::Pulp => :skip,
|
87
93
|
Procedures::Backup::Snapshot::LogicalVolumeConfirmation => :skip_pulp,
|
@@ -135,6 +141,7 @@ module ForemanMaintain::Scenarios
|
|
135
141
|
Procedures::Backup::Offline::Mongo,
|
136
142
|
Procedures::Backup::Offline::CandlepinDB,
|
137
143
|
Procedures::Backup::Offline::ForemanDB,
|
144
|
+
Procedures::Backup::Offline::PulpcoreDB,
|
138
145
|
Procedures::Service::Start,
|
139
146
|
find_procedures(:maintenance_mode_off)
|
140
147
|
)
|
@@ -150,6 +157,9 @@ module ForemanMaintain::Scenarios
|
|
150
157
|
if feature(:instance).database_local?(:foreman_database)
|
151
158
|
add_step_with_context(Procedures::Backup::Online::ForemanDB)
|
152
159
|
end
|
160
|
+
if feature(:instance).database_local?(:pulpcore_database)
|
161
|
+
add_step_with_context(Procedures::Backup::Online::PulpcoreDB)
|
162
|
+
end
|
153
163
|
if feature(:instance).database_local?(:mongo)
|
154
164
|
add_step_with_context(Procedures::Backup::Online::Mongo)
|
155
165
|
end
|
@@ -168,6 +178,7 @@ module ForemanMaintain::Scenarios
|
|
168
178
|
Procedures::Backup::Snapshot::MountPulp,
|
169
179
|
Procedures::Backup::Snapshot::MountCandlepinDB,
|
170
180
|
Procedures::Backup::Snapshot::MountForemanDB,
|
181
|
+
Procedures::Backup::Snapshot::MountPulpcoreDB,
|
171
182
|
Procedures::Service::Start,
|
172
183
|
find_procedures(:maintenance_mode_off),
|
173
184
|
Procedures::Backup::Pulp
|
@@ -178,6 +189,9 @@ module ForemanMaintain::Scenarios
|
|
178
189
|
if feature(:instance).database_local?(:foreman_database)
|
179
190
|
add_step_with_context(Procedures::Backup::Offline::ForemanDB)
|
180
191
|
end
|
192
|
+
if feature(:instance).database_local?(:pulpcore_database)
|
193
|
+
add_step_with_context(Procedures::Backup::Offline::PulpcoreDB)
|
194
|
+
end
|
181
195
|
if feature(:instance).database_local?(:mongo)
|
182
196
|
add_step_with_context(Procedures::Backup::Offline::Mongo)
|
183
197
|
end
|
@@ -186,14 +200,17 @@ module ForemanMaintain::Scenarios
|
|
186
200
|
# rubocop:enable Metrics/MethodLength
|
187
201
|
|
188
202
|
def add_online_backup_steps
|
189
|
-
add_step_with_context(Procedures::Backup::ConfigFiles, :ignore_changed_files => true
|
203
|
+
add_step_with_context(Procedures::Backup::ConfigFiles, :ignore_changed_files => true,
|
204
|
+
:online_backup => true)
|
190
205
|
add_step_with_context(Procedures::Backup::Pulp, :ensure_unchanged => true)
|
191
206
|
add_steps_with_context(
|
192
207
|
Procedures::Backup::Online::Mongo,
|
193
208
|
Procedures::Backup::Online::PgGlobalObjects,
|
194
209
|
Procedures::Backup::Online::CandlepinDB,
|
195
|
-
Procedures::Backup::Online::ForemanDB
|
210
|
+
Procedures::Backup::Online::ForemanDB,
|
211
|
+
Procedures::Backup::Online::PulpcoreDB
|
196
212
|
)
|
213
|
+
add_step_with_context(Procedures::Backup::Metadata, :online_backup => true)
|
197
214
|
end
|
198
215
|
|
199
216
|
def strategy
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module ForemanMaintain::Scenarios
|
2
|
+
module Content
|
3
|
+
class Prepare < ForemanMaintain::Scenario
|
4
|
+
metadata do
|
5
|
+
label :content_prepare
|
6
|
+
description 'Prepare content for Pulp 3'
|
7
|
+
manual_detection
|
8
|
+
end
|
9
|
+
|
10
|
+
def compose
|
11
|
+
add_step(Procedures::Content::Prepare)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class Switchover < ForemanMaintain::Scenario
|
16
|
+
metadata do
|
17
|
+
label :content_switchover
|
18
|
+
description 'Switch support for certain content from Pulp 2 to Pulp 3'
|
19
|
+
manual_detection
|
20
|
+
end
|
21
|
+
|
22
|
+
def compose
|
23
|
+
add_step(Procedures::Content::Switchover)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -1,5 +1,16 @@
|
|
1
1
|
module ForemanMaintain::Scenarios
|
2
2
|
module Packages
|
3
|
+
def self.skip_installer_run?(packages_list)
|
4
|
+
packages_list = packages_list.split(',').map(&:strip) if packages_list.is_a?(String)
|
5
|
+
|
6
|
+
return false unless packages_list.any? { |p| p.include?('foreman_maintain') }
|
7
|
+
return true if packages_list.length == 1
|
8
|
+
|
9
|
+
fm_pkg = ForemanMaintain.main_package_name
|
10
|
+
puts "ERROR: install or update '#{fm_pkg}' package individually."
|
11
|
+
exit 1
|
12
|
+
end
|
13
|
+
|
3
14
|
class Status < ForemanMaintain::Scenario
|
4
15
|
metadata do
|
5
16
|
label :packages_status
|
@@ -45,13 +56,17 @@ module ForemanMaintain::Scenarios
|
|
45
56
|
end
|
46
57
|
|
47
58
|
def compose
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
59
|
+
if Packages.skip_installer_run?(context.get(:packages))
|
60
|
+
add_step_with_context(Procedures::Packages::Install,
|
61
|
+
:force => true, :warn_on_errors => true)
|
62
|
+
else
|
63
|
+
add_step_with_context(Procedures::Packages::InstallerConfirmation)
|
64
|
+
add_step_with_context(Procedures::Packages::UnlockVersions)
|
65
|
+
add_step_with_context(Procedures::Packages::Install,
|
66
|
+
:force => true, :warn_on_errors => true)
|
67
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
68
|
+
add_step(Procedures::Packages::LockingStatus)
|
69
|
+
end
|
55
70
|
end
|
56
71
|
|
57
72
|
def set_context_mapping
|
@@ -71,17 +86,26 @@ module ForemanMaintain::Scenarios
|
|
71
86
|
end
|
72
87
|
|
73
88
|
def compose
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
89
|
+
if Packages.skip_installer_run?(context.get(:packages))
|
90
|
+
add_step_with_context(Procedures::Packages::Update,
|
91
|
+
:force => true, :warn_on_errors => true)
|
92
|
+
else
|
93
|
+
add_steps_with_context(
|
94
|
+
Procedures::Packages::UpdateAllConfirmation,
|
95
|
+
Procedures::Packages::InstallerConfirmation,
|
96
|
+
Procedures::Packages::UnlockVersions
|
97
|
+
)
|
98
|
+
add_step_with_context(Procedures::Packages::Update,
|
99
|
+
:force => true, :warn_on_errors => true)
|
100
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
101
|
+
add_step(Procedures::Packages::LockingStatus)
|
102
|
+
end
|
80
103
|
end
|
81
104
|
|
82
105
|
def set_context_mapping
|
83
106
|
context.map(:packages,
|
84
|
-
Procedures::Packages::Update => :packages
|
107
|
+
Procedures::Packages::Update => :packages,
|
108
|
+
Procedures::Packages::UpdateAllConfirmation => :packages)
|
85
109
|
context.map(:assumeyes,
|
86
110
|
Procedures::Packages::Update => :assumeyes)
|
87
111
|
end
|
@@ -36,14 +36,18 @@ module ForemanMaintain::Scenarios
|
|
36
36
|
end
|
37
37
|
restore_mongo_dump(backup)
|
38
38
|
add_steps_with_context(Procedures::Pulp::Migrate,
|
39
|
-
Procedures::
|
39
|
+
Procedures::Pulpcore::Migrate)
|
40
|
+
|
41
|
+
add_steps_with_context(Procedures::Restore::RegenerateQueues) if backup.online_backup?
|
42
|
+
add_steps_with_context(Procedures::Service::Start,
|
40
43
|
Procedures::Service::DaemonReload)
|
41
44
|
end
|
42
45
|
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize
|
43
46
|
|
44
47
|
def drop_dbs(backup)
|
45
48
|
if backup.file_map[:candlepin_dump][:present] ||
|
46
|
-
backup.file_map[:foreman_dump][:present]
|
49
|
+
backup.file_map[:foreman_dump][:present] ||
|
50
|
+
(feature(:pulpcore) && backup.file_map[:pulpcore_dump][:present])
|
47
51
|
add_steps_with_context(Procedures::Restore::DropDatabases)
|
48
52
|
end
|
49
53
|
end
|
@@ -58,6 +62,9 @@ module ForemanMaintain::Scenarios
|
|
58
62
|
if backup.file_map[:foreman_dump][:present]
|
59
63
|
add_steps_with_context(Procedures::Restore::ForemanDump)
|
60
64
|
end
|
65
|
+
if feature(:pulpcore) && backup.file_map[:pulpcore_dump][:present]
|
66
|
+
add_steps_with_context(Procedures::Restore::PulpcoreDump)
|
67
|
+
end
|
61
68
|
end
|
62
69
|
|
63
70
|
def restore_mongo_dump(backup)
|
@@ -83,6 +90,7 @@ module ForemanMaintain::Scenarios
|
|
83
90
|
Procedures::Restore::PgGlobalObjects => :backup_dir,
|
84
91
|
Procedures::Restore::CandlepinDump => :backup_dir,
|
85
92
|
Procedures::Restore::ForemanDump => :backup_dir,
|
93
|
+
Procedures::Restore::PulpcoreDump => :backup_dir,
|
86
94
|
Procedures::Restore::ExtractFiles => :backup_dir,
|
87
95
|
Procedures::Restore::MongoDump => :backup_dir)
|
88
96
|
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Scenarios::Capsule_6_7
|
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.6' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.7')
|
10
|
+
end
|
11
|
+
instance_eval(&block)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.7'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class PreUpgradeCheck < Abstract
|
21
|
+
upgrade_metadata do
|
22
|
+
description 'Checks before upgrading to Capsule 6.7'
|
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.7'))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class PreMigrations < Abstract
|
35
|
+
upgrade_metadata do
|
36
|
+
description 'Procedures before migrating to Capsule 6.7'
|
37
|
+
tags :pre_migrations
|
38
|
+
end
|
39
|
+
|
40
|
+
def compose
|
41
|
+
add_steps(find_procedures(:pre_migrations))
|
42
|
+
add_step(Procedures::Service::Stop.new)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class Migrations < Abstract
|
47
|
+
upgrade_metadata do
|
48
|
+
description 'Migration scripts to Capsule 6.7'
|
49
|
+
tags :migrations
|
50
|
+
end
|
51
|
+
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
56
|
+
def compose
|
57
|
+
add_step(Procedures::Repositories::Setup.new(:version => '6.7'))
|
58
|
+
add_step(Procedures::Packages::UnlockVersions.new)
|
59
|
+
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
class PostMigrations < Abstract
|
65
|
+
upgrade_metadata do
|
66
|
+
description 'Procedures after migrating to Capsule 6.7'
|
67
|
+
tags :post_migrations
|
68
|
+
end
|
69
|
+
|
70
|
+
def compose
|
71
|
+
add_step(Procedures::Service::Start.new)
|
72
|
+
add_steps(find_procedures(:post_migrations))
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
class PostUpgradeChecks < Abstract
|
77
|
+
upgrade_metadata do
|
78
|
+
description 'Checks after upgrading to Capsule 6.7'
|
79
|
+
tags :post_upgrade_checks
|
80
|
+
run_strategy :fail_slow
|
81
|
+
end
|
82
|
+
|
83
|
+
def compose
|
84
|
+
add_steps(find_checks(:default))
|
85
|
+
add_steps(find_checks(:post_upgrade))
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Scenarios::Capsule_6_7_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.7' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.7.z')
|
10
|
+
end
|
11
|
+
instance_eval(&block)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.7.z'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class PreUpgradeCheck < Abstract
|
21
|
+
upgrade_metadata do
|
22
|
+
description 'Checks before upgrading to Capsule 6.7.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.7'))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class PreMigrations < Abstract
|
35
|
+
upgrade_metadata do
|
36
|
+
description 'Procedures before migrating to Capsule 6.7.z'
|
37
|
+
tags :pre_migrations
|
38
|
+
end
|
39
|
+
|
40
|
+
def compose
|
41
|
+
add_steps(find_procedures(:pre_migrations))
|
42
|
+
add_step(Procedures::Service::Stop.new)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
class Migrations < Abstract
|
47
|
+
upgrade_metadata do
|
48
|
+
description 'Migration scripts to Capsule 6.7.z'
|
49
|
+
tags :migrations
|
50
|
+
end
|
51
|
+
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
56
|
+
def compose
|
57
|
+
add_step(Procedures::Repositories::Setup.new(:version => '6.7'))
|
58
|
+
add_step(Procedures::Packages::UnlockVersions.new)
|
59
|
+
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
class PostMigrations < Abstract
|
65
|
+
upgrade_metadata do
|
66
|
+
description 'Procedures after migrating to Capsule 6.7.z'
|
67
|
+
tags :post_migrations
|
68
|
+
end
|
69
|
+
|
70
|
+
def compose
|
71
|
+
add_step(Procedures::Service::Start.new)
|
72
|
+
add_steps(find_procedures(:post_migrations))
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
class PostUpgradeChecks < Abstract
|
77
|
+
upgrade_metadata do
|
78
|
+
description 'Checks after upgrading to Capsule 6.7.z'
|
79
|
+
tags :post_upgrade_checks
|
80
|
+
run_strategy :fail_slow
|
81
|
+
end
|
82
|
+
|
83
|
+
def compose
|
84
|
+
add_steps(find_checks(:default))
|
85
|
+
add_steps(find_checks(:post_upgrade))
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|