foreman_maintain 0.1.5 → 0.1.6

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: 85dd75e0de03c6b2c872e728ba047ecde645148d
4
- data.tar.gz: 93d8cc2e2381e5c890c62f114b2a3f3ad9c9b460
3
+ metadata.gz: 4ba0d1619770cae069e142f20a49d40591000521
4
+ data.tar.gz: f3ffcb2023e8070b5dc5764f9496654a32c65687
5
5
  SHA512:
6
- metadata.gz: 8b307b932f52b3b9686ecca55c5904d4b901f71429e0fc485ddce9cff419026aaa96393b413dce528001c74ed0e11f03ba7ab73c280f66663dbad6b03299ef80
7
- data.tar.gz: bcc8b92ff358e1e5c3c4c129278af67566dfc09681e7d338330a20718a955acd5fce84b939b40738beb0f3f0fb81990632aec7bb3e37a600ea5cdfcecf9ed71e
6
+ metadata.gz: 2f14ff8e193e7f421f7d7e9c3183013abdc7b83d3d7eda31faa09502f561a3cb7a9069afd1301a3d59d5f48f2dadda36929ae5d4515d950d2b525ff1e317406b
7
+ data.tar.gz: c9c14e9df45fcfcadf4a2a3ea2e710b30edd698f9c4cc19c1f0b52b3690c4ffaf23b9b9d6749b8e091cdca3fb8e4a167a84781ec857c287e25c5f8afed479bf1
@@ -2,6 +2,9 @@ module Checks::Repositories
2
2
  class Validate < ForemanMaintain::Check
3
3
  metadata do
4
4
  description 'Validate availability of repositories'
5
+ preparation_steps do
6
+ Procedures::Packages::Install.new(:packages => [ForemanMaintain::Utils::Facter.package])
7
+ end
5
8
 
6
9
  confine do
7
10
  feature(:downstream)
@@ -46,17 +46,32 @@ class Features::Downstream < ForemanMaintain::Feature
46
46
 
47
47
  def rh_repos(sat_version)
48
48
  sat_version = version(sat_version)
49
- rh_version_major = execute!('facter operatingsystemmajrelease')
50
- sat_version_full = "#{sat_version.major}.#{sat_version.minor}"
49
+ rh_version_major = ForemanMaintain::Utils::Facter.os_major_release
50
+
51
+ rh_repos = main_rh_repos(rh_version_major)
52
+
53
+ rh_repos.concat(sat_and_tools_repos(rh_version_major, sat_version))
54
+
55
+ if current_minor_version == '6.3' && sat_version.to_s != '6.4' && (
56
+ feature(:puppet_server) && feature(:puppet_server).puppet_version.major == 4)
57
+ rh_repos << "rhel-#{rh_version_major}-server-satellite-tools-6.3-puppet4-rpms"
58
+ end
51
59
 
60
+ rh_repos
61
+ end
62
+
63
+ def sat_and_tools_repos(rh_version_major, sat_version)
64
+ sat_version_full = "#{sat_version.major}.#{sat_version.minor}"
52
65
  sat_repo_id = "rhel-#{rh_version_major}-server-satellite-#{sat_version_full}-rpms"
53
66
  sat_tools_repo_id = "rhel-#{rh_version_major}-server-satellite-tools-#{sat_version_full}-rpms"
54
67
 
68
+ [sat_repo_id, sat_tools_repo_id]
69
+ end
70
+
71
+ def main_rh_repos(rh_version_major)
55
72
  ["rhel-#{rh_version_major}-server-rpms",
56
73
  "rhel-server-rhscl-#{rh_version_major}-rpms",
57
- "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms",
58
- sat_tools_repo_id,
59
- sat_repo_id]
74
+ "rhel-#{rh_version_major}-server-satellite-maintenance-6-rpms"]
60
75
  end
61
76
 
62
77
  def version_from_source
@@ -0,0 +1,20 @@
1
+ class Features::PuppetServer < ForemanMaintain::Feature
2
+ metadata do
3
+ label :puppet_server
4
+
5
+ # We only check puppetserver and not puppet-server, as puppet-server
6
+ # is a part of httpd and relies on httpd service to restart, therefore
7
+ # not requiring a separate service to restart
8
+ confine do
9
+ find_package('puppetserver') || find_package('puppet')
10
+ end
11
+ end
12
+
13
+ def services
14
+ find_package('puppetserver') ? { 'puppetserver' => 30 } : {}
15
+ end
16
+
17
+ def puppet_version
18
+ version(execute!('puppet --version'))
19
+ end
20
+ end
@@ -2,6 +2,10 @@ 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
+
5
9
  confine do
6
10
  feature(:downstream) || feature(:upstream)
7
11
  end
@@ -0,0 +1,21 @@
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!('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
+
17
+ def self.os_major_release
18
+ execute!("#{path} operatingsystemmajrelease")
19
+ end
20
+ end
21
+ end
@@ -2,3 +2,4 @@ require 'foreman_maintain/utils/command_runner'
2
2
  require 'foreman_maintain/utils/disk'
3
3
  require 'foreman_maintain/utils/hammer'
4
4
  require 'foreman_maintain/utils/curl_response'
5
+ require 'foreman_maintain/utils/facter'
@@ -1,3 +1,3 @@
1
1
  module ForemanMaintain
2
- VERSION = '0.1.5'.freeze
2
+ VERSION = '0.1.6'.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.1.5
4
+ version: 0.1.6
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-03-23 00:00:00.000000000 Z
11
+ date: 2018-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: clamp
@@ -135,6 +135,7 @@ files:
135
135
  - definitions/features/katello.rb
136
136
  - definitions/features/katello_service.rb
137
137
  - definitions/features/pulp.rb
138
+ - definitions/features/puppet_server.rb
138
139
  - definitions/features/sync_plans.rb
139
140
  - definitions/features/upstream.rb
140
141
  - definitions/procedures/candlepin/delete_orphaned_records_from_env_content.rb
@@ -210,6 +211,7 @@ files:
210
211
  - lib/foreman_maintain/utils/disk/io/file_system.rb
211
212
  - lib/foreman_maintain/utils/disk/nil_device.rb
212
213
  - lib/foreman_maintain/utils/disk/stats.rb
214
+ - lib/foreman_maintain/utils/facter.rb
213
215
  - lib/foreman_maintain/utils/hammer.rb
214
216
  - lib/foreman_maintain/version.rb
215
217
  - lib/foreman_maintain/yaml_storage.rb