foreman_maintain 0.8.19 → 0.9.2

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
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