foreman_maintain 0.2.10 → 0.2.11

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
  SHA1:
3
- metadata.gz: 01b94d288066a77ce5e9203b9dd97258ce49c1ce
4
- data.tar.gz: ff691d5547890b714d5f19ce5eadf059ee97bff1
3
+ metadata.gz: 375b11bcb879988abac384387b1ae48f9cba4685
4
+ data.tar.gz: af7cd8bd44afcea10e3483328b839550a37c6ab8
5
5
  SHA512:
6
- metadata.gz: 93a26603996d1d3c0cf5f34357a9db6e55c92b14347b2039b74ed07bb975f9d62c7c0437a95c8743ae183d7baeb227075f97a1fb31e420a859298663f8834a66
7
- data.tar.gz: afe06f39673cf070e0eb1a039b97f006036907c53ea6fa54d07d2012ee3c2af25a21bb637571a87dcab6d3b6975900d63b3adfc80f27a5ae03289a87a4fd24a6
6
+ metadata.gz: aba072d5526230ecca7596e0f180336e61c6e97276de978becbe64b07e9be990d687a0faeeddf9774c31c8f96554a32fbed3f362ccb9bbb23b533ece40594722
7
+ data.tar.gz: af43c90a8c8a750b86025a595998f9f78253640c21b7869b95662d4604f60eb7dbd871e6d6908756a4ba5c23e575cfba77453ca973cbc0fa93632ed8c820ad9b
@@ -12,7 +12,7 @@ module Checks
12
12
  end
13
13
  end
14
14
 
15
- EXPECTED_IO = 80
15
+ EXPECTED_IO = 60
16
16
  DEFAULT_UNIT = 'MB/sec'.freeze
17
17
  DEFAULT_DIRS = ['/var/lib/pulp', '/var/lib/mongodb', '/var/lib/pgsql'].freeze
18
18
 
@@ -76,13 +76,6 @@ class Features::Downstream < ForemanMaintain::Feature
76
76
  sat_tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-#{sat_version_full}-rpms"
77
77
  sat_maintenance_repo_id = "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms"
78
78
 
79
- # Override to use Beta repositories for sat version until GA
80
- if sat_version.to_s == '6.4'
81
- sat_repo_id = "rhel-server-#{rh_version_major}-satellite-6-beta-rpms"
82
- sat_tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-6-beta-rpms"
83
- sat_maintenance_repo_id = "rhel-#{rh_version_major}-server-satellite-maintenance-6-beta-rpms"
84
- end
85
-
86
79
  [sat_repo_id, sat_tools_repo_id, sat_maintenance_repo_id]
87
80
  end
88
81
 
@@ -15,7 +15,9 @@ class Features::Puppet < ForemanMaintain::Feature
15
15
  '/var/lib/puppet/foreman_cache_data',
16
16
  '/opt/puppetlabs/puppet/ssl/',
17
17
  '/var/lib/puppet/ssl',
18
- '/var/lib/puppet'
18
+ '/var/lib/puppet',
19
+ '/usr/share/ruby/vendor_ruby/puppet/reports/foreman.rb',
20
+ '/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/foreman.rb'
19
21
  ]
20
22
  end
21
23
  end
@@ -45,6 +45,16 @@ class Features::Service < ForemanMaintain::Feature
45
45
  options[:reverse] = action == 'stop'
46
46
  raise 'Unsupported action detected' unless allowed_action?(action)
47
47
 
48
+ status, failed_services = run_action_on_services(action, options, spinner)
49
+
50
+ spinner.update("All services #{action_past_tense(action)}")
51
+ if action == 'status'
52
+ raise "Some services are not running (#{failed_services.join(', ')})" if status > 0
53
+ spinner.update('All services are running')
54
+ end
55
+ end
56
+
57
+ def run_action_on_services(action, options, spinner)
48
58
  status = 0
49
59
  failed_services = []
50
60
 
@@ -52,24 +62,35 @@ class Features::Service < ForemanMaintain::Feature
52
62
  spinner.update("#{action_noun(action)} #{service}")
53
63
  item_status, output = service.send(action.to_sym)
54
64
 
65
+ formatted = format_status(output, item_status, options)
66
+ puts formatted unless formatted.empty?
67
+
55
68
  if item_status > 0
56
69
  status = item_status
57
70
  failed_services << service
58
71
  end
59
-
60
- puts format_status(output)
61
72
  end
62
-
63
- spinner.update("All services #{action_past_tense(action)}")
64
- raise "Some services are not running (#{failed_services.join(', ')})" if status > 0
73
+ [status, failed_services]
65
74
  end
66
75
 
67
- def format_status(output)
68
- status = "\n"
69
- status += output if !output.nil? && !output.empty?
76
+ def format_status(output, exit_code, options)
77
+ status = ''
78
+ if !options[:failing] || exit_code > 0
79
+ if options[:brief]
80
+ status += format_brief_status(exit_code)
81
+ elsif !(output.nil? || output.empty?)
82
+ status += "\n" + output
83
+ end
84
+ end
70
85
  status
71
86
  end
72
87
 
88
+ def format_brief_status(exit_code)
89
+ result = exit_code == 0 ? reporter.status_label(:success) : reporter.status_label(:fail)
90
+ padding = reporter.max_length - reporter.last_line.to_s.length - 30
91
+ "#{' ' * padding} #{result}"
92
+ end
93
+
73
94
  def allowed_action?(action)
74
95
  %w[start stop restart status enable disable].include?(action)
75
96
  end
@@ -118,8 +139,8 @@ class Features::Service < ForemanMaintain::Feature
118
139
  end
119
140
 
120
141
  def run_katello_service(command)
121
- puts 'Services are handled by katello-service in Satellite versions 6.2 and earlier. ' \
122
- "Redirecting to: \n#{command}\n"
142
+ puts "Services are handled by katello-service in Satellite versions 6.2 and earlier. \n" \
143
+ "Flags --brief or --failing will be ignored if present. Redirecting to: \n#{command}\n"
123
144
  puts execute(command)
124
145
  end
125
146
 
@@ -1,5 +1,7 @@
1
1
  module Procedures::Pulp
2
2
  class Migrate < ForemanMaintain::Procedure
3
+ include ForemanMaintain::Concerns::SystemService
4
+
3
5
  metadata do
4
6
  description 'Migrate pulp db'
5
7
  for_feature :pulp
@@ -7,7 +9,7 @@ module Procedures::Pulp
7
9
 
8
10
  def run
9
11
  with_spinner('Migrating pulp') do |spinner|
10
- necessary_services = feature(:mongo).services.keys + ['qpidd']
12
+ necessary_services = feature(:mongo).services + [system_service('qpidd', 10)]
11
13
  pulp_services = %w[pulp_celerybeat pulp_workers pulp_resource_manager]
12
14
 
13
15
  feature(:service).handle_services(spinner, 'start', :only => necessary_services)
@@ -5,10 +5,13 @@ module Procedures::Service
5
5
  metadata do
6
6
  description 'Get status of applicable services'
7
7
  Base.common_params(self)
8
+ param :brief, 'Print only service name and status', :flag => true, :default => false
9
+ param :failing, 'List only services which are not running', :flag => true, :default => false
8
10
  end
9
11
 
10
12
  def run
11
- run_service_action('status', common_options)
13
+ format_options = { :brief => @brief, :failing => @failing }
14
+ run_service_action('status', common_options.merge(format_options))
12
15
  end
13
16
  end
14
17
  end
@@ -151,6 +151,12 @@ module ForemanMaintain::Scenarios
151
151
 
152
152
  context.map(:exclude,
153
153
  Procedures::Service::Status => :exclude)
154
+
155
+ context.map(:brief,
156
+ Procedures::Service::Status => :brief)
157
+
158
+ context.map(:failing,
159
+ Procedures::Service::Status => :failing)
154
160
  end
155
161
  end
156
162
  end
@@ -52,11 +52,15 @@ module ForemanMaintain
52
52
 
53
53
  subcommand 'status', 'Get statuses of applicable services' do
54
54
  service_options
55
+ option ['-b', '--brief'], :flag, 'Print only service name and status'
56
+ option ['-f', '--failing'], :flag, 'List only services which are not running'
55
57
 
56
58
  def execute
57
59
  scenario = Scenarios::ServiceStatus.new(
58
60
  :only => only,
59
- :exclude => exclude
61
+ :exclude => exclude,
62
+ :brief => brief?,
63
+ :failing => failing?
60
64
  )
61
65
 
62
66
  run_scenario(scenario)
@@ -68,6 +68,8 @@ module ForemanMaintain
68
68
  end
69
69
  end
70
70
 
71
+ attr_reader :last_line, :max_length
72
+
71
73
  def initialize(stdout = STDOUT, stdin = STDIN, options = {})
72
74
  @stdout = stdout
73
75
  @stdin = stdin
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.2.10'.freeze
2
+ VERSION = '0.2.11'.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.2.10
4
+ version: 0.2.11
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: 2018-09-21 00:00:00.000000000 Z
11
+ date: 2018-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp