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
@@ -2,13 +2,19 @@ module Scenarios::Satellite_6_5_z
|
|
2
2
|
class Abstract < ForemanMaintain::Scenario
|
3
3
|
def self.upgrade_metadata(&block)
|
4
4
|
metadata do
|
5
|
-
tags :
|
5
|
+
tags :upgrade_scenario
|
6
6
|
confine do
|
7
|
-
feature(:satellite) &&
|
7
|
+
feature(:satellite) &&
|
8
|
+
(feature(:satellite).current_minor_version == '6.5' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.5.z')
|
8
10
|
end
|
9
11
|
instance_eval(&block)
|
10
12
|
end
|
11
13
|
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.5.z'
|
17
|
+
end
|
12
18
|
end
|
13
19
|
|
14
20
|
class PreUpgradeCheck < Abstract
|
@@ -43,11 +49,15 @@ module Scenarios::Satellite_6_5_z
|
|
43
49
|
tags :migrations
|
44
50
|
end
|
45
51
|
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
46
56
|
def compose
|
47
57
|
add_step(Procedures::Repositories::Setup.new(:version => '6.5'))
|
48
58
|
add_step(Procedures::Packages::UnlockVersions.new)
|
49
59
|
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
-
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
@@ -76,5 +86,3 @@ module Scenarios::Satellite_6_5_z
|
|
76
86
|
end
|
77
87
|
end
|
78
88
|
end
|
79
|
-
|
80
|
-
ForemanMaintain::UpgradeRunner.register_version('6.5.z', :upgrade_to_satellite_6_5_z)
|
@@ -2,13 +2,19 @@ module Scenarios::Satellite_6_6
|
|
2
2
|
class Abstract < ForemanMaintain::Scenario
|
3
3
|
def self.upgrade_metadata(&block)
|
4
4
|
metadata do
|
5
|
-
tags :
|
5
|
+
tags :upgrade_scenario
|
6
6
|
confine do
|
7
|
-
feature(:satellite) &&
|
7
|
+
feature(:satellite) &&
|
8
|
+
(feature(:satellite).current_minor_version == '6.5' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.6')
|
8
10
|
end
|
9
11
|
instance_eval(&block)
|
10
12
|
end
|
11
13
|
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.6'
|
17
|
+
end
|
12
18
|
end
|
13
19
|
|
14
20
|
class PreUpgradeCheck < Abstract
|
@@ -43,11 +49,15 @@ module Scenarios::Satellite_6_6
|
|
43
49
|
tags :migrations
|
44
50
|
end
|
45
51
|
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
46
56
|
def compose
|
47
57
|
add_step(Procedures::Repositories::Setup.new(:version => '6.6'))
|
48
58
|
add_step(Procedures::Packages::UnlockVersions.new)
|
49
59
|
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
-
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
@@ -78,5 +88,3 @@ module Scenarios::Satellite_6_6
|
|
78
88
|
end
|
79
89
|
end
|
80
90
|
end
|
81
|
-
|
82
|
-
ForemanMaintain::UpgradeRunner.register_version('6.6', :upgrade_to_satellite_6_6)
|
@@ -2,13 +2,19 @@ module Scenarios::Satellite_6_6_z
|
|
2
2
|
class Abstract < ForemanMaintain::Scenario
|
3
3
|
def self.upgrade_metadata(&block)
|
4
4
|
metadata do
|
5
|
-
tags :
|
5
|
+
tags :upgrade_scenario
|
6
6
|
confine do
|
7
|
-
feature(:satellite) &&
|
7
|
+
feature(:satellite) &&
|
8
|
+
(feature(:satellite).current_minor_version == '6.6' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.6.z')
|
8
10
|
end
|
9
11
|
instance_eval(&block)
|
10
12
|
end
|
11
13
|
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.6.z'
|
17
|
+
end
|
12
18
|
end
|
13
19
|
|
14
20
|
class PreUpgradeCheck < Abstract
|
@@ -43,11 +49,15 @@ module Scenarios::Satellite_6_6_z
|
|
43
49
|
tags :migrations
|
44
50
|
end
|
45
51
|
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
46
56
|
def compose
|
47
57
|
add_step(Procedures::Repositories::Setup.new(:version => '6.6'))
|
48
58
|
add_step(Procedures::Packages::UnlockVersions.new)
|
49
59
|
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
-
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
@@ -78,5 +88,3 @@ module Scenarios::Satellite_6_6_z
|
|
78
88
|
end
|
79
89
|
end
|
80
90
|
end
|
81
|
-
|
82
|
-
ForemanMaintain::UpgradeRunner.register_version('6.6.z', :upgrade_to_satellite_6_6_z)
|
@@ -2,13 +2,19 @@ module Scenarios::Satellite_6_7
|
|
2
2
|
class Abstract < ForemanMaintain::Scenario
|
3
3
|
def self.upgrade_metadata(&block)
|
4
4
|
metadata do
|
5
|
-
tags :
|
5
|
+
tags :upgrade_scenario
|
6
6
|
confine do
|
7
|
-
feature(:satellite) &&
|
7
|
+
feature(:satellite) &&
|
8
|
+
(feature(:satellite).current_minor_version == '6.6' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.7')
|
8
10
|
end
|
9
11
|
instance_eval(&block)
|
10
12
|
end
|
11
13
|
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.7'
|
17
|
+
end
|
12
18
|
end
|
13
19
|
|
14
20
|
class PreUpgradeCheck < Abstract
|
@@ -43,11 +49,15 @@ module Scenarios::Satellite_6_7
|
|
43
49
|
tags :migrations
|
44
50
|
end
|
45
51
|
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
46
56
|
def compose
|
47
57
|
add_step(Procedures::Repositories::Setup.new(:version => '6.7'))
|
48
58
|
add_step(Procedures::Packages::UnlockVersions.new)
|
49
59
|
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
-
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
@@ -76,5 +86,3 @@ module Scenarios::Satellite_6_7
|
|
76
86
|
end
|
77
87
|
end
|
78
88
|
end
|
79
|
-
|
80
|
-
ForemanMaintain::UpgradeRunner.register_version('6.7', :upgrade_to_satellite_6_7)
|
@@ -2,13 +2,19 @@ module Scenarios::Satellite_6_7_z
|
|
2
2
|
class Abstract < ForemanMaintain::Scenario
|
3
3
|
def self.upgrade_metadata(&block)
|
4
4
|
metadata do
|
5
|
-
tags :
|
5
|
+
tags :upgrade_scenario
|
6
6
|
confine do
|
7
|
-
feature(:satellite) &&
|
7
|
+
feature(:satellite) &&
|
8
|
+
(feature(:satellite).current_minor_version == '6.7' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.7.z')
|
8
10
|
end
|
9
11
|
instance_eval(&block)
|
10
12
|
end
|
11
13
|
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.7.z'
|
17
|
+
end
|
12
18
|
end
|
13
19
|
|
14
20
|
class PreUpgradeCheck < Abstract
|
@@ -43,11 +49,15 @@ module Scenarios::Satellite_6_7_z
|
|
43
49
|
tags :migrations
|
44
50
|
end
|
45
51
|
|
52
|
+
def set_context_mapping
|
53
|
+
context.map(:assumeyes, Procedures::Installer::Upgrade => :assumeyes)
|
54
|
+
end
|
55
|
+
|
46
56
|
def compose
|
47
57
|
add_step(Procedures::Repositories::Setup.new(:version => '6.7'))
|
48
58
|
add_step(Procedures::Packages::UnlockVersions.new)
|
49
59
|
add_step(Procedures::Packages::Update.new(:assumeyes => true))
|
50
|
-
|
60
|
+
add_step_with_context(Procedures::Installer::Upgrade)
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
@@ -76,5 +86,3 @@ module Scenarios::Satellite_6_7_z
|
|
76
86
|
end
|
77
87
|
end
|
78
88
|
end
|
79
|
-
|
80
|
-
ForemanMaintain::UpgradeRunner.register_version('6.7.z', :upgrade_to_satellite_6_7_z)
|
@@ -0,0 +1,88 @@
|
|
1
|
+
module Scenarios::Satellite_6_8
|
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.7' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.8')
|
10
|
+
end
|
11
|
+
instance_eval(&block)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.8'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class PreUpgradeCheck < Abstract
|
21
|
+
upgrade_metadata do
|
22
|
+
description 'Checks before upgrading to Satellite 6.8'
|
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.8'))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class PreMigrations < Abstract
|
35
|
+
upgrade_metadata do
|
36
|
+
description 'Procedures before migrating to Satellite 6.8'
|
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 Satellite 6.8'
|
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.8'))
|
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 Satellite 6.8'
|
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 Satellite 6.8'
|
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::Satellite_6_8_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.8' || \
|
9
|
+
ForemanMaintain.upgrade_in_progress == '6.8.z')
|
10
|
+
end
|
11
|
+
instance_eval(&block)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def target_version
|
16
|
+
'6.8.z'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class PreUpgradeCheck < Abstract
|
21
|
+
upgrade_metadata do
|
22
|
+
description 'Checks before upgrading to Satellite 6.8.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.8'))
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
class PreMigrations < Abstract
|
35
|
+
upgrade_metadata do
|
36
|
+
description 'Procedures before migrating to Satellite 6.8.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 Satellite 6.8.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.8'))
|
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 Satellite 6.8.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 Satellite 6.8.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
|
@@ -77,7 +77,7 @@ def exclude_hook(conduit):
|
|
77
77
|
else:
|
78
78
|
suffix = ''
|
79
79
|
conduit.info(1, '\n'
|
80
|
-
'WARNING: Excluding %d
|
80
|
+
'WARNING: Excluding %d package%s due to foreman-protector. \n'
|
81
81
|
'Use foreman-maintain packages install/update <package> \n'
|
82
82
|
'to safely install packages without restrictions.\n'
|
83
83
|
'Use foreman-maintain upgrade run for full upgrade.\n'
|
data/lib/foreman_maintain.rb
CHANGED
@@ -139,5 +139,36 @@ module ForemanMaintain
|
|
139
139
|
rescue StandardError => e
|
140
140
|
logger.error "Invalid Storage label i.e #{label}. Error - #{e.message}"
|
141
141
|
end
|
142
|
+
|
143
|
+
def upgrade_in_progress
|
144
|
+
storage[:upgrade_target_version]
|
145
|
+
end
|
146
|
+
|
147
|
+
def pkg_and_cmd_name
|
148
|
+
instance_feature = ForemanMaintain.available_features(:label => :instance).first
|
149
|
+
if instance_feature.downstream
|
150
|
+
return %w[satellite-maintain satellite-maintain]
|
151
|
+
end
|
152
|
+
|
153
|
+
[main_package_name, 'foreman-maintain']
|
154
|
+
end
|
155
|
+
|
156
|
+
def perform_self_upgrade
|
157
|
+
package_name, command = pkg_and_cmd_name
|
158
|
+
|
159
|
+
puts "Checking for new version of #{package_name}..."
|
160
|
+
if ForemanMaintain.package_manager.update_available?(main_package_name)
|
161
|
+
puts "\nUpdating #{package_name} package."
|
162
|
+
ForemanMaintain.package_manager.update(main_package_name, :assumeyes => true)
|
163
|
+
puts "\nThe #{package_name} package successfully updated."\
|
164
|
+
"\nRe-run #{command} with required options!"
|
165
|
+
exit 0
|
166
|
+
end
|
167
|
+
puts "Nothing to update, can't find new version of #{package_name}."
|
168
|
+
end
|
169
|
+
|
170
|
+
def main_package_name
|
171
|
+
'rubygem-foreman_maintain'
|
172
|
+
end
|
142
173
|
end
|
143
174
|
end
|
data/lib/foreman_maintain/cli.rb
CHANGED
@@ -10,6 +10,7 @@ require 'foreman_maintain/cli/service_command'
|
|
10
10
|
require 'foreman_maintain/cli/restore_command'
|
11
11
|
require 'foreman_maintain/cli/maintenance_mode_command'
|
12
12
|
require 'foreman_maintain/cli/packages_command'
|
13
|
+
require 'foreman_maintain/cli/content_command'
|
13
14
|
|
14
15
|
module ForemanMaintain
|
15
16
|
module Cli
|
@@ -23,6 +24,7 @@ module ForemanMaintain
|
|
23
24
|
subcommand 'restore', 'Restore a backup', RestoreCommand
|
24
25
|
subcommand 'packages', 'Lock/Unlock package protection, install, update', PackagesCommand
|
25
26
|
subcommand 'advanced', 'Advanced tools for server maintenance', AdvancedCommand
|
27
|
+
subcommand 'content', 'Content related commands', ContentCommand
|
26
28
|
subcommand 'maintenance-mode', 'Control maintenance-mode for application',
|
27
29
|
MaintenanceModeCommand
|
28
30
|
|