puppet_metadata 0.1.0 → 0.2.0

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/puppet_metadata/beaker.rb +19 -5
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b9da6033c7aa055e1e88289211ad3356764ea737184fd594fce1c31e1e94c27
4
- data.tar.gz: 8fdfd523619505b15568769eb276424cffcc5c257c3a08377ee8a7abd8571701
3
+ metadata.gz: dd0637a24f15f5fbe1876402af082cfdb245d68683de8397dd11703cdc996788
4
+ data.tar.gz: 5ec9738ce657cc4dba65d4af0a4b40093acdd934fcf1d302001efae788633fdd
5
5
  SHA512:
6
- metadata.gz: 574fb26918bdd3c5b7a7ccad604557cb130797f704c87102d552fe3ef5a121acd15d4be22ba67bd273ba3d0d35a4c5b44c1ed8fe48e09b019da3785f9a149a9f
7
- data.tar.gz: fcf0a1b46a59fdfbd3f6269f430495a63acbfc387c187658b25b4466fd8c0a0b5835cf221a5f6b7fcfdcd8f15208ab28141815edb8701666f9cefc47a422f99b
6
+ metadata.gz: 444af6b66b4dc964b254767c1f8fed67219e7e0d7e8504318700d50f3cca7e2cba367b32a75c871b36b1089a65af016322522086b6d0a197658f34b70f175520
7
+ data.tar.gz: 873eb62634fb24e2a904225ceb730e1349c8f216a475e530601b1724d7bc35ad08c6e34b9ef3afe38f5cfb8dabcb64bbaab74a04dbae75e7d8f323c6f40652c8
@@ -12,13 +12,16 @@ module PuppetMetadata
12
12
  # @param [String] release The OS release
13
13
  # @param [Boolean] use_fqdn
14
14
  # Whether or not to use a FQDN, ensuring a domain
15
- # @param [Boolean] pidfile_workaround
15
+ # @param [Boolean, Array[String]] pidfile_workaround
16
16
  # Whether or not to apply the systemd PIDFile workaround. This is only
17
17
  # needed when the daemon uses PIDFile in its service file and using
18
18
  # Docker as a Beaker hypervisor. This is to work around Docker's
19
19
  # limitations.
20
+ # When a boolean, it's applied on applicable operating systems. On arrays
21
+ # it's applied only when os is included in the provided array.
20
22
  #
21
- # @return [String] The beaker setfile description or nil
23
+ # @return [nil] If no setfile is available
24
+ # @return [Array<(String, String)>] The beaker setfile description with a readable name
22
25
  def self.os_release_to_setfile(os, release, use_fqdn: false, pidfile_workaround: false)
23
26
  return unless os_supported?(os)
24
27
 
@@ -26,12 +29,20 @@ module PuppetMetadata
26
29
 
27
30
  options = {}
28
31
  options[:hostname] = "#{name}.example.com" if use_fqdn
32
+
29
33
  # Docker messes up cgroups and modern systemd can't deal with that when
30
34
  # PIDFile is used.
31
- if pidfile_workaround
35
+ if pidfile_workaround && (!pidfile_workaround.is_a?(Array) || pidfile_workaround.include?(os))
32
36
  case os
33
37
  when 'CentOS'
34
- options[:image] = 'centos:7.6.1810' if release == '7'
38
+ case release
39
+ when '7'
40
+ options[:image] = 'centos:7.6.1810'
41
+ when '8'
42
+ # There is no CentOS 8 image that works with PIDFile in systemd
43
+ # unit files
44
+ return
45
+ end
35
46
  when 'Ubuntu'
36
47
  options[:image] = 'ubuntu:xenial-20191212' if release == '16.04'
37
48
  end
@@ -39,7 +50,10 @@ module PuppetMetadata
39
50
 
40
51
  setfile = name
41
52
  setfile += "{#{options.map { |key, value| "#{key}=#{value}" }.join(',')}}" if options.any?
42
- setfile
53
+
54
+ human_name = "#{os} #{release}"
55
+
56
+ [setfile, human_name]
43
57
  end
44
58
 
45
59
  # Return whether a Beaker setfile can be generated for the given OS
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet_metadata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-10-18 00:00:00.000000000 Z
12
+ date: 2020-11-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: metadata-json-lint
@@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
143
  - !ruby/object:Gem::Version
144
144
  version: '0'
145
145
  requirements: []
146
- rubygems_version: 3.1.2
146
+ rubygems_version: 3.1.4
147
147
  signing_key:
148
148
  specification_version: 4
149
149
  summary: Data structures for the Puppet Metadata