foreman_maintain 0.6.14 → 0.6.15

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: ae5019f17555d2bd1f46cb58469c2a8e9134a7b0723628a08f27ed918703dc53
4
- data.tar.gz: f12b8fbf32055f25abd89ba4c9a8ed72cb26438db24c0bfd143cb0fe52204d48
3
+ metadata.gz: ddf7d7720cb922e61c0d6245c14929ebb3745307b7b166f89921667a4948d4f1
4
+ data.tar.gz: 88c7794cbeb2c13d0bb8e86f4762a516ceec7e7ac48aa03b4c00bcb12bcbe33f
5
5
  SHA512:
6
- metadata.gz: b160fc0f48f6a873ea32596abd608f21976e06e6505fe1cc909b3000df0fdd6c41df713fa02f2e5280d2b2abfe923efe3a2c440036f53d0c5348c018fb740594
7
- data.tar.gz: 382123bb454e8afcb46e375c5fd52ead52081ffb76ba2ceac6cbd4896e9d9d1fb4e5f9d2d7dc16f1b22362a57877782017165b1baa3cb69f87e10a2402a0802a
6
+ metadata.gz: 786f1416f313f3a60d8109edf2c25636770c6592ffb74d921587d23b4da89f1fdd034cb42e610a1df86b54d9118e97b12f7bc8e004019ab664655d577893c1f9
7
+ data.tar.gz: 672090585c8fa8b490af89bc9fe14b94aca471ef1457e0553697285e24f20878e2c9743054c6451364418f6d403f129bef6636c7615605a43503843a133b7c83
@@ -7,10 +7,6 @@ class Features::DynflowSidekiq < ForemanMaintain::Feature
7
7
  end
8
8
  end
9
9
 
10
- def services
11
- service_names.map { |service| system_service service, instance_priority(service) }
12
- end
13
-
14
10
  def config_files
15
11
  # Workaround until foreman-installer can deploy scaled workers
16
12
  service_symlinks = configured_instances.map do |service|
@@ -22,6 +18,13 @@ class Features::DynflowSidekiq < ForemanMaintain::Feature
22
18
  ].flatten
23
19
  end
24
20
 
21
+ def services
22
+ service_names.map do |service|
23
+ system_service service, instance_priority(service),
24
+ :instance_parent_unit => 'dynflow-sidekiq@'
25
+ end
26
+ end
27
+
25
28
  private
26
29
 
27
30
  def instance_priority(instance)
@@ -16,12 +16,22 @@ module Procedures::Service
16
16
 
17
17
  def unit_files_list(services)
18
18
  if systemd_installed?
19
- regex = services.map { |service| "^#{service.name}.service" }.join('\|')
20
- execute("systemctl list-unit-files | grep '#{regex}'")
19
+ execute("systemctl list-unit-files --type=service | \
20
+ grep '#{build_regex_for_services(services)}'")
21
21
  else
22
22
  regex = services.map { |service| "^#{service.name} " }.join('\|')
23
23
  execute("chkconfig --list 2>&1 | grep '#{regex}'")
24
24
  end
25
25
  end
26
+
27
+ def build_regex_for_services(services)
28
+ services.map do |service|
29
+ if service.respond_to?(:instance_parent_unit) && service.instance_parent_unit
30
+ "^#{service.instance_parent_unit}.service"
31
+ else
32
+ "^#{service.name}.service"
33
+ end
34
+ end.join('\|')
35
+ end
26
36
  end
27
37
  end
@@ -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 = {
@@ -56,6 +56,7 @@ module ForemanMaintain
56
56
  disable_self_upgrade_option
57
57
 
58
58
  def execute
59
+ ForemanMaintain.validate_downstream_packages
59
60
  ForemanMaintain.perform_self_upgrade unless disable_self_upgrade?
60
61
  print_versions(UpgradeRunner.available_targets)
61
62
  end
@@ -67,6 +68,7 @@ module ForemanMaintain
67
68
  disable_self_upgrade_option
68
69
 
69
70
  def execute
71
+ ForemanMaintain.validate_downstream_packages
70
72
  ForemanMaintain.perform_self_upgrade unless disable_self_upgrade?
71
73
  upgrade_runner.run_phase(:pre_upgrade_checks)
72
74
  exit upgrade_runner.exit_code
@@ -86,6 +88,7 @@ module ForemanMaintain
86
88
  end
87
89
 
88
90
  def execute
91
+ ForemanMaintain.validate_downstream_packages
89
92
  ForemanMaintain.perform_self_upgrade unless disable_self_upgrade?
90
93
  if phase
91
94
  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
@@ -1,16 +1,17 @@
1
1
  module ForemanMaintain::Utils
2
2
  module Service
3
3
  class Systemd < Abstract
4
+ attr_reader :instance_parent_unit
4
5
  def initialize(name, priority, options = {})
5
6
  super
6
7
  @sys = SystemHelpers.new
8
+ @instance_parent_unit = options.fetch(:instance_parent_unit, nil)
7
9
  end
8
10
 
9
11
  def command(action, options = {})
10
12
  do_wait = options.fetch(:wait, true) # wait for service to start
11
13
  all = @options.fetch(:all, false)
12
14
  skip_enablement = @options.fetch(:skip_enablement, false)
13
-
14
15
  if skip_enablement && %w[enable disable].include?(action)
15
16
  return skip_enablement_message(action, @name)
16
17
  end
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.6.14'.freeze
2
+ VERSION = '0.6.15'.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.6.14
4
+ version: 0.6.15
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-11-25 00:00:00.000000000 Z
11
+ date: 2021-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -338,6 +338,7 @@ files:
338
338
  - lib/foreman_maintain/concerns/hammer.rb
339
339
  - lib/foreman_maintain/concerns/logger.rb
340
340
  - lib/foreman_maintain/concerns/metadata.rb
341
+ - lib/foreman_maintain/concerns/primary_checks.rb
341
342
  - lib/foreman_maintain/concerns/reporter.rb
342
343
  - lib/foreman_maintain/concerns/scenario_metadata.rb
343
344
  - lib/foreman_maintain/concerns/system_helpers.rb