foreman_maintain 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: 82c1f6b6412effc3fdbc0c76d5940141c6bcedbe8a24f2201297c586464ee26b
4
- data.tar.gz: 88e0dc3579e6a1dee0e371f13aa594e76bcfc871f1914430888b86db21e86b37
2
+ SHA1:
3
+ metadata.gz: 8b3244cbf0c35c7e4794fcca31be180489bacdab
4
+ data.tar.gz: 2c31ba26f1d8880ddd6b555415a309623f1bc19c
5
5
  SHA512:
6
- metadata.gz: d9ea4129e24dd5864586da1e5dcec6354a60090e03e95ff9a9f73a98b10a6ba7c60285f50a97ca2b7ee8faaac322a02c8c2064db635b3dc464c9cd4e7e5d1e2c
7
- data.tar.gz: 67945a1cf054e940949777713d97cd82902516a6fd898a8ae50e4f931589642f2498c2c42da2b2e4f6be60fbfc0613f6b34176d19aa945b7ba4af253e6f10aaf
6
+ metadata.gz: 97f28a046f0dc4fcc72f40147221547abacde3eab40b8cdc175b3b027000f7028f6f65010c3673033ca2dc2866945e000cde1b72e2b007c1c6340d22f18da786
7
+ data.tar.gz: b4779ec4433cb5a98985b00d5037af229ad8b7c9774c6ded70ca9461ddc1e8f7e7fc269ee40953aa6cf4cc4c1b976dfa1a072dbc1030423397337cc1ab070f80
@@ -33,7 +33,14 @@ class Features::ForemanProxy < ForemanMaintain::Feature
33
33
 
34
34
  def features
35
35
  # TODO: handle failures
36
- run_curl_cmd("#{curl_cmd}/features").result
36
+ @features ||= run_curl_cmd("#{curl_cmd}/features").result
37
+ @features = [] if @features.is_a?(String)
38
+ @features
39
+ end
40
+
41
+ def refresh_features
42
+ @features = nil
43
+ features
37
44
  end
38
45
 
39
46
  def internal?
@@ -0,0 +1,14 @@
1
+ module Procedures::ForemanProxy
2
+ class Features < ForemanMaintain::Procedure
3
+ metadata do
4
+ param :load_only, 'Do not print the features', :default => false
5
+ description 'Detect features available in the local proxy'
6
+ for_feature :foreman_proxy
7
+ end
8
+
9
+ def run
10
+ features = feature(:foreman_proxy).refresh_features
11
+ puts features.join(', ') unless @load_only
12
+ end
13
+ end
14
+ end
@@ -126,6 +126,7 @@ module ForemanMaintain::Scenarios
126
126
 
127
127
  def add_offline_backup_steps
128
128
  include_dumps if include_db_dumps?
129
+ add_step_with_context(Procedures::ForemanProxy::Features, :load_only => true)
129
130
  add_steps_with_context(
130
131
  find_procedures(:maintenance_mode_on),
131
132
  Procedures::Service::Stop,
@@ -156,6 +157,8 @@ module ForemanMaintain::Scenarios
156
157
 
157
158
  # rubocop:disable Metrics/MethodLength
158
159
  def add_snapshot_backup_steps
160
+ include_dumps if include_db_dumps?
161
+ add_step_with_context(Procedures::ForemanProxy::Features, :load_only => true)
159
162
  add_steps_with_context(
160
163
  Procedures::Backup::Snapshot::PrepareMount,
161
164
  find_procedures(:maintenance_mode_on),
@@ -0,0 +1,80 @@
1
+ module Scenarios::Satellite_6_6_z
2
+ class Abstract < ForemanMaintain::Scenario
3
+ def self.upgrade_metadata(&block)
4
+ metadata do
5
+ tags :upgrade_to_satellite_6_6_z
6
+ confine do
7
+ feature(:downstream) && feature(:downstream).current_minor_version == '6.6'
8
+ end
9
+ instance_eval(&block)
10
+ end
11
+ end
12
+ end
13
+
14
+ class PreUpgradeCheck < Abstract
15
+ upgrade_metadata do
16
+ description 'Checks before upgrading to Satellite 6.6.z'
17
+ tags :pre_upgrade_checks
18
+ run_strategy :fail_slow
19
+ end
20
+
21
+ def compose
22
+ add_steps(find_checks(:default))
23
+ add_steps(find_checks(:pre_upgrade))
24
+ add_step(Checks::Repositories::Validate.new(:version => '6.6'))
25
+ end
26
+ end
27
+
28
+ class PreMigrations < Abstract
29
+ upgrade_metadata do
30
+ description 'Procedures before migrating to Satellite 6.6.z'
31
+ tags :pre_migrations
32
+ end
33
+
34
+ def compose
35
+ add_steps(find_procedures(:pre_migrations))
36
+ add_step(Procedures::Service::Stop.new)
37
+ end
38
+ end
39
+
40
+ class Migrations < Abstract
41
+ upgrade_metadata do
42
+ description 'Migration scripts to Satellite 6.6.z'
43
+ tags :migrations
44
+ end
45
+
46
+ def compose
47
+ add_step(Procedures::Repositories::Setup.new(:version => '6.6'))
48
+ add_step(Procedures::Packages::UnlockVersions.new)
49
+ add_step(Procedures::Packages::Update.new(:assumeyes => true))
50
+ add_step(Procedures::Installer::Upgrade.new)
51
+ end
52
+ end
53
+
54
+ class PostMigrations < Abstract
55
+ upgrade_metadata do
56
+ description 'Procedures after migrating to Satellite 6.6.z'
57
+ tags :post_migrations
58
+ end
59
+
60
+ def compose
61
+ add_step(Procedures::Service::Start.new)
62
+ add_steps(find_procedures(:post_migrations))
63
+ end
64
+ end
65
+
66
+ class PostUpgradeChecks < Abstract
67
+ upgrade_metadata do
68
+ description 'Checks after upgrading to Satellite 6.6.z'
69
+ tags :post_upgrade_checks
70
+ run_strategy :fail_slow
71
+ end
72
+
73
+ def compose
74
+ add_steps(find_checks(:default))
75
+ add_steps(find_checks(:post_upgrade))
76
+ end
77
+ end
78
+ end
79
+
80
+ ForemanMaintain::UpgradeRunner.register_version('6.6.z', :upgrade_to_satellite_6_6_z)
@@ -130,6 +130,7 @@ module ForemanMaintain
130
130
  include BackupCommon
131
131
  interactive_option
132
132
  common_backup_options
133
+ option '--include-db-dumps', :flag, 'Also dump full database schema before snapshot backup'
133
134
  option ['-d', '--snapshot-mount-dir'], 'SNAPSHOT_MOUNT_DIR',
134
135
  "Override default directory ('/var/snap/') where the snapshots will be mounted",
135
136
  :default => '/var/snap/' do |dir|
@@ -144,7 +145,8 @@ module ForemanMaintain
144
145
  def execute
145
146
  perform_backup(:snapshot,
146
147
  :snapshot_mount_dir => snapshot_mount_dir,
147
- :snapshot_block_size => snapshot_block_size)
148
+ :snapshot_block_size => snapshot_block_size,
149
+ :include_db_dumps => include_db_dumps?)
148
150
  end
149
151
  end
150
152
 
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.4.3'.freeze
2
+ VERSION = '0.4.4'.freeze
3
3
  end
metadata CHANGED
@@ -1,97 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_maintain
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
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: 2019-06-10 00:00:00.000000000 Z
11
+ date: 2019-07-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: highline
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1.3'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: mocha
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ">="
73
+ - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ">="
80
+ - - '>='
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "<"
87
+ - - <
88
88
  - !ruby/object:Gem::Version
89
89
  version: 11.0.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "<"
94
+ - - <
95
95
  - !ruby/object:Gem::Version
96
96
  version: 11.0.0
97
97
  description: Provides various features that helps keeping the Foreman/Satellite up
@@ -209,6 +209,7 @@ files:
209
209
  - definitions/procedures/foreman/fix_corrupted_roles.rb
210
210
  - definitions/procedures/foreman_docker/remove_foreman_docker.rb
211
211
  - definitions/procedures/foreman_openscap/invalid_report_associations.rb
212
+ - definitions/procedures/foreman_proxy/features.rb
212
213
  - definitions/procedures/foreman_tasks/delete.rb
213
214
  - definitions/procedures/foreman_tasks/fetch_tasks_status.rb
214
215
  - definitions/procedures/foreman_tasks/resume.rb
@@ -267,6 +268,7 @@ files:
267
268
  - definitions/scenarios/upgrade_to_satellite_6_5.rb
268
269
  - definitions/scenarios/upgrade_to_satellite_6_5_z.rb
269
270
  - definitions/scenarios/upgrade_to_satellite_6_6.rb
271
+ - definitions/scenarios/upgrade_to_satellite_6_6_z.rb
270
272
  - definitions/scenarios/version_locking.rb
271
273
  - lib/foreman_maintain.rb
272
274
  - lib/foreman_maintain/check.rb
@@ -350,17 +352,17 @@ require_paths:
350
352
  - lib
351
353
  required_ruby_version: !ruby/object:Gem::Requirement
352
354
  requirements:
353
- - - ">="
355
+ - - '>='
354
356
  - !ruby/object:Gem::Version
355
357
  version: '0'
356
358
  required_rubygems_version: !ruby/object:Gem::Requirement
357
359
  requirements:
358
- - - ">="
360
+ - - '>='
359
361
  - !ruby/object:Gem::Version
360
362
  version: '0'
361
363
  requirements: []
362
364
  rubyforge_project:
363
- rubygems_version: 2.7.9
365
+ rubygems_version: 2.6.13
364
366
  signing_key:
365
367
  specification_version: 4
366
368
  summary: Foreman maintenance tool belt