foreman_maintain 0.5.1 → 0.5.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f6e19430df61e831c0b087072cd4fa46d38b143f
4
- data.tar.gz: 04d04513790799fca35bfcea19537ab11d14b088
2
+ SHA256:
3
+ metadata.gz: d771ecfd4783e176608d1a0263299997e9dcf3f60c141b20be197d61a726085c
4
+ data.tar.gz: b90a67972a8b670b25ab8eab34aac663239244f170e2bd31a7a617e576cd41c0
5
5
  SHA512:
6
- metadata.gz: fa8232f3c26bfb1409c45d211e91e5163675820df97692d4250f8bfe8d9cffc3a7c0b3dca910e594ba46dc7aa162dbcc4df1ea4d45cf10cc86151d2c9a266799
7
- data.tar.gz: cdfb28627937100f36d9b89afd434ed9b046168c8bc9c9885cb97a5109b5f541dbf2fa94d122488212c956bbd4ca59fe5c2d7caf8994f01eb1a9196771fcc3d6
6
+ metadata.gz: 0b215ba50227dab2f5d95db8046d078212ccf7cb5fe6dc450a77488472c293bad4b70b3384b477b095cde78d4428e1033af8fd3f2f13d42588e5867834e58903
7
+ data.tar.gz: ffea4e522836f6e28a32f2c6ad33a1ca0c3449561eed1104d11c5308e79dd695706cdc2cf41ea34d80201bbf591fca65a73d5b83aa32abfe8366b932c90eaef3
@@ -0,0 +1,33 @@
1
+ module Checks
2
+ module Foreman
3
+ class CheckDuplicatePermissions < ForemanMaintain::Check
4
+ metadata do
5
+ label :duplicate_permissions
6
+ for_feature :foreman_database
7
+ description 'Check for duplicate permissions from database'
8
+ tags :pre_upgrade
9
+ end
10
+
11
+ def run
12
+ duplicate_permissions = find_duplicate_permissions
13
+ assert(
14
+ duplicate_permissions.empty?,
15
+ 'Duplicate permissions in your database',
16
+ :next_steps => [
17
+ Procedures::Foreman::RemoveDuplicatePermissions.new
18
+ ]
19
+ )
20
+ end
21
+
22
+ def find_duplicate_permissions
23
+ feature(:foreman_database).query(self.class.query_to_get_duplicate_permission)
24
+ end
25
+
26
+ def self.query_to_get_duplicate_permission
27
+ <<-SQL
28
+ SELECT id,name FROM permissions p WHERE (SELECT count(name) FROM permissions pr WHERE p.name =pr.name) > 1
29
+ SQL
30
+ end
31
+ end
32
+ end
33
+ end
@@ -162,8 +162,13 @@ class Features::ForemanTasks < ForemanMaintain::Feature
162
162
  def export_csv(sql, file_name, state)
163
163
  dir = prepare_for_backup(state)
164
164
  filepath = "#{dir}/#{file_name}"
165
- execute("echo \"COPY (#{sql}) TO STDOUT WITH CSV;\" \
166
- | su - postgres -c '/usr/bin/psql -d foreman' | bzip2 -9 > #{filepath}.bz2")
165
+ csv_output = feature(:foreman_database).query_csv(sql)
166
+ File.open(filepath, 'w') do |f|
167
+ f.write(csv_output)
168
+ f.close
169
+ end
170
+ execute("bzip2 #{filepath} -c -9 > #{filepath}.bz2")
171
+ FileUtils.rm_rf(filepath)
167
172
  end
168
173
 
169
174
  def old_tasks_condition(state = "'stopped', 'paused'")
@@ -52,6 +52,13 @@ class Features::Katello < ForemanMaintain::Feature
52
52
  end
53
53
  # rubocop:enable Metrics/MethodLength
54
54
 
55
+ def config_files_exclude_for_online
56
+ [
57
+ '/var/lib/qpidd',
58
+ '/var/lib/candlepin/activemq-artemis'
59
+ ]
60
+ end
61
+
55
62
  private
56
63
 
57
64
  def installer_scenario_answers
@@ -29,7 +29,7 @@ class Features::PuppetServer < ForemanMaintain::Feature
29
29
  end
30
30
 
31
31
  def puppet_version
32
- version(execute!('puppet --version'))
32
+ version(execute!("#{puppet_path} --version"))
33
33
  end
34
34
 
35
35
  def find_empty_cacert_request_files
@@ -56,6 +56,10 @@ class Features::PuppetServer < ForemanMaintain::Feature
56
56
  end
57
57
 
58
58
  def puppet_ssldir_path
59
- execute!('puppet master --configprint ssldir')
59
+ execute!("#{puppet_path} config print ssldir")
60
+ end
61
+
62
+ def puppet_path
63
+ '/opt/puppetlabs/bin/puppet'
60
64
  end
61
65
  end
@@ -24,6 +24,7 @@ class Features::Tar < ForemanMaintain::Feature
24
24
  # rubocop:disable Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
25
25
  def run(options = {})
26
26
  volume_size = options.fetch(:volume_size, nil)
27
+ absolute_names = options.fetch(:absolute_names, nil)
27
28
  validate_volume_size(volume_size) unless volume_size.nil?
28
29
 
29
30
  tar_command = ['tar']
@@ -31,6 +32,10 @@ class Features::Tar < ForemanMaintain::Feature
31
32
  tar_command << "--#{options.fetch(:command, 'create')}"
32
33
  tar_command << "--file=#{options.fetch(:archive)}"
33
34
 
35
+ if absolute_names
36
+ tar_command << '--absolute-names'
37
+ end
38
+
34
39
  if volume_size
35
40
  split_tar_script = default_split_tar_script
36
41
  tar_command << "--tape-length=#{volume_size}"
@@ -13,6 +13,8 @@ module Procedures::Backup
13
13
  :array => true, :default => ['all']
14
14
  param :ignore_changed_files, 'Should packing tar ignore changed files',
15
15
  :flag => true, :default => false
16
+ param :online_backup, 'The config files are being prepared for an online backup',
17
+ :flag => true, :default => false
16
18
  end
17
19
 
18
20
  def run
@@ -39,6 +41,7 @@ module Procedures::Backup
39
41
 
40
42
  configs += feature.config_files
41
43
  exclude_configs += feature.config_files_to_exclude
44
+ exclude_configs += feature.config_files_exclude_for_online if @online_backup
42
45
  end
43
46
 
44
47
  if feature(:foreman_proxy)
@@ -8,6 +8,7 @@ module Procedures::Backup
8
8
  param :incremental_dir, 'Changes since specified backup only'
9
9
  end
10
10
 
11
+ # rubocop:disable Metrics/MethodLength
11
12
  def run
12
13
  puts "Creating backup folder #{@backup_dir}"
13
14
 
@@ -22,8 +23,14 @@ module Procedures::Backup
22
23
 
23
24
  FileUtils.rm(Dir.glob(File.join(@backup_dir, '.*.snar'))) if @preserve_dir
24
25
  if @incremental_dir
25
- FileUtils.cp(Dir.glob(File.join(@incremental_dir, '.*.snar')), @backup_dir)
26
+ if (snar_files = Dir.glob(File.join(@incremental_dir, '.*.snar'))).empty?
27
+ raise "#{@incremental_dir}/*.snar files unavailable. "\
28
+ 'Provide a valid previous backup directory'
29
+ else
30
+ FileUtils.cp(snar_files, @backup_dir)
31
+ end
26
32
  end
27
33
  end
34
+ # rubocop:enable Metrics/MethodLength
28
35
  end
29
36
  end
@@ -0,0 +1,70 @@
1
+ module Procedures::Foreman
2
+ class RemoveDuplicatePermissions < ForemanMaintain::Procedure
3
+ metadata do
4
+ for_feature :foreman_database
5
+ description 'Remove duplicate permissions from database'
6
+ end
7
+
8
+ def run
9
+ duplicate_permissions = feature(:foreman_database).query(
10
+ Checks::Foreman::CheckDuplicatePermissions.query_to_get_duplicate_permission
11
+ ).group_by { |permission| permission['name'] }
12
+ unassigned_permissions = []
13
+ duplicate_permissions.each_value do |permissions|
14
+ permission_ids = permissions.map { |i| i['id'] }
15
+ filterings = check_permissions_assign_to_filter(permission_ids)
16
+ assigned_permissions = filterings.keys
17
+ unassigned_permissions << permission_ids - assigned_permissions
18
+ fix_permissions(assigned_permissions) if assigned_permissions.length > 1
19
+ end
20
+ delete_permission(unassigned_permissions.flatten) unless unassigned_permissions.empty?
21
+ end
22
+
23
+ private
24
+
25
+ def check_permissions_assign_to_filter(permission_ids)
26
+ sql = <<-SQL
27
+ SELECT id, filter_id, permission_id FROM filterings WHERE permission_id IN (#{permission_ids.join(',')})
28
+ SQL
29
+ feature(:foreman_database).query(sql).group_by { |filtering| filtering['permission_id'] }
30
+ end
31
+
32
+ def fix_permissions(assigned_permissions)
33
+ persist_permission = assigned_permissions.shift
34
+ filter_ids = filters_for_permission(persist_permission)
35
+ update_filtering(assigned_permissions, persist_permission, filter_ids)
36
+ delete_filtering(assigned_permissions)
37
+ delete_permission(assigned_permissions)
38
+ end
39
+
40
+ def filters_for_permission(permission)
41
+ feature(:foreman_database).query(
42
+ "SELECT filter_id FROM filterings WHERE permission_id = #{permission.to_i}"
43
+ ).map { |filter| filter['filter_id'] }
44
+ end
45
+
46
+ def update_filtering(old_ids, new_id, filter_ids)
47
+ sql = <<-SQL
48
+ WITH rows AS (
49
+ UPDATE filterings SET permission_id = '#{new_id}' WHERE permission_id IN (#{old_ids.join(',')}) AND filter_id NOT IN (#{filter_ids.join(',')})
50
+ RETURNING id
51
+ )
52
+ SELECT id
53
+ FROM rows
54
+ SQL
55
+ feature(:foreman_database).query(sql)
56
+ end
57
+
58
+ def delete_filtering(permission_ids)
59
+ feature(:foreman_database).psql(
60
+ "DELETE FROM filterings where permission_id IN (#{permission_ids.join(',')})"
61
+ )
62
+ end
63
+
64
+ def delete_permission(permission_ids)
65
+ feature(:foreman_database).psql(
66
+ "DELETE FROM permissions where id IN (#{permission_ids.join(',')})"
67
+ )
68
+ end
69
+ end
70
+ end
@@ -5,7 +5,7 @@ module Procedures::Packages
5
5
  end
6
6
 
7
7
  def run
8
- question = "WARNING: This script runs #{feature(:installer).installer_command} " \
8
+ question = "\nWARNING: This script runs #{feature(:installer).installer_command} " \
9
9
  "after the yum execution \n" \
10
10
  "to ensure the #{feature(:instance).product_name} " \
11
11
  "is in a consistent state.\n" \
@@ -0,0 +1,24 @@
1
+ module Procedures::Packages
2
+ class UpdateAllConfirmation < ForemanMaintain::Procedure
3
+ metadata do
4
+ param :packages, 'List of packages to update', :array => true
5
+
6
+ description 'Confirm update all is intentional'
7
+ end
8
+
9
+ def run
10
+ if @packages.nil? || @packages.empty?
11
+ question = "\nWARNING: No specific packages to update were provided\n" \
12
+ "so we are going to update all available packages.\n" \
13
+ "It is recommended to update everything only as part of upgrade\n" \
14
+ "of the #{feature(:instance).product_name} to the next version. \n" \
15
+ "To Upgrade to next version use 'foreman-maintain upgrade'.\n\n" \
16
+ "NOTE: --assumeyes is not applicable for this check\n\n" \
17
+ "Do you want to proceed with update of everything regardless\n" \
18
+ 'of the recommendations?'
19
+ answer = ask_decision(question, 'y(yes), q(quit)', ignore_assumeyes: true)
20
+ abort! unless answer == :yes
21
+ end
22
+ end
23
+ end
24
+ end
@@ -29,6 +29,7 @@ module Procedures::Restore
29
29
  def base_tar
30
30
  {
31
31
  :overwrite => true,
32
+ :absolute_names => true,
32
33
  :listed_incremental => '/dev/null',
33
34
  :command => 'extract',
34
35
  :directory => '/'
@@ -186,7 +186,8 @@ module ForemanMaintain::Scenarios
186
186
  # rubocop:enable Metrics/MethodLength
187
187
 
188
188
  def add_online_backup_steps
189
- add_step_with_context(Procedures::Backup::ConfigFiles, :ignore_changed_files => true)
189
+ add_step_with_context(Procedures::Backup::ConfigFiles, :ignore_changed_files => true,
190
+ :online_backup => true)
190
191
  add_step_with_context(Procedures::Backup::Pulp, :ensure_unchanged => true)
191
192
  add_steps_with_context(
192
193
  Procedures::Backup::Online::Mongo,
@@ -71,8 +71,11 @@ module ForemanMaintain::Scenarios
71
71
  end
72
72
 
73
73
  def compose
74
- add_step_with_context(Procedures::Packages::InstallerConfirmation)
75
- add_step_with_context(Procedures::Packages::UnlockVersions)
74
+ add_steps_with_context(
75
+ Procedures::Packages::UpdateAllConfirmation,
76
+ Procedures::Packages::InstallerConfirmation,
77
+ Procedures::Packages::UnlockVersions
78
+ )
76
79
  add_step_with_context(Procedures::Packages::Update, :force => true, :warn_on_errors => true)
77
80
  add_step_with_context(Procedures::Installer::Run,
78
81
  :arguments => '--upgrade --disable-system-checks')
@@ -81,7 +84,8 @@ module ForemanMaintain::Scenarios
81
84
 
82
85
  def set_context_mapping
83
86
  context.map(:packages,
84
- Procedures::Packages::Update => :packages)
87
+ Procedures::Packages::Update => :packages,
88
+ Procedures::Packages::UpdateAllConfirmation => :packages)
85
89
  context.map(:assumeyes,
86
90
  Procedures::Packages::Update => :assumeyes)
87
91
  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 update%s due to foreman-protector. \n'
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'
@@ -38,7 +38,7 @@ module ForemanMaintain
38
38
 
39
39
  subcommand 'update', 'Update packages in an unlocked session' do
40
40
  interactive_option
41
- parameter 'PACKAGES ...', 'packages to update', :attribute_name => :packages
41
+ parameter '[PACKAGES ...]', 'packages to update', :attribute_name => :packages
42
42
 
43
43
  def execute
44
44
  run_scenarios_and_exit(
@@ -87,8 +87,7 @@ module ForemanMaintain
87
87
  else
88
88
  "rhel-#{rh_version_major}-server-#{package_name}-#{full_version}-rpms"
89
89
  end
90
-
91
- if current_minor_version == '6.3' && server_version.to_s != '6.4' && (
90
+ if current_minor_version == '6.3' && full_version.to_s != '6.4' && (
92
91
  feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4)
93
92
  # TODO: confirm repo for capsule. It might be same repo
94
93
  repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms"
@@ -41,5 +41,9 @@ module ForemanMaintain
41
41
  def config_files_to_exclude
42
42
  []
43
43
  end
44
+
45
+ def config_files_exclude_for_online
46
+ []
47
+ end
44
48
  end
45
49
  end
@@ -184,9 +184,9 @@ module ForemanMaintain
184
184
  ask_to_select('Select step to continue', steps, &:runtime_message)
185
185
  end
186
186
 
187
- def ask_decision(message, options = 'y(yes), n(no), q(quit)')
188
- if assumeyes?
189
- print("#{message} (assuming yes)")
187
+ def ask_decision(message, options = 'y(yes), n(no), q(quit)', ignore_assumeyes: false)
188
+ if !ignore_assumeyes && assumeyes?
189
+ print("#{message} (assuming yes)\n")
190
190
  return :yes
191
191
  end
192
192
  until_valid_decision do
@@ -27,7 +27,7 @@ module ForemanMaintain
27
27
  # In fio command, --direct option bypass the cache page
28
28
  def fio
29
29
  cmd = "fio --name=job1 --rw=read --size=1g --output-format=json\
30
- --directory=#{dir} --direct=1"
30
+ --directory=#{dir} --direct=1 --unlink=1"
31
31
  stdout = execute(cmd)
32
32
  output = JSON.parse(stdout)
33
33
  @fio ||= output['jobs'].first['read']['bw'].to_i
@@ -5,7 +5,7 @@ module ForemanMaintain::Utils
5
5
  FACTER_FILES = %w[/usr/bin/facter /opt/puppetlabs/bin/facter].freeze
6
6
 
7
7
  def self.package
8
- puppet_version = version(execute!('puppet --version'))
8
+ puppet_version = version(execute!('/opt/puppetlabs/bin/puppet --version'))
9
9
 
10
10
  puppet_version.major >= 4 ? 'puppet-agent' : 'facter'
11
11
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.5.1'.freeze
2
+ VERSION = '0.5.6'.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.5.1
4
+ version: 0.5.6
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: 2020-01-10 00:00:00.000000000 Z
11
+ date: 2020-10-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.17'
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.17'
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
@@ -107,156 +107,87 @@ extra_rdoc_files:
107
107
  - LICENSE
108
108
  - README.md
109
109
  files:
110
+ - LICENSE
111
+ - README.md
110
112
  - bin/foreman-maintain
111
113
  - bin/foreman-maintain-complete
112
114
  - bin/foreman-maintain-rotate-tar
113
115
  - bin/passenger-recycler
114
- - lib/foreman_maintain/cli/health_command.rb
115
- - lib/foreman_maintain/cli/maintenance_mode_command.rb
116
- - lib/foreman_maintain/cli/restore_command.rb
117
- - lib/foreman_maintain/cli/transform_clamp_options.rb
118
- - lib/foreman_maintain/cli/upgrade_command.rb
119
- - lib/foreman_maintain/cli/advanced_command.rb
120
- - lib/foreman_maintain/cli/base.rb
121
- - lib/foreman_maintain/cli/service_command.rb
122
- - lib/foreman_maintain/cli/advanced/prebuild_bash_completion.rb
123
- - lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb
124
- - lib/foreman_maintain/cli/advanced/procedure/abstract_procedure_command.rb
125
- - lib/foreman_maintain/cli/advanced/procedure/by_tag_command.rb
126
- - lib/foreman_maintain/cli/advanced/procedure/run_command.rb
127
- - lib/foreman_maintain/cli/advanced/procedure_command.rb
128
- - lib/foreman_maintain/cli/backup_command.rb
129
- - lib/foreman_maintain/cli/packages_command.rb
130
- - lib/foreman_maintain/concerns/base_database.rb
131
- - lib/foreman_maintain/concerns/directory_marker.rb
132
- - lib/foreman_maintain/concerns/finders.rb
133
- - lib/foreman_maintain/concerns/hammer.rb
134
- - lib/foreman_maintain/concerns/metadata.rb
135
- - lib/foreman_maintain/concerns/reporter.rb
136
- - lib/foreman_maintain/concerns/scenario_metadata.rb
137
- - lib/foreman_maintain/concerns/logger.rb
138
- - lib/foreman_maintain/concerns/system_service.rb
139
- - lib/foreman_maintain/concerns/downstream.rb
140
- - lib/foreman_maintain/concerns/system_helpers.rb
141
- - lib/foreman_maintain/reporter/cli_reporter.rb
142
- - lib/foreman_maintain/runner/execution.rb
143
- - lib/foreman_maintain/runner/stored_execution.rb
144
- - lib/foreman_maintain/utils/disk/nil_device.rb
145
- - lib/foreman_maintain/utils/disk/device.rb
146
- - lib/foreman_maintain/utils/disk/stats.rb
147
- - lib/foreman_maintain/utils/disk/io_device.rb
148
- - lib/foreman_maintain/utils/curl_response.rb
149
- - lib/foreman_maintain/utils/disk.rb
150
- - lib/foreman_maintain/utils/facter.rb
151
- - lib/foreman_maintain/utils/hash_tools.rb
152
- - lib/foreman_maintain/utils/mongo_core.rb
153
- - lib/foreman_maintain/utils/service.rb
154
- - lib/foreman_maintain/utils/service/remote_db.rb
155
- - lib/foreman_maintain/utils/service/abstract.rb
156
- - lib/foreman_maintain/utils/service/systemd.rb
157
- - lib/foreman_maintain/utils/system_helpers.rb
158
- - lib/foreman_maintain/utils/backup.rb
159
- - lib/foreman_maintain/utils/bash.rb
160
- - lib/foreman_maintain/utils/command_runner.rb
161
- - lib/foreman_maintain/utils/response.rb
162
- - lib/foreman_maintain/procedure.rb
163
- - lib/foreman_maintain/package_manager/dnf.rb
164
- - lib/foreman_maintain/package_manager/base.rb
165
- - lib/foreman_maintain/package_manager/yum.rb
166
- - lib/foreman_maintain/cli.rb
167
- - lib/foreman_maintain/version.rb
168
- - lib/foreman_maintain/top_level_modules.rb
169
- - lib/foreman_maintain/reporter.rb
170
- - lib/foreman_maintain/yaml_storage.rb
171
- - lib/foreman_maintain/scenario.rb
172
- - lib/foreman_maintain/config.rb
173
- - lib/foreman_maintain/runner.rb
174
- - lib/foreman_maintain/utils.rb
175
- - lib/foreman_maintain/check.rb
176
- - lib/foreman_maintain/context.rb
177
- - lib/foreman_maintain/core_ext.rb
178
- - lib/foreman_maintain/csv_parser.rb
179
- - lib/foreman_maintain/dependency_graph.rb
180
- - lib/foreman_maintain/error.rb
181
- - lib/foreman_maintain/executable.rb
182
- - lib/foreman_maintain/param.rb
183
- - lib/foreman_maintain/detector.rb
184
- - lib/foreman_maintain/feature.rb
185
- - lib/foreman_maintain/upgrade_runner.rb
186
- - lib/foreman_maintain/package_manager.rb
187
- - lib/foreman_maintain.rb
188
- - definitions/checks/foreman_tasks/invalid/check_old.rb
189
- - definitions/checks/foreman_tasks/invalid/check_pending_state.rb
190
- - definitions/checks/foreman_tasks/invalid/check_planning_state.rb
191
- - definitions/checks/foreman_tasks/not_running.rb
192
- - definitions/checks/foreman_tasks/not_paused.rb
116
+ - config/foreman-maintain.completion
117
+ - config/foreman_maintain.yml.example
118
+ - config/foreman_maintain.yml.packaging
119
+ - config/hammer.yml.example
120
+ - config/passenger-recycler.yaml
121
+ - definitions/checks/backup/certs_tar_exist.rb
122
+ - definitions/checks/backup/directory_ready.rb
123
+ - definitions/checks/candlepin/db_up.rb
124
+ - definitions/checks/candlepin/validate_db.rb
125
+ - definitions/checks/check_epel_repository.rb
126
+ - definitions/checks/check_hotfix_installed.rb
193
127
  - definitions/checks/check_tmout.rb
194
128
  - definitions/checks/disk/available_space.rb
195
129
  - definitions/checks/disk/performance.rb
196
130
  - definitions/checks/foreman/check_corrupted_roles.rb
197
- - definitions/checks/foreman/db_up.rb
198
- - definitions/checks/foreman/puppet_class_duplicates.rb
131
+ - definitions/checks/foreman/check_duplicate_permission.rb
199
132
  - definitions/checks/foreman/check_duplicate_roles.rb
133
+ - definitions/checks/foreman/db_up.rb
200
134
  - definitions/checks/foreman/facts_names.rb
135
+ - definitions/checks/foreman/puppet_class_duplicates.rb
201
136
  - definitions/checks/foreman_openscap/invalid_report_associations.rb
202
137
  - definitions/checks/foreman_proxy/verify_dhcp_config_syntax.rb
138
+ - definitions/checks/foreman_tasks/invalid/check_old.rb
139
+ - definitions/checks/foreman_tasks/invalid/check_pending_state.rb
140
+ - definitions/checks/foreman_tasks/invalid/check_planning_state.rb
141
+ - definitions/checks/foreman_tasks/not_paused.rb
142
+ - definitions/checks/foreman_tasks/not_running.rb
203
143
  - definitions/checks/maintenance_mode/check_consistency.rb
204
144
  - definitions/checks/mongo/db_up.rb
205
145
  - definitions/checks/mongo/tools_installed.rb
206
- - definitions/checks/puppet/verify_no_empty_cacert_requests.rb
146
+ - definitions/checks/original_assets.rb
207
147
  - definitions/checks/puppet/provide_upgrade_guide.rb
148
+ - definitions/checks/puppet/verify_no_empty_cacert_requests.rb
208
149
  - definitions/checks/remote_execution/verify_settings_file_already_exists.rb
209
150
  - definitions/checks/repositories/check_upstream_repository.rb
210
151
  - definitions/checks/repositories/validate.rb
211
152
  - definitions/checks/restore/validate_backup.rb
212
153
  - definitions/checks/restore/validate_hostname.rb
213
154
  - definitions/checks/root_user.rb
214
- - definitions/checks/yum_exclude.rb
215
- - definitions/checks/check_epel_repository.rb
216
- - definitions/checks/check_hotfix_installed.rb
217
155
  - definitions/checks/server_ping.rb
218
156
  - definitions/checks/services_up.rb
219
157
  - definitions/checks/system_registration.rb
220
- - definitions/checks/original_assets.rb
221
158
  - definitions/checks/version_locking_enabled.rb
222
- - definitions/checks/backup/directory_ready.rb
223
- - definitions/checks/backup/certs_tar_exist.rb
224
- - definitions/checks/candlepin/db_up.rb
225
- - definitions/checks/candlepin/validate_db.rb
226
- - definitions/features/foreman_1_11_x.rb
159
+ - definitions/checks/yum_exclude.rb
227
160
  - definitions/features/candlepin.rb
228
161
  - definitions/features/candlepin_database.rb
162
+ - definitions/features/capsule.rb
163
+ - definitions/features/cron.rb
164
+ - definitions/features/foreman_1_11_x.rb
165
+ - definitions/features/foreman_1_7_x.rb
229
166
  - definitions/features/foreman_database.rb
230
167
  - definitions/features/foreman_openscap.rb
231
- - definitions/features/installer.rb
232
- - definitions/features/capsule.rb
168
+ - definitions/features/foreman_proxy.rb
169
+ - definitions/features/foreman_server.rb
233
170
  - definitions/features/foreman_tasks.rb
234
- - definitions/features/foreman_1_7_x.rb
235
171
  - definitions/features/gofer.rb
172
+ - definitions/features/hammer.rb
173
+ - definitions/features/installer.rb
174
+ - definitions/features/instance.rb
236
175
  - definitions/features/iptables.rb
176
+ - definitions/features/katello.rb
177
+ - definitions/features/mongo.rb
178
+ - definitions/features/pulp.rb
237
179
  - definitions/features/puppet_server.rb
180
+ - definitions/features/satellite.rb
181
+ - definitions/features/service.rb
238
182
  - definitions/features/sync_plans.rb
239
183
  - definitions/features/system_repos.rb
240
- - definitions/features/upstream.rb
241
- - definitions/features/satellite.rb
242
- - definitions/features/katello.rb
243
184
  - definitions/features/tar.rb
244
- - definitions/features/cron.rb
245
- - definitions/features/foreman_server.rb
246
- - definitions/features/hammer.rb
247
- - definitions/features/service.rb
248
- - definitions/features/foreman_proxy.rb
249
- - definitions/features/instance.rb
250
- - definitions/features/mongo.rb
251
- - definitions/features/pulp.rb
252
- - definitions/procedures/foreman_tasks/delete.rb
253
- - definitions/procedures/foreman_tasks/fetch_tasks_status.rb
254
- - definitions/procedures/foreman_tasks/resume.rb
255
- - definitions/procedures/foreman_tasks/ui_investigate.rb
256
- - definitions/procedures/sync_plans/disable.rb
257
- - definitions/procedures/sync_plans/enable.rb
185
+ - definitions/features/upstream.rb
258
186
  - definitions/procedures/backup/accessibility_confirmation.rb
259
187
  - definitions/procedures/backup/clean.rb
188
+ - definitions/procedures/backup/compress_data.rb
189
+ - definitions/procedures/backup/config_files.rb
190
+ - definitions/procedures/backup/metadata.rb
260
191
  - definitions/procedures/backup/offline/candlepin_db.rb
261
192
  - definitions/procedures/backup/offline/foreman_db.rb
262
193
  - definitions/procedures/backup/offline/mongo.rb
@@ -266,39 +197,45 @@ files:
266
197
  - definitions/procedures/backup/online/pg_global_objects.rb
267
198
  - definitions/procedures/backup/online/safety_confirmation.rb
268
199
  - definitions/procedures/backup/prepare_directory.rb
200
+ - definitions/procedures/backup/pulp.rb
269
201
  - definitions/procedures/backup/snapshot/clean_mount.rb
202
+ - definitions/procedures/backup/snapshot/logical_volume_confirmation.rb
270
203
  - definitions/procedures/backup/snapshot/mount_base.rb
271
204
  - definitions/procedures/backup/snapshot/mount_candlepin_db.rb
272
205
  - definitions/procedures/backup/snapshot/mount_foreman_db.rb
273
206
  - definitions/procedures/backup/snapshot/mount_mongo.rb
274
- - definitions/procedures/backup/snapshot/prepare_mount.rb
275
- - definitions/procedures/backup/snapshot/logical_volume_confirmation.rb
276
207
  - definitions/procedures/backup/snapshot/mount_pulp.rb
277
- - definitions/procedures/backup/metadata.rb
278
- - definitions/procedures/backup/compress_data.rb
279
- - definitions/procedures/backup/config_files.rb
280
- - definitions/procedures/backup/pulp.rb
208
+ - definitions/procedures/backup/snapshot/prepare_mount.rb
281
209
  - definitions/procedures/candlepin/delete_orphaned_records_from_env_content.rb
282
210
  - definitions/procedures/crond/start.rb
283
211
  - definitions/procedures/crond/stop.rb
212
+ - definitions/procedures/files/remove.rb
284
213
  - definitions/procedures/foreman/apipie_cache.rb
285
- - definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb
286
214
  - definitions/procedures/foreman/fix_corrupted_roles.rb
215
+ - definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb
216
+ - definitions/procedures/foreman/remove_duplicate_permissions.rb
287
217
  - definitions/procedures/foreman_docker/remove_foreman_docker.rb
288
218
  - definitions/procedures/foreman_openscap/invalid_report_associations.rb
219
+ - definitions/procedures/foreman_proxy/features.rb
220
+ - definitions/procedures/foreman_tasks/delete.rb
221
+ - definitions/procedures/foreman_tasks/fetch_tasks_status.rb
222
+ - definitions/procedures/foreman_tasks/resume.rb
223
+ - definitions/procedures/foreman_tasks/ui_investigate.rb
289
224
  - definitions/procedures/hammer_setup.rb
290
- - definitions/procedures/installer/upgrade.rb
291
225
  - definitions/procedures/installer/run.rb
226
+ - definitions/procedures/installer/upgrade.rb
292
227
  - definitions/procedures/iptables/add_maintenance_mode_chain.rb
293
228
  - definitions/procedures/iptables/remove_maintenance_mode_chain.rb
229
+ - definitions/procedures/knowledge_base_article.rb
294
230
  - definitions/procedures/maintenance_mode/is_enabled.rb
231
+ - definitions/procedures/packages/enable_version_locking.rb
295
232
  - definitions/procedures/packages/install.rb
296
233
  - definitions/procedures/packages/installer_confirmation.rb
297
- - definitions/procedures/packages/enable_version_locking.rb
298
234
  - definitions/procedures/packages/lock_versions.rb
299
235
  - definitions/procedures/packages/locking_status.rb
300
236
  - definitions/procedures/packages/unlock_versions.rb
301
237
  - definitions/procedures/packages/update.rb
238
+ - definitions/procedures/packages/update_all_confirmation.rb
302
239
  - definitions/procedures/passenger_recycler.rb
303
240
  - definitions/procedures/pulp/migrate.rb
304
241
  - definitions/procedures/puppet/delete_empty_ca_cert_request_files.rb
@@ -306,58 +243,124 @@ files:
306
243
  - definitions/procedures/repositories/disable.rb
307
244
  - definitions/procedures/repositories/setup.rb
308
245
  - definitions/procedures/restore/candlepin_dump.rb
246
+ - definitions/procedures/restore/configs.rb
309
247
  - definitions/procedures/restore/confirmation.rb
310
248
  - definitions/procedures/restore/drop_databases.rb
311
249
  - definitions/procedures/restore/ensure_mongo_engine_matches.rb
312
250
  - definitions/procedures/restore/extract_files.rb
313
251
  - definitions/procedures/restore/foreman_dump.rb
314
- - definitions/procedures/restore/pg_global_objects.rb
315
- - definitions/procedures/restore/postgres_owner.rb
316
252
  - definitions/procedures/restore/installer_reset.rb
317
- - definitions/procedures/restore/configs.rb
318
253
  - definitions/procedures/restore/mongo_dump.rb
254
+ - definitions/procedures/restore/pg_global_objects.rb
255
+ - definitions/procedures/restore/postgres_owner.rb
319
256
  - definitions/procedures/selinux/set_file_security.rb
257
+ - definitions/procedures/service/base.rb
320
258
  - definitions/procedures/service/daemon_reload.rb
321
259
  - definitions/procedures/service/disable.rb
322
260
  - definitions/procedures/service/enable.rb
323
261
  - definitions/procedures/service/list.rb
262
+ - definitions/procedures/service/restart.rb
324
263
  - definitions/procedures/service/start.rb
325
264
  - definitions/procedures/service/status.rb
326
265
  - definitions/procedures/service/stop.rb
327
- - definitions/procedures/service/restart.rb
328
- - definitions/procedures/service/base.rb
329
- - definitions/procedures/foreman_proxy/features.rb
330
- - definitions/procedures/files/remove.rb
331
- - definitions/procedures/knowledge_base_article.rb
266
+ - definitions/procedures/sync_plans/disable.rb
267
+ - definitions/procedures/sync_plans/enable.rb
268
+ - definitions/scenarios/backup.rb
332
269
  - definitions/scenarios/maintenance_mode.rb
333
- - definitions/scenarios/upgrade_to_satellite_6_6.rb
270
+ - definitions/scenarios/packages.rb
334
271
  - definitions/scenarios/restore.rb
272
+ - definitions/scenarios/services.rb
335
273
  - definitions/scenarios/upgrade_to_satellite_6_2.rb
336
- - definitions/scenarios/upgrade_to_satellite_6_4.rb
337
- - definitions/scenarios/upgrade_to_satellite_6_6_z.rb
338
- - definitions/scenarios/backup.rb
339
- - definitions/scenarios/packages.rb
340
274
  - definitions/scenarios/upgrade_to_satellite_6_2_z.rb
275
+ - definitions/scenarios/upgrade_to_satellite_6_3.rb
341
276
  - definitions/scenarios/upgrade_to_satellite_6_3_z.rb
277
+ - definitions/scenarios/upgrade_to_satellite_6_4.rb
342
278
  - definitions/scenarios/upgrade_to_satellite_6_4_z.rb
279
+ - definitions/scenarios/upgrade_to_satellite_6_5.rb
343
280
  - definitions/scenarios/upgrade_to_satellite_6_5_z.rb
281
+ - definitions/scenarios/upgrade_to_satellite_6_6.rb
282
+ - definitions/scenarios/upgrade_to_satellite_6_6_z.rb
344
283
  - definitions/scenarios/upgrade_to_satellite_6_7.rb
345
- - definitions/scenarios/services.rb
346
- - definitions/scenarios/upgrade_to_satellite_6_3.rb
347
- - definitions/scenarios/upgrade_to_satellite_6_5.rb
348
284
  - definitions/scenarios/upgrade_to_satellite_6_7_z.rb
349
- - config/foreman-maintain.completion
350
- - config/foreman_maintain.yml.example
351
- - config/foreman_maintain.yml.packaging
352
- - config/hammer.yml.example
353
- - config/passenger-recycler.yaml
354
285
  - extras/foreman-maintain.sh
355
286
  - extras/foreman_protector/foreman-protector.conf
356
287
  - extras/foreman_protector/foreman-protector.py
357
288
  - extras/foreman_protector/foreman-protector.whitelist
358
289
  - extras/passenger-recycler.cron
359
- - LICENSE
360
- - README.md
290
+ - lib/foreman_maintain.rb
291
+ - lib/foreman_maintain/check.rb
292
+ - lib/foreman_maintain/cli.rb
293
+ - lib/foreman_maintain/cli/advanced/prebuild_bash_completion.rb
294
+ - lib/foreman_maintain/cli/advanced/procedure/abstract_by_tag_command.rb
295
+ - lib/foreman_maintain/cli/advanced/procedure/abstract_procedure_command.rb
296
+ - lib/foreman_maintain/cli/advanced/procedure/by_tag_command.rb
297
+ - lib/foreman_maintain/cli/advanced/procedure/run_command.rb
298
+ - lib/foreman_maintain/cli/advanced/procedure_command.rb
299
+ - lib/foreman_maintain/cli/advanced_command.rb
300
+ - lib/foreman_maintain/cli/backup_command.rb
301
+ - lib/foreman_maintain/cli/base.rb
302
+ - lib/foreman_maintain/cli/health_command.rb
303
+ - lib/foreman_maintain/cli/maintenance_mode_command.rb
304
+ - lib/foreman_maintain/cli/packages_command.rb
305
+ - lib/foreman_maintain/cli/restore_command.rb
306
+ - lib/foreman_maintain/cli/service_command.rb
307
+ - lib/foreman_maintain/cli/transform_clamp_options.rb
308
+ - lib/foreman_maintain/cli/upgrade_command.rb
309
+ - lib/foreman_maintain/concerns/base_database.rb
310
+ - lib/foreman_maintain/concerns/directory_marker.rb
311
+ - lib/foreman_maintain/concerns/downstream.rb
312
+ - lib/foreman_maintain/concerns/finders.rb
313
+ - lib/foreman_maintain/concerns/hammer.rb
314
+ - lib/foreman_maintain/concerns/logger.rb
315
+ - lib/foreman_maintain/concerns/metadata.rb
316
+ - lib/foreman_maintain/concerns/reporter.rb
317
+ - lib/foreman_maintain/concerns/scenario_metadata.rb
318
+ - lib/foreman_maintain/concerns/system_helpers.rb
319
+ - lib/foreman_maintain/concerns/system_service.rb
320
+ - lib/foreman_maintain/config.rb
321
+ - lib/foreman_maintain/context.rb
322
+ - lib/foreman_maintain/core_ext.rb
323
+ - lib/foreman_maintain/csv_parser.rb
324
+ - lib/foreman_maintain/dependency_graph.rb
325
+ - lib/foreman_maintain/detector.rb
326
+ - lib/foreman_maintain/error.rb
327
+ - lib/foreman_maintain/executable.rb
328
+ - lib/foreman_maintain/feature.rb
329
+ - lib/foreman_maintain/package_manager.rb
330
+ - lib/foreman_maintain/package_manager/base.rb
331
+ - lib/foreman_maintain/package_manager/dnf.rb
332
+ - lib/foreman_maintain/package_manager/yum.rb
333
+ - lib/foreman_maintain/param.rb
334
+ - lib/foreman_maintain/procedure.rb
335
+ - lib/foreman_maintain/reporter.rb
336
+ - lib/foreman_maintain/reporter/cli_reporter.rb
337
+ - lib/foreman_maintain/runner.rb
338
+ - lib/foreman_maintain/runner/execution.rb
339
+ - lib/foreman_maintain/runner/stored_execution.rb
340
+ - lib/foreman_maintain/scenario.rb
341
+ - lib/foreman_maintain/top_level_modules.rb
342
+ - lib/foreman_maintain/upgrade_runner.rb
343
+ - lib/foreman_maintain/utils.rb
344
+ - lib/foreman_maintain/utils/backup.rb
345
+ - lib/foreman_maintain/utils/bash.rb
346
+ - lib/foreman_maintain/utils/command_runner.rb
347
+ - lib/foreman_maintain/utils/curl_response.rb
348
+ - lib/foreman_maintain/utils/disk.rb
349
+ - lib/foreman_maintain/utils/disk/device.rb
350
+ - lib/foreman_maintain/utils/disk/io_device.rb
351
+ - lib/foreman_maintain/utils/disk/nil_device.rb
352
+ - lib/foreman_maintain/utils/disk/stats.rb
353
+ - lib/foreman_maintain/utils/facter.rb
354
+ - lib/foreman_maintain/utils/hash_tools.rb
355
+ - lib/foreman_maintain/utils/mongo_core.rb
356
+ - lib/foreman_maintain/utils/response.rb
357
+ - lib/foreman_maintain/utils/service.rb
358
+ - lib/foreman_maintain/utils/service/abstract.rb
359
+ - lib/foreman_maintain/utils/service/remote_db.rb
360
+ - lib/foreman_maintain/utils/service/systemd.rb
361
+ - lib/foreman_maintain/utils/system_helpers.rb
362
+ - lib/foreman_maintain/version.rb
363
+ - lib/foreman_maintain/yaml_storage.rb
361
364
  homepage: https://github.com/theforeman/foreman_maintain
362
365
  licenses:
363
366
  - GPL-3.0
@@ -368,17 +371,16 @@ require_paths:
368
371
  - lib
369
372
  required_ruby_version: !ruby/object:Gem::Requirement
370
373
  requirements:
371
- - - '>='
374
+ - - ">="
372
375
  - !ruby/object:Gem::Version
373
376
  version: '0'
374
377
  required_rubygems_version: !ruby/object:Gem::Requirement
375
378
  requirements:
376
- - - '>='
379
+ - - ">="
377
380
  - !ruby/object:Gem::Version
378
381
  version: '0'
379
382
  requirements: []
380
- rubyforge_project:
381
- rubygems_version: 2.0.14.1
383
+ rubygems_version: 3.0.3
382
384
  signing_key:
383
385
  specification_version: 4
384
386
  summary: Foreman maintenance tool belt