foreman_maintain 0.7.1 → 0.7.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: 4b787c9490d94fe3a96d7b36f8faea35a8d086ae7ccee0aa23200a60fa344daa
4
- data.tar.gz: 5102cd1826bb415b9a3a32f1bf5055ca8c13ed7c6ccdb9a7f9ab0357ca5f2d09
3
+ metadata.gz: ede9ac694f3aa2331891b0a5a8d6e2d16881baa2705cedda1d6665e2f525617c
4
+ data.tar.gz: ee459a09c76aeac0d0e62a337e30830b7f93f70a6a48111e81d7af1eed2f6aa0
5
5
  SHA512:
6
- metadata.gz: 674907284187a7b64cbb16bd11d5718cf32dd94663eebeb1193b7c82a350359328ab59e8b1c593abed51e2d2891e16db073c3f2f87c352e25264b07600804c78
7
- data.tar.gz: a5789c3df8d36291c0b7793eac25911921873bfb7e02ad50bc9212f4ae668059c70459d5cbc05728b5dfd5dbbee714ffc1f0b5fd942c5b62943b0c5f88efcabe
6
+ metadata.gz: e41953a3ec03c60f1a2ee2ab573db15a5fdbfddebf438abbf7a93be1b9512401a430ca13c3f870d010275f3b78d01decc404a00f92cd6087e20fcb8fd057cca4
7
+ data.tar.gz: 25745f4026a790b816ce52dd378a1747cea9d9598b3167320cb6d4cc3fb531998589371c8512146c7b35b33aa6b3b632aa9af50b005834c416cda0d2c6b47523
@@ -0,0 +1,27 @@
1
+ module Checks
2
+ module Disk
3
+ class AvailableSpaceCandlepin < ForemanMaintain::Check
4
+ metadata do
5
+ label :available_space_cp
6
+ description 'Check to make sure /var/lib/candlepin has enough space'
7
+ tags :pre_upgrade
8
+ confine do
9
+ feature(:candlepin) && check_min_version('candlepin', '3.1')
10
+ end
11
+ end
12
+
13
+ MAX_USAGE_IN_PERCENT = 90
14
+
15
+ def run
16
+ assert(enough_space?, "System has more than #{MAX_USAGE_IN_PERCENT}% space used"\
17
+ " on #{feature(:candlepin).work_dir}.\n"\
18
+ 'See https://bugzilla.redhat.com/show_bug.cgi?id=1898605')
19
+ end
20
+
21
+ def enough_space?
22
+ io_obj = ForemanMaintain::Utils::Disk::IODevice.new(feature(:candlepin).work_dir)
23
+ io_obj.space_used_in_percent < MAX_USAGE_IN_PERCENT
24
+ end
25
+ end
26
+ end
27
+ end
@@ -7,6 +7,10 @@ class Features::Candlepin < ForemanMaintain::Feature
7
7
  end
8
8
  end
9
9
 
10
+ def work_dir
11
+ '/var/lib/candlepin'
12
+ end
13
+
10
14
  def services
11
15
  [
12
16
  system_service('tomcat', 20),
@@ -95,7 +95,11 @@ class Features::ForemanTasks < ForemanMaintain::Feature
95
95
  end
96
96
 
97
97
  def resume_task_using_hammer
98
- feature(:hammer).run('task resume')
98
+ if check_min_version('satellite', '6.8')
99
+ feature(:hammer).run('task resume --search ""')
100
+ else
101
+ feature(:hammer).run('task resume')
102
+ end
99
103
  end
100
104
 
101
105
  def fetch_tasks_status(state, spinner)
@@ -21,6 +21,7 @@ module ForemanMaintain
21
21
  require 'foreman_maintain/concerns/base_database'
22
22
  require 'foreman_maintain/concerns/directory_marker'
23
23
  require 'foreman_maintain/concerns/downstream'
24
+ require 'foreman_maintain/concerns/primary_checks'
24
25
  require 'foreman_maintain/top_level_modules'
25
26
  require 'foreman_maintain/yaml_storage'
26
27
  require 'foreman_maintain/config'
@@ -41,6 +42,7 @@ module ForemanMaintain
41
42
  require 'foreman_maintain/error'
42
43
 
43
44
  class << self
45
+ include ForemanMaintain::Concerns::PrimaryChecks
44
46
  attr_accessor :config, :logger
45
47
 
46
48
  LOGGER_LEVEL_MAPPING = {
@@ -67,6 +67,7 @@ module ForemanMaintain
67
67
  disable_self_upgrade_option
68
68
 
69
69
  def execute
70
+ ForemanMaintain.validate_downstream_packages
70
71
  ForemanMaintain.perform_self_upgrade unless disable_self_upgrade?
71
72
  upgrade_runner.run_phase(:pre_upgrade_checks)
72
73
  exit upgrade_runner.exit_code
@@ -86,6 +87,7 @@ module ForemanMaintain
86
87
  end
87
88
 
88
89
  def execute
90
+ ForemanMaintain.validate_downstream_packages
89
91
  ForemanMaintain.perform_self_upgrade unless disable_self_upgrade?
90
92
  if phase
91
93
  upgrade_runner.run_phase(phase.to_sym)
@@ -0,0 +1,23 @@
1
+ module ForemanMaintain
2
+ module Concerns
3
+ module PrimaryChecks
4
+ def validate_downstream_packages
5
+ return unless detector.feature(:installer) && detector.feature(:installer).with_scenarios?
6
+ if (package = package_name) && !package_manager.installed?(package)
7
+ raise ForemanMaintain::Error::Fail,
8
+ "Error: Important rpm package #{package} is not installed!"\
9
+ "\nInstall #{package} rpm to ensure system consistency."
10
+ end
11
+ end
12
+
13
+ def package_name
14
+ installed_scenario = detector.feature(:installer).last_scenario
15
+ if installed_scenario == 'satellite'
16
+ 'satellite'
17
+ elsif installed_scenario == 'capsule'
18
+ 'satellite-capsule'
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -22,6 +22,10 @@ module ForemanMaintain
22
22
  convert_kb_to_mb(execute!("df #{dir}|awk {'print $4'}|tail -1").to_i)
23
23
  end
24
24
 
25
+ def space_used_in_percent
26
+ execute!("df #{dir}|awk {'print $5'}|tail -1").to_i
27
+ end
28
+
25
29
  private
26
30
 
27
31
  # In fio command, --direct option bypass the cache page
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.7.1'.freeze
2
+ VERSION = '0.7.2'.freeze
3
3
  end
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.7.1
4
+ version: 0.7.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: 2020-12-04 00:00:00.000000000 Z
11
+ date: 2020-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -125,6 +125,7 @@ files:
125
125
  - definitions/checks/check_hotfix_installed.rb
126
126
  - definitions/checks/check_tmout.rb
127
127
  - definitions/checks/disk/available_space.rb
128
+ - definitions/checks/disk/available_space_candlepin.rb
128
129
  - definitions/checks/disk/performance.rb
129
130
  - definitions/checks/env_proxy.rb
130
131
  - definitions/checks/foreman/check_checkpoint_segments.rb
@@ -347,6 +348,7 @@ files:
347
348
  - lib/foreman_maintain/concerns/hammer.rb
348
349
  - lib/foreman_maintain/concerns/logger.rb
349
350
  - lib/foreman_maintain/concerns/metadata.rb
351
+ - lib/foreman_maintain/concerns/primary_checks.rb
350
352
  - lib/foreman_maintain/concerns/reporter.rb
351
353
  - lib/foreman_maintain/concerns/scenario_metadata.rb
352
354
  - lib/foreman_maintain/concerns/system_helpers.rb