foreman_maintain 0.8.19 → 0.9.2

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
2
  SHA256:
3
- metadata.gz: a561663568bd8f9c24b2edebd58cffa0ea78180e7f84fe543bc18ad4108fffeb
4
- data.tar.gz: bf38f438a5da27447d968af32b3ecc0a3efc8241d0694b3591264d6e69babf32
3
+ metadata.gz: 55215ac64deedb1ab1aafcef2f6b28392b48952a9f0923be2f95706aaa26d6b4
4
+ data.tar.gz: 0cadfaad877d10e17658ed3650ba483a8e7b8fdd9e898d383ee3871bf88ba498
5
5
  SHA512:
6
- metadata.gz: d9da7038f2c4f21aa3992337c2a7aced47b49f0dc34954c47210793d9805f5a7f5facc0a2a8ae51db7b0a1ce2c4e771365f9472cf64e61b2e944d38ba6b2c57b
7
- data.tar.gz: cdf6cff1c4f4e6715dbbd4327493371edb9c749f1be1559a9bd6e248c71aa955a46e72c9e7272b8392ab1d2e37a640233955af20540036910ed2bef1d8adec2f
6
+ metadata.gz: 1b2dbeddc647b557a0196fcea8e290e29a17e92a8ab38cee7acccbc165318bdd48cc43312232f928a30a2637dc290fd629fd07cfa27cdcb1808eb70b9903b261
7
+ data.tar.gz: 7dc280857da4485c5312d7b5047a94f1e0084da1c7e798964d2d66d7068daaced1268d34fcda1033e4fd73a6bd8caec8fa6450da7e5fb52f81866abb58bc0e04
@@ -33,9 +33,11 @@ class Checks::CheckForNewerPackages < ForemanMaintain::Check
33
33
  end
34
34
 
35
35
  unless packages_with_updates.empty?
36
- failure_message = 'An update is available for package(s): '\
37
- "#{packages_with_updates.join(',')}. Please update before proceeding!"
38
- fail! failure_message
36
+ command = ForemanMaintain.pkg_and_cmd_name[1]
37
+ fail! 'Required updates for some packages detected.'\
38
+ "\nPlease update to the latest #{@manual_confirmation_version}.z release "\
39
+ 'before proceeding, using:'\
40
+ "\n# #{command} upgrade run --target-version #{@manual_confirmation_version}.z"
39
41
  end
40
42
  end
41
43
 
@@ -39,8 +39,8 @@ module Checks
39
39
  end
40
40
  end
41
41
 
42
- def default_dirs
43
- @default_dirs ||= %i[pulp2 pulpcore_database mongo foreman_database].inject({}) do |dirs, f|
42
+ def data_dirs
43
+ @data_dirs ||= %i[pulpcore_database mongo foreman_database].inject({}) do |dirs, f|
44
44
  if feature(f) && File.directory?(feature(f).data_dir)
45
45
  dirs[feature(f).label_dashed] = feature(f).data_dir
46
46
  end
@@ -48,20 +48,32 @@ module Checks
48
48
  end
49
49
  end
50
50
 
51
+ def pulp_dir
52
+ @pulp_dir ||= begin
53
+ pulp_feature = feature(:pulp2) || feature(:pulpcore_database)
54
+ { pulp_feature.label_dashed => pulp_feature.pulp_data_dir }
55
+ end
56
+ end
57
+
51
58
  def description
52
- "Check recommended disk speed for #{default_dirs.keys.join(', ')} directories."
59
+ 'Check recommended disk speed for '\
60
+ "#{[data_dirs.keys | pulp_dir.keys].join(', ')} directories."
61
+ end
62
+
63
+ def all_dirs
64
+ data_dirs.values | pulp_dir.values
53
65
  end
54
66
 
55
67
  def check_only_single_device?
56
- default_dirs.values do |dir|
68
+ all_dirs.each do |dir|
57
69
  ForemanMaintain::Utils::Disk::Device.new(dir).name
58
70
  end.uniq.length <= 1
59
71
  end
60
72
 
61
73
  def dirs_to_check
62
- return default_dirs.values.first(1) if check_only_single_device?
74
+ return all_dirs.first(1) if check_only_single_device?
63
75
 
64
- default_dirs.values
76
+ all_dirs
65
77
  end
66
78
 
67
79
  private
@@ -74,11 +86,10 @@ module Checks
74
86
  def compute_disk_speed(spinner)
75
87
  success = true
76
88
  io_obj = ForemanMaintain::Utils::Disk::NilDevice.new
77
-
78
89
  dirs_to_check.each do |dir|
79
90
  io_obj = ForemanMaintain::Utils::Disk::Device.new(dir)
80
91
 
81
- spinner.update("[Speed check In-Progress] device: #{io_obj.name}")
92
+ spinner.update("[Speed check In-Progress] device:#{io_obj.name}")
82
93
  stats << io_obj
83
94
 
84
95
  next if io_obj.read_speed >= EXPECTED_IO
@@ -0,0 +1,34 @@
1
+ module Checks
2
+ class CheckHttpsProxies < ForemanMaintain::Check
3
+ metadata do
4
+ label :https_proxies
5
+ for_feature :foreman_database
6
+ description 'Check for HTTPS proxies from the database'
7
+ manual_detection
8
+ end
9
+
10
+ def run
11
+ https_proxies = find_https_proxies
12
+ unless https_proxies.empty?
13
+ https_proxy_names = https_proxies.map { |proxy| proxy['name'] }
14
+ question = "Syncing repositories through an 'HTTP Proxy' that uses the HTTPS\n"\
15
+ "protocol is not supported directly with Satellite 6.10.\n"\
16
+ "The following proxies use HTTPS: #{https_proxy_names.join(', ')}.\n"\
17
+ "For a suggested solution see https://access.redhat.com/solutions/6414991\n"\
18
+ 'Continue upgrade?'
19
+ answer = ask_decision(question, actions_msg: 'y(yes), q(quit)')
20
+ abort! if answer != :yes
21
+ end
22
+ end
23
+
24
+ def find_https_proxies
25
+ feature(:foreman_database).query(self.class.query_to_get_https_proxies)
26
+ end
27
+
28
+ def self.query_to_get_https_proxies
29
+ <<-SQL
30
+ SELECT \"http_proxies\".* FROM \"http_proxies\" WHERE (http_proxies.url ilike 'https://%')
31
+ SQL
32
+ end
33
+ end
34
+ end
@@ -3,8 +3,7 @@ module Checks::Repositories
3
3
  metadata do
4
4
  description 'Validate availability of repositories'
5
5
  preparation_steps do
6
- [Checks::Repositories::CheckNonRhRepository.new,
7
- Procedures::Packages::Install.new(:packages => [ForemanMaintain::Utils::Facter.package])]
6
+ Checks::Repositories::CheckNonRhRepository.new
8
7
  end
9
8
 
10
9
  confine do
@@ -0,0 +1,24 @@
1
+ require 'foreman_maintain/utils/backup'
2
+
3
+ module Checks::Restore
4
+ class ValidateInterfaces < ForemanMaintain::Check
5
+ metadata do
6
+ description 'Validate network interfaces match the backup'
7
+
8
+ param :backup_dir,
9
+ 'Path to backup directory',
10
+ :required => true
11
+ manual_detection
12
+ end
13
+
14
+ def run
15
+ backup = ForemanMaintain::Utils::Backup.new(@backup_dir)
16
+ invalid_interfaces = backup.validate_interfaces
17
+ msg = 'The following features are enabled in the backup, '\
18
+ "\nbut the system does not have the interfaces used by these features: "
19
+ msg << invalid_interfaces.map { |k, v| "#{k} (#{v['configured']})" }.join(', ')
20
+ msg << '.'
21
+ assert(backup.validate_interfaces.empty?, msg)
22
+ end
23
+ end
24
+ end
@@ -17,6 +17,17 @@ class Features::ForemanTasks < ForemanMaintain::Feature
17
17
  Actions::Candlepin::ListenOnCandlepinEvents
18
18
  Actions::Katello::EventQueue::Monitor
19
19
  Actions::Insights::EmailPoller
20
+ ForemanInventoryUpload::Async::GenerateReportJob
21
+ ForemanInventoryUpload::Async::QueueForUploadJob
22
+ ForemanInventoryUpload::Async::UploadReportJob
23
+ InsightsCloud::Async::InsightsClientStatusAging
24
+ InsightsCloud::Async::InsightsFullSync
25
+ InsightsCloud::Async::InsightsResolutionsSync
26
+ InsightsCloud::Async::InsightsRulesSync
27
+ InventorySync::Async::InventoryFullSync
28
+ InventorySync::Async::InventoryHostsSync
29
+ InventorySync::Async::InventoryScheduledSync
30
+ InventorySync::Async::InventorySelfHostSync
20
31
  ].freeze
21
32
 
22
33
  metadata do
@@ -9,6 +9,8 @@ module Procedures::Backup
9
9
  param :online_backup, 'Select for online backup', :flag => true, :default => false
10
10
  end
11
11
 
12
+ PROXY_CONFIG_ENTRIES = %w[dns dns_interface dhcp dhcp_interface].freeze
13
+
12
14
  def run
13
15
  with_spinner('Collecting metadata') do |spinner|
14
16
  metadata = {}
@@ -18,6 +20,8 @@ module Procedures::Backup
18
20
  metadata['rpms'] = rpms(spinner)
19
21
  metadata['incremental'] = @incremental_dir || false
20
22
  metadata['online'] = @online_backup
23
+ metadata['hostname'] = hostname
24
+ metadata['proxy_config'] = proxy_config(spinner)
21
25
  save_metadata(metadata, spinner)
22
26
  end
23
27
  end
@@ -54,5 +58,12 @@ module Procedures::Backup
54
58
  feature(:foreman_proxy).features
55
59
  end
56
60
  end
61
+
62
+ def proxy_config(spinner)
63
+ spinner.update('Collecting proxy configuration')
64
+ feature(:installer).answers['foreman_proxy'].select do |key, _|
65
+ PROXY_CONFIG_ENTRIES.include?(key)
66
+ end
67
+ end
57
68
  end
58
69
  end
@@ -10,7 +10,7 @@ module Procedures::Content
10
10
  sleep(20) # in satellite 6.9 the services are still coming up
11
11
  # use interactive to get realtime output
12
12
  env_vars = @quiet ? '' : 'preserve_output=true '
13
- puts execute!("#{env_vars}foreman-rake katello:pulp3_migration", :interactive => true)
13
+ execute!("#{env_vars}foreman-rake katello:pulp3_migration", :interactive => true)
14
14
  end
15
15
  end
16
16
  end
@@ -5,7 +5,9 @@ module Procedures::Installer
5
5
  end
6
6
 
7
7
  def run
8
- execute!('foreman-rake upgrade:run')
8
+ # only run this in the Satellite scenario, as in others
9
+ # the installer runs this rake task for us already
10
+ execute!('foreman-rake upgrade:run') if feature(:satellite)
9
11
  end
10
12
  end
11
13
  end
@@ -2,10 +2,6 @@ module Procedures::Repositories
2
2
  class Setup < ForemanMaintain::Procedure
3
3
  metadata do
4
4
  description 'Setup repositories'
5
- preparation_steps do
6
- Procedures::Packages::Install.new(:packages => [ForemanMaintain::Utils::Facter.package])
7
- end
8
-
9
5
  confine do
10
6
  feature(:instance).downstream || feature(:upstream)
11
7
  end
@@ -56,7 +56,11 @@ module Procedures::Restore
56
56
  def reset_qpid_jrnls
57
57
  # on restore without pulp data qpid fails to start
58
58
  # https://access.redhat.com/solutions/4645231
59
- execute('rm -rf /var/lib/qpidd/.qpidd/qls/dat2/__db.00*')
59
+ ['/var/lib/qpidd/.qpidd/', '/var/lib/qpidd/'].each do |qpidd_path|
60
+ if Dir.exist?("#{qpidd_path}/qls/dat2/")
61
+ execute("rm -rf #{qpidd_path}/qls/dat2/__db.00*")
62
+ end
63
+ end
60
64
  end
61
65
  end
62
66
  end
@@ -18,6 +18,7 @@ module ForemanMaintain::Scenarios
18
18
  add_steps_with_context(Checks::Restore::ValidateBackup,
19
19
  Procedures::Restore::Confirmation,
20
20
  Checks::Restore::ValidateHostname,
21
+ Checks::Restore::ValidateInterfaces,
21
22
  Procedures::Selinux::SetFileSecurity,
22
23
  Procedures::Restore::Configs)
23
24
  add_step_with_context(Procedures::Crond::Stop) if feature(:cron)
@@ -42,6 +43,8 @@ module ForemanMaintain::Scenarios
42
43
  add_steps_with_context(Procedures::Restore::RegenerateQueues) if backup.online_backup?
43
44
  add_steps_with_context(Procedures::Service::Start,
44
45
  Procedures::Service::DaemonReload)
46
+ add_step(Procedures::Installer::Upgrade.new(:assumeyes => true))
47
+ add_step_with_context(Procedures::Installer::UpgradeRakeTask)
45
48
  add_step_with_context(Procedures::Crond::Start) if feature(:cron)
46
49
  end
47
50
  # rubocop:enable Metrics/MethodLength,Metrics/AbcSize
@@ -87,6 +90,7 @@ module ForemanMaintain::Scenarios
87
90
  context.map(:backup_dir,
88
91
  Checks::Restore::ValidateBackup => :backup_dir,
89
92
  Checks::Restore::ValidateHostname => :backup_dir,
93
+ Checks::Restore::ValidateInterfaces => :backup_dir,
90
94
  Procedures::Restore::Configs => :backup_dir,
91
95
  Procedures::Restore::DropDatabases => :backup_dir,
92
96
  Procedures::Restore::PgGlobalObjects => :backup_dir,
@@ -29,6 +29,7 @@ module Scenarios::Satellite_6_10
29
29
  add_step(Checks::CheckForNewerPackages.new(:packages => [foreman_plugin_name('katello'),
30
30
  'python3-pulp-2to3-migration'],
31
31
  :manual_confirmation_version => '6.9'))
32
+ add_step(Checks::CheckHttpsProxies)
32
33
  add_steps(find_checks(:default))
33
34
  add_steps(find_checks(:pre_upgrade))
34
35
 
@@ -0,0 +1,20 @@
1
+ module ForemanMaintain
2
+ module Concerns
3
+ module ElReposManagerCommon
4
+ include ForemanMaintain::Concerns::OsFacts
5
+
6
+ def package_manager
7
+ return 'dnf' if el8?
8
+
9
+ 'yum'
10
+ end
11
+
12
+ def enabled_repos_hash
13
+ repos = execute("#{package_manager} repolist enabled -d 6 -e 0 2> /dev/null | grep -E 'Repo-id|Repo-baseurl'")
14
+ return {} if repos.empty?
15
+
16
+ Hash[*repos.delete!(' ').split("\n")]
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,70 @@
1
+ module ForemanMaintain
2
+ module Concerns
3
+ module OsFacts
4
+ OS_RELEASE_FILE = '/etc/os-release'.freeze
5
+ FALLBACK_OS_RELEASE_FILE = '/usr/lib/os-release'.freeze
6
+
7
+ def os_release_file
8
+ if File.file?(OS_RELEASE_FILE)
9
+ return OS_RELEASE_FILE
10
+ elsif File.file?(FALLBACK_OS_RELEASE_FILE)
11
+ return FALLBACK_OS_RELEASE_FILE
12
+ else
13
+ puts "The #{OS_RELEASE_FILE} and #{FALLBACK_OS_RELEASE_FILE} files are missing! "\
14
+ "Can't continue the execution without Operating System's facts!"
15
+ exit 1
16
+ end
17
+ end
18
+
19
+ def facts
20
+ unless defined?(@facts)
21
+ @facts = {}
22
+ regex = /^(["'])(.*)(\1)$/
23
+ File.open(os_release_file) do |file|
24
+ file.readlines.each do |line|
25
+ line.strip! # drop any whitespace, including newlines from start and end of the line
26
+ next if line.start_with?('#') # ignore comments
27
+ # split at most into 2 items, if the value ever contains an =
28
+ key, value = line.split('=', 2)
29
+ next unless key && value
30
+ @facts[key] = value.gsub(regex, '\2').delete('\\')
31
+ end
32
+ end
33
+ end
34
+ @facts
35
+ end
36
+
37
+ def os_version_id
38
+ facts.fetch('VERSION_ID')
39
+ end
40
+
41
+ def os_id
42
+ facts.fetch('ID')
43
+ end
44
+
45
+ def os_id_like_list
46
+ facts.fetch('ID_LIKE', '').split
47
+ end
48
+
49
+ def el?
50
+ File.exist?('/etc/redhat-release')
51
+ end
52
+
53
+ def debian?
54
+ File.exist?('/etc/debian_version')
55
+ end
56
+
57
+ def el7?
58
+ el_major_version == 7
59
+ end
60
+
61
+ def el8?
62
+ el_major_version == 8
63
+ end
64
+
65
+ def el_major_version
66
+ return os_version_id.to_i if el?
67
+ end
68
+ end
69
+ end
70
+ end
@@ -8,6 +8,7 @@ module ForemanMaintain
8
8
  module SystemHelpers
9
9
  include Logger
10
10
  include Concerns::Finders
11
+ include ForemanMaintain::Concerns::OsFacts
11
12
 
12
13
  def self.included(klass)
13
14
  klass.extend(self)
@@ -184,38 +185,13 @@ module ForemanMaintain
184
185
  ForemanMaintain.package_manager
185
186
  end
186
187
 
187
- def os_facts
188
- facter = ForemanMaintain::Utils::Facter.path
189
- @os_facts ||= JSON.parse(execute("#{facter} -j os"))
190
- end
191
-
192
- def el?
193
- os_facts['os']['family'] == 'RedHat'
194
- end
195
-
196
- def debian?
197
- os_facts['os']['family'] == 'Debian'
198
- end
199
-
200
- def el7?
201
- os_facts['os']['release']['major'] == '7' && el?
202
- end
203
-
204
- def el8?
205
- os_facts['os']['release']['major'] == '8' && el?
206
- end
207
-
208
- def el_major_version
209
- return os_facts['os']['release']['major'] if el?
210
- end
211
-
212
188
  def ruby_prefix(scl = true)
213
- if el7? && scl
189
+ if debian?
190
+ 'ruby-'
191
+ elsif el7? && scl
214
192
  'tfm-rubygem-'
215
- elsif el7? || el8?
193
+ else
216
194
  'rubygem-'
217
- elsif debian?
218
- 'ruby-'
219
195
  end
220
196
  end
221
197
 
@@ -0,0 +1,13 @@
1
+ module ForemanMaintain::ReposManager
2
+ class DnfConfigManager
3
+ include ForemanMaintain::Concerns::ElReposManagerCommon
4
+
5
+ def disable_repos(repo_ids)
6
+ execute!("dnf config-manager --set-disabled #{repo_ids.join(',')}")
7
+ end
8
+
9
+ def enable_repos(repo_ids)
10
+ execute!("dnf config-manager --set-enabled #{repo_ids.join(',')}")
11
+ end
12
+ end
13
+ end
File without changes
@@ -0,0 +1,20 @@
1
+ module ForemanMaintain::ReposManager
2
+ class YumConfigManager
3
+ include ForemanMaintain::Concerns::ElReposManagerCommon
4
+
5
+ def disable_repos(repo_ids)
6
+ execute!("yum-config-manager --disable #{repo_ids.join(',')}")
7
+ end
8
+
9
+ def enable_repos(repo_ids)
10
+ execute!("yum-config-manager --enable #{repo_ids.join(',')}")
11
+ end
12
+
13
+ def enabled_repos_hash
14
+ repos = execute("yum repolist enabled -d 6 -e 0 2> /dev/null | grep -E 'Repo-id|Repo-baseurl'")
15
+ return {} if repos.empty?
16
+
17
+ Hash[*repos.delete!(' ').split("\n")]
18
+ end
19
+ end
20
+ end
@@ -267,21 +267,46 @@ module ForemanMaintain
267
267
 
268
268
  def validate_hostname?
269
269
  # make sure that the system hostname is the same as the backup
270
- config_tarball = file_map[:config_files][:path]
271
- tar_cmd = "tar zxf #{config_tarball} etc/httpd/conf/httpd.conf --to-stdout --occurrence=1"
272
- status, httpd_config = execute_with_status(tar_cmd)
273
-
274
- # Incremental backups sometimes don't include httpd.conf. Since a "base" backup
275
- # is restored before an incremental, we can assume that the hostname is checked
276
- # during the base backup restore
277
- if status == 0
278
- match = httpd_config.match(/\s*ServerName\s+"*([^ "]+)"*\s*$/)
279
- match ? match[1] == hostname : false
270
+ hostname_from_metadata = metadata.fetch('hostname', nil)
271
+ if hostname_from_metadata
272
+ hostname_from_metadata == hostname
280
273
  else
281
- true
274
+ config_tarball = file_map[:config_files][:path]
275
+ tar_cmd = "tar zxf #{config_tarball} etc/httpd/conf/httpd.conf --to-stdout --occurrence=1"
276
+ status, httpd_config = execute_with_status(tar_cmd)
277
+
278
+ # Incremental backups sometimes don't include httpd.conf. Since a "base" backup
279
+ # is restored before an incremental, we can assume that the hostname is checked
280
+ # during the base backup restore
281
+ if status == 0
282
+ match = httpd_config.match(/\s*ServerName\s+"*([^ "]+)"*\s*$/)
283
+ match ? match[1] == hostname : false
284
+ else
285
+ true
286
+ end
282
287
  end
283
288
  end
284
289
 
290
+ def validate_interfaces
291
+ # I wanted to do `Socket.getifaddrs.map(&:name).uniq`,
292
+ # but this has to work with Ruby 2.0, and Socket.getifaddrs is 2.1+
293
+ errors = {}
294
+ system_interfaces = Dir.entries('/sys/class/net') - ['.', '..']
295
+
296
+ proxy_config = metadata.fetch('proxy_config', {})
297
+
298
+ %w[dns dhcp].each do |feature|
299
+ next unless proxy_config.fetch(feature, false)
300
+
301
+ wanted_interface = proxy_config.fetch("#{feature}_interface", 'lo')
302
+ unless system_interfaces.include?(wanted_interface)
303
+ errors[feature] = { 'configured' => wanted_interface, 'available' => system_interfaces }
304
+ end
305
+ end
306
+
307
+ return errors
308
+ end
309
+
285
310
  def metadata
286
311
  if file_map[:metadata][:present]
287
312
  YAML.load_file(file_map[:metadata][:path])
@@ -66,7 +66,8 @@ module ForemanMaintain
66
66
  log_file = Tempfile.open('captured-output')
67
67
  exit_file = Tempfile.open('captured-exit-code')
68
68
  Kernel.system(
69
- "bash -c '#{full_command}; echo $? > #{exit_file.path}' | tee -i #{log_file.path}"
69
+ "stdbuf -oL -eL bash -c '#{full_command}; echo $? > #{exit_file.path}'"\
70
+ "| tee -i #{log_file.path}"
70
71
  )
71
72
  File.open(log_file.path) { |f| @output = f.read }
72
73
  File.open(exit_file.path) do |f|
@@ -7,4 +7,3 @@ require 'foreman_maintain/utils/curl_response'
7
7
  require 'foreman_maintain/utils/mongo_core'
8
8
  require 'foreman_maintain/utils/service'
9
9
  require 'foreman_maintain/utils/system_helpers'
10
- require 'foreman_maintain/utils/facter'
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.8.19'.freeze
2
+ VERSION = '0.9.2'.freeze
3
3
  end
@@ -15,6 +15,7 @@ module ForemanMaintain
15
15
  require 'foreman_maintain/concerns/finders'
16
16
  require 'foreman_maintain/concerns/metadata'
17
17
  require 'foreman_maintain/concerns/scenario_metadata'
18
+ require 'foreman_maintain/concerns/os_facts'
18
19
  require 'foreman_maintain/concerns/system_helpers'
19
20
  require 'foreman_maintain/concerns/system_service'
20
21
  require 'foreman_maintain/concerns/hammer'
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.19
4
+ version: 0.9.2
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-10-06 00:00:00.000000000 Z
11
+ date: 2021-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -84,16 +84,30 @@ dependencies:
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "<"
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '='
88
102
  - !ruby/object:Gem::Version
89
- version: 11.0.0
103
+ version: 0.50.0
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - "<"
108
+ - - '='
95
109
  - !ruby/object:Gem::Version
96
- version: 11.0.0
110
+ version: 0.50.0
97
111
  description: Provides various features that helps keeping the Foreman/Satellite up
98
112
  and running.
99
113
  email: inecas@redhat.com
@@ -134,6 +148,7 @@ files:
134
148
  - definitions/checks/foreman/check_corrupted_roles.rb
135
149
  - definitions/checks/foreman/check_duplicate_permission.rb
136
150
  - definitions/checks/foreman/check_duplicate_roles.rb
151
+ - definitions/checks/foreman/check_https_proxies.rb
137
152
  - definitions/checks/foreman/db_up.rb
138
153
  - definitions/checks/foreman/facts_names.rb
139
154
  - definitions/checks/foreman/puppet_class_duplicates.rb
@@ -162,6 +177,7 @@ files:
162
177
  - definitions/checks/repositories/validate.rb
163
178
  - definitions/checks/restore/validate_backup.rb
164
179
  - definitions/checks/restore/validate_hostname.rb
180
+ - definitions/checks/restore/validate_interfaces.rb
165
181
  - definitions/checks/root_user.rb
166
182
  - definitions/checks/server_ping.rb
167
183
  - definitions/checks/services_up.rb
@@ -358,10 +374,12 @@ files:
358
374
  - lib/foreman_maintain/concerns/base_database.rb
359
375
  - lib/foreman_maintain/concerns/directory_marker.rb
360
376
  - lib/foreman_maintain/concerns/downstream.rb
377
+ - lib/foreman_maintain/concerns/el_repos_manager_common.rb
361
378
  - lib/foreman_maintain/concerns/finders.rb
362
379
  - lib/foreman_maintain/concerns/hammer.rb
363
380
  - lib/foreman_maintain/concerns/logger.rb
364
381
  - lib/foreman_maintain/concerns/metadata.rb
382
+ - lib/foreman_maintain/concerns/os_facts.rb
365
383
  - lib/foreman_maintain/concerns/primary_checks.rb
366
384
  - lib/foreman_maintain/concerns/pulp_common.rb
367
385
  - lib/foreman_maintain/concerns/reporter.rb
@@ -385,6 +403,9 @@ files:
385
403
  - lib/foreman_maintain/procedure.rb
386
404
  - lib/foreman_maintain/reporter.rb
387
405
  - lib/foreman_maintain/reporter/cli_reporter.rb
406
+ - lib/foreman_maintain/repos_manager/dnf_config_manager.rb
407
+ - lib/foreman_maintain/repos_manager/el_common.rb
408
+ - lib/foreman_maintain/repos_manager/yum_config_manager.rb
388
409
  - lib/foreman_maintain/runner.rb
389
410
  - lib/foreman_maintain/runner/execution.rb
390
411
  - lib/foreman_maintain/runner/stored_execution.rb
@@ -401,7 +422,6 @@ files:
401
422
  - lib/foreman_maintain/utils/disk/io_device.rb
402
423
  - lib/foreman_maintain/utils/disk/nil_device.rb
403
424
  - lib/foreman_maintain/utils/disk/stats.rb
404
- - lib/foreman_maintain/utils/facter.rb
405
425
  - lib/foreman_maintain/utils/hash_tools.rb
406
426
  - lib/foreman_maintain/utils/mongo_core.rb
407
427
  - lib/foreman_maintain/utils/response.rb
@@ -1,17 +0,0 @@
1
- module ForemanMaintain::Utils
2
- module Facter
3
- include ForemanMaintain::Concerns::SystemHelpers
4
-
5
- FACTER_FILES = %w[/usr/bin/facter /opt/puppetlabs/bin/facter].freeze
6
-
7
- def self.package
8
- puppet_version = version(execute!('/opt/puppetlabs/bin/puppet --version'))
9
-
10
- puppet_version.major >= 4 ? 'puppet-agent' : 'facter'
11
- end
12
-
13
- def self.path
14
- FACTER_FILES.find { |path| File.exist?(path) }
15
- end
16
- end
17
- end