foreman_maintain 0.8.10 → 0.8.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/definitions/checks/remote_execution/verify_settings_file_already_exists.rb +1 -1
- data/definitions/features/foreman_cockpit.rb +1 -1
- data/definitions/features/foreman_database.rb +5 -5
- data/definitions/features/foreman_openscap.rb +1 -1
- data/definitions/features/foreman_tasks.rb +1 -2
- data/definitions/features/hammer.rb +1 -2
- data/definitions/features/pulp2.rb +4 -11
- data/definitions/features/pulpcore.rb +2 -4
- data/definitions/features/pulpcore_database.rb +3 -1
- data/definitions/features/redis.rb +9 -3
- data/definitions/procedures/backup/pulp.rb +12 -4
- data/definitions/procedures/backup/snapshot/mount_pulp.rb +9 -3
- data/definitions/procedures/foreman_docker/remove_foreman_docker.rb +4 -6
- data/definitions/procedures/restore/extract_files.rb +4 -1
- data/lib/foreman_maintain/concerns/base_database.rb +8 -1
- data/lib/foreman_maintain/concerns/pulp_common.rb +22 -0
- data/lib/foreman_maintain/concerns/system_helpers.rb +46 -9
- data/lib/foreman_maintain/utils/backup.rb +102 -38
- data/lib/foreman_maintain/version.rb +1 -1
- data/lib/foreman_maintain.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a1545da34c13b7d23d4a987c73efd4e49e5b30823f7e9cf7fdc0124488f2e51f
|
4
|
+
data.tar.gz: ceb981e4ef8fcfa635194b38b91eab356372f62d66b8d20cd47e1ca42b3140d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cbfe9d38c82fcdb7ee303fd2994e490174fbf7abb7ab454057f7d0118b18e77a3c6fe9633d1ef88d4846e515fb4a2f60060ffafc0ea92b10ee119b8a185f5292
|
7
|
+
data.tar.gz: 5e966342075c528158d2581c3550ea2ea9df66f57a4cad96307d563f395a39b31f6a39bd5257959aa884d9a4749045b0286cd6e8bd07f902853c49557566275d
|
@@ -6,7 +6,7 @@ module Checks::RemoteExecution
|
|
6
6
|
confine do
|
7
7
|
feature(:instance).downstream &&
|
8
8
|
feature(:instance).downstream.current_minor_version == '6.2' &&
|
9
|
-
find_package('
|
9
|
+
find_package(proxy_plugin_name('dynflow_core')) &&
|
10
10
|
file_exists?('/etc/smart_proxy_dynflow_core')
|
11
11
|
end
|
12
12
|
end
|
@@ -3,7 +3,7 @@ class Features::ForemanCockpit < ForemanMaintain::Feature
|
|
3
3
|
label :foreman_cockpit
|
4
4
|
|
5
5
|
confine do
|
6
|
-
server? && find_package('
|
6
|
+
server? && find_package(foreman_plugin_name('foreman_remote_execution-cockpit'))
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
@@ -16,11 +16,11 @@ class Features::ForemanDatabase < ForemanMaintain::Feature
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def config_files
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
[postgresql_conf]
|
20
|
+
end
|
21
|
+
|
22
|
+
def postgresql_conf
|
23
|
+
"#{data_dir}/postgresql.conf"
|
24
24
|
end
|
25
25
|
|
26
26
|
def services
|
@@ -23,8 +23,7 @@ class Features::ForemanTasks < ForemanMaintain::Feature
|
|
23
23
|
label :foreman_tasks
|
24
24
|
|
25
25
|
confine do
|
26
|
-
|
27
|
-
check_min_version('tfm-rubygem-foreman-tasks', '0.7')
|
26
|
+
find_package(foreman_plugin_name('foreman-tasks'))
|
28
27
|
end
|
29
28
|
end
|
30
29
|
|
@@ -1,11 +1,14 @@
|
|
1
1
|
class Features::Pulp < ForemanMaintain::Feature
|
2
2
|
include ForemanMaintain::Concerns::DirectoryMarker
|
3
|
+
include ForemanMaintain::Concerns::PulpCommon
|
3
4
|
|
4
5
|
metadata do
|
5
6
|
label :pulp2
|
6
7
|
|
7
8
|
confine do
|
8
|
-
|
9
|
+
!check_min_version('katello-common', '4.0') &&
|
10
|
+
ForemanMaintain::Utils::Service::Systemd.new('pulp_resource_manager', 0).exist? &&
|
11
|
+
ForemanMaintain::Utils::Service::Systemd.new('pulp_resource_manager', 0).enabled?
|
9
12
|
end
|
10
13
|
end
|
11
14
|
|
@@ -22,10 +25,6 @@ class Features::Pulp < ForemanMaintain::Feature
|
|
22
25
|
]
|
23
26
|
end
|
24
27
|
|
25
|
-
def data_dir
|
26
|
-
'/var/lib/pulp'
|
27
|
-
end
|
28
|
-
|
29
28
|
def config_files
|
30
29
|
[
|
31
30
|
'/etc/pki/pulp',
|
@@ -34,10 +33,4 @@ class Features::Pulp < ForemanMaintain::Feature
|
|
34
33
|
'/etc/default/pulp_workers'
|
35
34
|
]
|
36
35
|
end
|
37
|
-
|
38
|
-
def exclude_from_backup
|
39
|
-
# Exclude /var/lib/pulp/katello-export and /var/lib/pulp/cache
|
40
|
-
# since the tar is run from /var/lib/pulp, list subdir paths only
|
41
|
-
['katello-export', 'cache']
|
42
|
-
end
|
43
36
|
end
|
@@ -11,10 +11,8 @@ class Features::Pulpcore < ForemanMaintain::Feature
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def services
|
14
|
-
self.class.pulpcore_common_services + configured_workers +
|
15
|
-
|
16
|
-
system_service('httpd', 30)
|
17
|
-
]
|
14
|
+
self.class.pulpcore_common_services + configured_workers +
|
15
|
+
feature(:redis).services + feature(:apache).services
|
18
16
|
end
|
19
17
|
|
20
18
|
def configured_workers
|
@@ -2,12 +2,14 @@ class Features::PulpcoreDatabase < ForemanMaintain::Feature
|
|
2
2
|
PULPCORE_DB_CONFIG = '/etc/pulp/settings.py'.freeze
|
3
3
|
|
4
4
|
include ForemanMaintain::Concerns::BaseDatabase
|
5
|
+
include ForemanMaintain::Concerns::DirectoryMarker
|
6
|
+
include ForemanMaintain::Concerns::PulpCommon
|
5
7
|
|
6
8
|
metadata do
|
7
9
|
label :pulpcore_database
|
8
10
|
|
9
11
|
confine do
|
10
|
-
file_nonzero?(PULPCORE_DB_CONFIG)
|
12
|
+
file_nonzero?(PULPCORE_DB_CONFIG) && check_min_version('katello-common', '3.18')
|
11
13
|
end
|
12
14
|
end
|
13
15
|
|
@@ -9,7 +9,7 @@ class Features::Redis < ForemanMaintain::Feature
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def services
|
12
|
-
[system_service(self.class.service_name,
|
12
|
+
[system_service(self.class.service_name, 5)]
|
13
13
|
end
|
14
14
|
|
15
15
|
def config_files
|
@@ -20,11 +20,17 @@ class Features::Redis < ForemanMaintain::Feature
|
|
20
20
|
SCL_NAME = 'rh-redis5'.freeze
|
21
21
|
|
22
22
|
def etc_prefix
|
23
|
-
|
23
|
+
if el7?
|
24
|
+
"/etc/opt/rh/#{SCL_NAME}"
|
25
|
+
else
|
26
|
+
'/etc'
|
27
|
+
end
|
24
28
|
end
|
25
29
|
|
26
30
|
def scl_prefix
|
27
|
-
|
31
|
+
if el7?
|
32
|
+
"#{SCL_NAME}-"
|
33
|
+
end
|
28
34
|
end
|
29
35
|
|
30
36
|
def service_name
|
@@ -3,12 +3,15 @@ module Procedures::Backup
|
|
3
3
|
metadata do
|
4
4
|
description 'Backup Pulp data'
|
5
5
|
tags :backup
|
6
|
-
for_feature :pulp2
|
7
6
|
param :backup_dir, 'Directory where to backup to', :required => true
|
8
7
|
param :tar_volume_size, 'Size of tar volume (indicates splitting)'
|
9
8
|
param :ensure_unchanged, 'Ensure the data did not change during backup'
|
10
9
|
param :skip, 'Skip Pulp content during backup'
|
11
10
|
param :mount_dir, 'Snapshot mount directory'
|
11
|
+
|
12
|
+
confine do
|
13
|
+
feature(:pulp2) || feature(:pulpcore_database)
|
14
|
+
end
|
12
15
|
end
|
13
16
|
|
14
17
|
def run
|
@@ -26,11 +29,15 @@ module Procedures::Backup
|
|
26
29
|
|
27
30
|
private
|
28
31
|
|
32
|
+
def any_pulp_feature
|
33
|
+
feature(:pulp2) || feature(:pulpcore_database)
|
34
|
+
end
|
35
|
+
|
29
36
|
def pulp_backup
|
30
37
|
feature(:tar).run(
|
31
38
|
:archive => File.join(@backup_dir, 'pulp_data.tar'),
|
32
39
|
:command => 'create',
|
33
|
-
:exclude =>
|
40
|
+
:exclude => any_pulp_feature.exclude_from_backup,
|
34
41
|
:listed_incremental => File.join(@backup_dir, '.pulp.snar'),
|
35
42
|
:transform => 's,^,var/lib/pulp/,S',
|
36
43
|
:volume_size => @tar_volume_size,
|
@@ -39,9 +46,10 @@ module Procedures::Backup
|
|
39
46
|
end
|
40
47
|
|
41
48
|
def pulp_dir
|
42
|
-
return
|
49
|
+
return any_pulp_feature.pulp_data_dir if @mount_dir.nil?
|
50
|
+
|
43
51
|
mount_point = File.join(@mount_dir, 'pulp')
|
44
|
-
dir =
|
52
|
+
dir = any_pulp_feature.find_marked_directory(mount_point)
|
45
53
|
unless dir
|
46
54
|
raise ForemanMaintain::Error::Fail,
|
47
55
|
"Pulp base directory not found in the mount point (#{mount_point})"
|
@@ -5,22 +5,28 @@ module Procedures::Backup
|
|
5
5
|
metadata do
|
6
6
|
description 'Create and mount snapshot of Pulp data'
|
7
7
|
tags :backup
|
8
|
-
for_feature :pulp2
|
9
8
|
MountBase.common_params(self)
|
10
9
|
param :skip, 'Skip Pulp content during backup'
|
10
|
+
confine do
|
11
|
+
feature(:pulp2) || feature(:pulpcore_database)
|
12
|
+
end
|
11
13
|
end
|
12
14
|
|
13
15
|
def run
|
14
16
|
skip if @skip
|
15
17
|
with_spinner('Creating snapshot of Pulp') do |spinner|
|
16
|
-
|
17
|
-
lv_info = get_lv_info(
|
18
|
+
current_pulp_feature.with_marked_directory(current_pulp_feature.data_dir) do
|
19
|
+
lv_info = get_lv_info(current_pulp_feature.data_dir)
|
18
20
|
create_lv_snapshot('pulp-snap', @block_size, lv_info[0])
|
19
21
|
spinner.update("Mounting snapshot of Pulp on #{mount_location('pulp')}")
|
20
22
|
mount_snapshot('pulp', lv_info[1])
|
21
23
|
end
|
22
24
|
end
|
23
25
|
end
|
26
|
+
|
27
|
+
def current_pulp_feature
|
28
|
+
feature(:pulp2) || feature(:pulpcore_database)
|
29
|
+
end
|
24
30
|
end
|
25
31
|
end
|
26
32
|
end
|
@@ -3,16 +3,14 @@ module Procedures::ForemanDocker
|
|
3
3
|
metadata do
|
4
4
|
advanced_run false
|
5
5
|
description 'Drop foreman_docker plugin'
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
'tfm-rubygem-foreman_docker'
|
6
|
+
confine do
|
7
|
+
find_package(foreman_plugin_name('foreman_docker'))
|
8
|
+
end
|
10
9
|
end
|
11
10
|
|
12
11
|
def run
|
13
|
-
return unless execute?("rpm -q #{docker_package}")
|
14
12
|
execute!('foreman-rake foreman_docker:cleanup')
|
15
|
-
packages_action(:remove,
|
13
|
+
packages_action(:remove, foreman_plugin_name('foreman_docker'), :assumeyes => true)
|
16
14
|
end
|
17
15
|
end
|
18
16
|
end
|
@@ -63,9 +63,12 @@ module Procedures::Restore
|
|
63
63
|
def extract_pgsql_data(backup)
|
64
64
|
pgsql_data_tar = base_tar.merge(
|
65
65
|
:archive => backup.file_map[:pgsql_data][:path],
|
66
|
-
:gzip => true
|
66
|
+
:gzip => true,
|
67
|
+
:transform => feature(:foreman_database).restore_transform
|
67
68
|
)
|
68
69
|
feature(:tar).run(pgsql_data_tar)
|
70
|
+
# workaround for https://tickets.puppetlabs.com/browse/MODULES-11160
|
71
|
+
execute("sed -i '/data_directory/d' #{feature(:foreman_database).postgresql_conf}")
|
69
72
|
end
|
70
73
|
end
|
71
74
|
end
|
@@ -2,13 +2,20 @@ module ForemanMaintain
|
|
2
2
|
module Concerns
|
3
3
|
module BaseDatabase
|
4
4
|
def data_dir
|
5
|
-
if el7? &&
|
5
|
+
if el7? && package_manager.installed?('rh-postgresql12-postgresql-server-syspaths')
|
6
6
|
'/var/opt/rh/rh-postgresql12/lib/pgsql/data/'
|
7
7
|
else
|
8
8
|
'/var/lib/pgsql/data/'
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
+
def restore_transform
|
13
|
+
if el8?
|
14
|
+
# this allows to transform an EL7 backup to EL8 paths
|
15
|
+
's,^var/opt/rh/rh-postgresql12/,var/,S'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
12
19
|
def configuration
|
13
20
|
raise NotImplementedError
|
14
21
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module ForemanMaintain
|
2
|
+
module Concerns
|
3
|
+
module PulpCommon
|
4
|
+
def pulp_data_dir
|
5
|
+
'/var/lib/pulp'
|
6
|
+
end
|
7
|
+
|
8
|
+
def exclude_from_backup
|
9
|
+
# For pulp2:
|
10
|
+
# Exclude /var/lib/pulp/katello-export and /var/lib/pulp/cache
|
11
|
+
# since the tar is run from /var/lib/pulp, list subdir paths only
|
12
|
+
# For pulp3/pulpcore:
|
13
|
+
pulp2_dirs = %w[katello-export cache]
|
14
|
+
# For pulp3/pulpcore:
|
15
|
+
# Only need to backup media directory of /var/lib/pulp
|
16
|
+
# All below directories and their contents are regenerated on installer run
|
17
|
+
pulpcore_dirs = %w[assets exports imports sync_imports tmp]
|
18
|
+
pulp2_dirs + pulpcore_dirs
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -184,15 +184,6 @@ module ForemanMaintain
|
|
184
184
|
ForemanMaintain.package_manager
|
185
185
|
end
|
186
186
|
|
187
|
-
private
|
188
|
-
|
189
|
-
def check_version(name)
|
190
|
-
current_version = package_version(name)
|
191
|
-
if current_version
|
192
|
-
yield current_version
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
187
|
def os_facts
|
197
188
|
facter = ForemanMaintain::Utils::Facter.path
|
198
189
|
@os_facts ||= JSON.parse(execute("#{facter} -j os"))
|
@@ -217,6 +208,52 @@ module ForemanMaintain
|
|
217
208
|
def el_major_version
|
218
209
|
return os_facts['os']['release']['major'] if el?
|
219
210
|
end
|
211
|
+
|
212
|
+
def ruby_prefix(scl = true)
|
213
|
+
if el7? && scl
|
214
|
+
'tfm-rubygem-'
|
215
|
+
elsif el7? || el8?
|
216
|
+
'rubygem-'
|
217
|
+
elsif debian?
|
218
|
+
'ruby-'
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
222
|
+
def foreman_plugin_name(plugin)
|
223
|
+
if debian?
|
224
|
+
plugin.tr!('_', '-')
|
225
|
+
end
|
226
|
+
ruby_prefix + plugin
|
227
|
+
end
|
228
|
+
|
229
|
+
def proxy_plugin_name(plugin)
|
230
|
+
if debian?
|
231
|
+
plugin.tr!('_', '-')
|
232
|
+
proxy_plugin_prefix = 'smart-proxy-'
|
233
|
+
else
|
234
|
+
proxy_plugin_prefix = 'smart_proxy_'
|
235
|
+
end
|
236
|
+
scl = check_min_version('foreman-proxy', '2.0')
|
237
|
+
ruby_prefix(scl) + proxy_plugin_prefix + plugin
|
238
|
+
end
|
239
|
+
|
240
|
+
def hammer_package
|
241
|
+
hammer_prefix = if debian?
|
242
|
+
'hammer-cli'
|
243
|
+
else
|
244
|
+
'hammer_cli'
|
245
|
+
end
|
246
|
+
ruby_prefix + hammer_prefix
|
247
|
+
end
|
248
|
+
|
249
|
+
private
|
250
|
+
|
251
|
+
def check_version(name)
|
252
|
+
current_version = package_version(name)
|
253
|
+
if current_version
|
254
|
+
yield current_version
|
255
|
+
end
|
256
|
+
end
|
220
257
|
end
|
221
258
|
end
|
222
259
|
end
|
@@ -11,20 +11,27 @@ module ForemanMaintain
|
|
11
11
|
:foreman_online_files, :foreman_offline_files, :fpc_offline_files,
|
12
12
|
:fpc_online_files
|
13
13
|
|
14
|
+
# rubocop:disable Metrics/MethodLength
|
14
15
|
def initialize(backup_dir)
|
15
16
|
# fpc stands for foreman proxy w/ content
|
16
17
|
@backup_dir = backup_dir
|
17
18
|
@standard_files = ['config_files.tar.gz']
|
18
|
-
@katello_online_files = ['mongo_dump', 'candlepin.dump', 'foreman.dump']
|
19
|
-
if feature(:pulpcore)
|
20
|
-
@katello_online_files << 'pulpcore.dump'
|
21
|
-
end
|
22
|
-
@katello_offline_files = ['mongo_data.tar.gz', 'pgsql_data.tar.gz']
|
23
19
|
@foreman_online_files = ['foreman.dump']
|
24
20
|
@foreman_offline_files = ['pgsql_data.tar.gz']
|
25
|
-
@
|
26
|
-
@
|
21
|
+
@katello_online_files = ['candlepin.dump', 'foreman.dump']
|
22
|
+
@katello_offline_files = ['pgsql_data.tar.gz']
|
23
|
+
if feature(:pulp2)
|
24
|
+
@katello_online_files << 'mongo_dump'
|
25
|
+
@katello_offline_files << 'mongo_data.tar.gz'
|
26
|
+
@fpc_online_files = ['mongo_dump']
|
27
|
+
@fpc_offline_files = ['mongo_data.tar.gz']
|
28
|
+
elsif feature(:pulpcore_database)
|
29
|
+
@katello_online_files << 'foreman.dump'
|
30
|
+
@fpc_online_files = ['pulpcore.dump']
|
31
|
+
@fpc_offline_files = ['pgsql_data.tar.gz']
|
32
|
+
end
|
27
33
|
end
|
34
|
+
# rubocop:enable Metrics/MethodLength
|
28
35
|
|
29
36
|
def file_map
|
30
37
|
@file_map ||= {
|
@@ -36,12 +43,9 @@ module ForemanMaintain
|
|
36
43
|
:mongo_dump => map_file(@backup_dir, 'mongo_dump'),
|
37
44
|
:config_files => map_file(@backup_dir, 'config_files.tar.gz'),
|
38
45
|
:pg_globals => map_file(@backup_dir, 'pg_globals.dump'),
|
39
|
-
:metadata => map_file(@backup_dir, 'metadata.yml')
|
46
|
+
:metadata => map_file(@backup_dir, 'metadata.yml'),
|
47
|
+
:pulpcore_dump => map_file(@backup_dir, 'pulpcore.dump')
|
40
48
|
}
|
41
|
-
if feature(:pulpcore)
|
42
|
-
@file_map[:pulpcore_dump] = map_file(@backup_dir, 'pulpcore.dump')
|
43
|
-
end
|
44
|
-
@file_map
|
45
49
|
end
|
46
50
|
|
47
51
|
def map_file(backup_dir, filename)
|
@@ -85,11 +89,6 @@ module ForemanMaintain
|
|
85
89
|
end
|
86
90
|
|
87
91
|
def check_file_existence(existence_map)
|
88
|
-
unless feature(:pulpcore)
|
89
|
-
existence_map[:present].delete(:pulpcore_dump)
|
90
|
-
existence_map[:absent].delete(:pulpcore_dump)
|
91
|
-
end
|
92
|
-
|
93
92
|
existence_map[:present].each do |file|
|
94
93
|
unless file_map[file][:present]
|
95
94
|
return false
|
@@ -107,40 +106,105 @@ module ForemanMaintain
|
|
107
106
|
|
108
107
|
# TODO: Need to check for pulpcore feature?
|
109
108
|
def katello_standard_backup?
|
110
|
-
|
111
|
-
|
112
|
-
|
109
|
+
present = [:pgsql_data]
|
110
|
+
absent = [:candlepin_dump, :foreman_dump, :pulpcore_dump, :mongo_dump]
|
111
|
+
if feature(:pulpcore_database) && !feature(:pulp2)
|
112
|
+
absent.concat [:mongo_data]
|
113
|
+
elsif feature(:pulp2)
|
114
|
+
present.concat [:mongo_data]
|
115
|
+
else
|
116
|
+
return false
|
117
|
+
end
|
118
|
+
check_file_existence(:present => present,
|
119
|
+
:absent => absent)
|
113
120
|
end
|
114
121
|
|
115
122
|
def katello_online_backup?
|
116
|
-
|
117
|
-
|
118
|
-
|
123
|
+
present = [:candlepin_dump, :foreman_dump]
|
124
|
+
absent = [:mongo_data, :pgsql_data]
|
125
|
+
if feature(:pulpcore_database) && !feature(:pulp2)
|
126
|
+
present.concat [:pulpcore_dump]
|
127
|
+
absent.concat [:mongo_dump]
|
128
|
+
elsif feature(:pulp2) && feature(:pulpcore_database)
|
129
|
+
present.concat [:mongo_dump, :pulpcore_dump]
|
130
|
+
elsif feature(:pulp2)
|
131
|
+
present.concat [:mongo_dump]
|
132
|
+
absent.concat [:pulpcore_dump]
|
133
|
+
else
|
134
|
+
return false
|
135
|
+
end
|
136
|
+
check_file_existence(:present => present,
|
137
|
+
:absent => absent)
|
119
138
|
end
|
120
139
|
|
121
140
|
def katello_logical_backup?
|
122
|
-
|
123
|
-
|
124
|
-
|
141
|
+
present = [:pgsql_data, :candlepin_dump, :foreman_dump]
|
142
|
+
absent = []
|
143
|
+
if feature(:pulpcore_database) && !feature(:pulp2)
|
144
|
+
present.concat [:pulpcore_dump]
|
145
|
+
absent.concat [:mongo_dump, :mongo_data]
|
146
|
+
elsif feature(:pulp2) && feature(:pulpcore_database)
|
147
|
+
present.concat [:mongo_dump, :mongo_data, :pulpcore_dump]
|
148
|
+
elsif feature(:pulp2)
|
149
|
+
present.concat [:mongo_dump, :mongo_data]
|
150
|
+
absent.concat [:pulpcore_dump]
|
151
|
+
else
|
152
|
+
return false
|
153
|
+
end
|
154
|
+
check_file_existence(:present => present,
|
155
|
+
:absent => absent)
|
125
156
|
end
|
126
157
|
|
127
158
|
def fpc_standard_backup?
|
128
|
-
|
129
|
-
|
130
|
-
|
159
|
+
present = []
|
160
|
+
absent = [:candlepin_dump, :foreman_dump, :pulpcore_dump, :mongo_dump]
|
161
|
+
if feature(:pulpcore_database) && !feature(:pulp2)
|
162
|
+
present.concat [:pgsql_data]
|
163
|
+
absent.concat [:mongo_data]
|
164
|
+
elsif feature(:pulp2) && feature(:pulpcore_database)
|
165
|
+
present.concat [:mongo_data, :pgsql_data]
|
166
|
+
elsif feature(:pulp2)
|
167
|
+
present.concat [:mongo_data]
|
168
|
+
absent.concat [:pgsql_data]
|
169
|
+
else
|
170
|
+
return false
|
171
|
+
end
|
172
|
+
check_file_existence(:present => present,
|
173
|
+
:absent => absent)
|
131
174
|
end
|
132
175
|
|
133
176
|
def fpc_online_backup?
|
177
|
+
present = []
|
134
178
|
absent = [:mongo_data, :pgsql_data, :candlepin_dump, :foreman_dump]
|
135
|
-
|
136
|
-
|
137
|
-
|
179
|
+
if feature(:pulpcore_database) && !feature(:pulp2)
|
180
|
+
present.concat [:pulpcore_dump]
|
181
|
+
absent.concat [:mongo_dump]
|
182
|
+
elsif feature(:pulp2) && feature(:pulpcore_database)
|
183
|
+
present.concat [:mongo_dump, :pulpcore_dump]
|
184
|
+
elsif feature(:pulp2)
|
185
|
+
present.concat [:mongo_dump]
|
186
|
+
absent.concat [:pulpcore_dump]
|
187
|
+
else
|
188
|
+
return false
|
189
|
+
end
|
190
|
+
check_file_existence(:present => present, :absent => absent)
|
138
191
|
end
|
139
192
|
|
140
193
|
def fpc_logical_backup?
|
141
|
-
|
142
|
-
|
143
|
-
|
194
|
+
present = []
|
195
|
+
absent = [:candlepin_dump, :foreman_dump]
|
196
|
+
if feature(:pulpcore_database) && !feature(:pulp2)
|
197
|
+
present.concat [:pulpcore_dump, :pgsql_data]
|
198
|
+
absent.concat [:mongo_dump, :mongo_data]
|
199
|
+
elsif feature(:pulp2) && feature(:pulpcore_database)
|
200
|
+
present.concat [:mongo_dump, :mongo_data, :pulpcore_dump, :pgsql_data]
|
201
|
+
elsif feature(:pulp2)
|
202
|
+
present.concat [:mongo_dump, :mongo_data]
|
203
|
+
absent.concat [:pulpcore_dump, :pgsql_data]
|
204
|
+
else
|
205
|
+
return false
|
206
|
+
end
|
207
|
+
check_file_existence(:present => present, :absent => absent)
|
144
208
|
end
|
145
209
|
|
146
210
|
def foreman_standard_backup?
|
@@ -152,12 +216,12 @@ module ForemanMaintain
|
|
152
216
|
def foreman_online_backup?
|
153
217
|
check_file_existence(:present => [:foreman_dump],
|
154
218
|
:absent => [:candlepin_dump, :pgsql_data,
|
155
|
-
:mongo_data, :mongo_dump])
|
219
|
+
:mongo_data, :mongo_dump, :pulpcore_dump])
|
156
220
|
end
|
157
221
|
|
158
222
|
def foreman_logical_backup?
|
159
223
|
check_file_existence(:present => [:pgsql_data, :foreman_dump],
|
160
|
-
:absent => [:candlepin_dump, :mongo_data, :mongo_dump])
|
224
|
+
:absent => [:candlepin_dump, :mongo_data, :mongo_dump, :pulpcore_dump])
|
161
225
|
end
|
162
226
|
|
163
227
|
def validate_hostname?
|
@@ -198,7 +262,7 @@ module ForemanMaintain
|
|
198
262
|
def sql_dump_files_exist?
|
199
263
|
file_map[:foreman_dump][:present] ||
|
200
264
|
file_map[:candlepin_dump][:present] ||
|
201
|
-
(feature(:
|
265
|
+
(feature(:pulpcore_database) && file_map[:pulpcore_dump][:present])
|
202
266
|
end
|
203
267
|
|
204
268
|
def incremental?
|
data/lib/foreman_maintain.rb
CHANGED
@@ -22,6 +22,7 @@ module ForemanMaintain
|
|
22
22
|
require 'foreman_maintain/concerns/directory_marker'
|
23
23
|
require 'foreman_maintain/concerns/downstream'
|
24
24
|
require 'foreman_maintain/concerns/primary_checks'
|
25
|
+
require 'foreman_maintain/concerns/pulp_common'
|
25
26
|
require 'foreman_maintain/top_level_modules'
|
26
27
|
require 'foreman_maintain/yaml_storage'
|
27
28
|
require 'foreman_maintain/config'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: foreman_maintain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ivan Nečas
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-08-
|
11
|
+
date: 2021-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: clamp
|
@@ -362,6 +362,7 @@ files:
|
|
362
362
|
- lib/foreman_maintain/concerns/logger.rb
|
363
363
|
- lib/foreman_maintain/concerns/metadata.rb
|
364
364
|
- lib/foreman_maintain/concerns/primary_checks.rb
|
365
|
+
- lib/foreman_maintain/concerns/pulp_common.rb
|
365
366
|
- lib/foreman_maintain/concerns/reporter.rb
|
366
367
|
- lib/foreman_maintain/concerns/scenario_metadata.rb
|
367
368
|
- lib/foreman_maintain/concerns/system_helpers.rb
|