simp-beaker-helpers 1.25.0 → 1.27.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/files/pki/make.sh +1 -1
- data/lib/simp/beaker_helpers/version.rb +1 -1
- data/lib/simp/beaker_helpers.rb +13 -5
- data/lib/simp/rake/beaker.rb +39 -0
- data/spec/acceptance/nodesets/amzn2.yml +0 -1
- data/spec/acceptance/nodesets/default.yml +2 -1
- data/spec/acceptance/nodesets/docker.yml +1 -1
- data/spec/acceptance/nodesets/oel.yml +1 -1
- data/spec/acceptance/nodesets/ubuntu.yml +2 -0
- data/spec/acceptance/suites/default/fixture_modules_spec.rb +11 -11
- data/spec/acceptance/suites/default/pki_tests_spec.rb +8 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e12166a33cca84b167545aee4efc3028ba09d46e1067aa00d62d6eb41a170b7
|
4
|
+
data.tar.gz: 41b71fae99411f4817927d40aa7763d46ec0ba96246054768149b04e763a0fe0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 44b3731e4953d446ddccb495934ac334b3aaee62f4d768921d8be6aae9c8425c31997334c10dea0f84b1a38d4205aa3e1ce272ffefb1ff04003ec49979691776
|
7
|
+
data.tar.gz: 522e33939ad65d12416792e9241f7891eefc55dcf4f5d4fc1c02b0efffe7758a015a36c9115706e61df764e59df3a9e9d03f36c6a2ce3b449b1b7747dcc4b846
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
### 1.27.0 / 2022-07-30
|
2
|
+
* Added:
|
3
|
+
* Add EPEL support for Amazon, Rocky, and Alma distributions
|
4
|
+
|
5
|
+
### 1.26.2 / 2022-07-26
|
6
|
+
* Fixed:
|
7
|
+
* Limit the length of the CN field of the certificates to 64 bytes
|
8
|
+
|
9
|
+
### 1.26.1 / 2022-06-24
|
10
|
+
* Fixed:
|
11
|
+
* Ensure that `multi_node` is enabled by default for backwards compatibility
|
12
|
+
* Sort the discovered nodesets by default when running with `ALL` nodesets
|
13
|
+
|
14
|
+
### 1.26.0 / 2022-06-24
|
15
|
+
* Added:
|
16
|
+
* Allow for sequential nodesets by setting `multi_node: false` in the
|
17
|
+
`CONFIG:` section of your nodeset.
|
18
|
+
|
1
19
|
### 1.25.0 / 2022-06-11
|
2
20
|
* Fixed:
|
3
21
|
* Replaced calls to `sed -c` with something POSIX compliant that should work
|
data/files/pki/make.sh
CHANGED
@@ -46,7 +46,7 @@ for hosts in $*; do
|
|
46
46
|
echo "-- $hname"
|
47
47
|
mkdir -p "${keydist}/${hname}/cacerts"
|
48
48
|
|
49
|
-
sed -e "s/#HOSTNAME#/${hname}/" template_host.cnf > "working/${hname}.cnf"
|
49
|
+
sed -e "s/#HOSTNAME#/${hname:0:63}/" template_host.cnf > "working/${hname}.cnf"
|
50
50
|
|
51
51
|
if [ "$hname" != "$hosts" ];
|
52
52
|
then
|
data/lib/simp/beaker_helpers.rb
CHANGED
@@ -636,7 +636,7 @@ module Simp::BeakerHelpers
|
|
636
636
|
|
637
637
|
# This is based on the official EPEL docs https://fedoraproject.org/wiki/EPEL
|
638
638
|
case os_info['name']
|
639
|
-
when 'RedHat','CentOS'
|
639
|
+
when 'RedHat','CentOS','AlmaLinux','Rocky'
|
640
640
|
install_latest_package_on(
|
641
641
|
sut,
|
642
642
|
'epel-release',
|
@@ -655,7 +655,7 @@ module Simp::BeakerHelpers
|
|
655
655
|
end
|
656
656
|
end
|
657
657
|
|
658
|
-
if os_info['name']
|
658
|
+
if ['CentOS','AlmaLinux','Rocky'].include?(os_info['name'])
|
659
659
|
if os_maj_rel == '8'
|
660
660
|
# 8.0 fallback
|
661
661
|
install_latest_package_on(sut, 'dnf-plugins-core')
|
@@ -665,8 +665,9 @@ module Simp::BeakerHelpers
|
|
665
665
|
when 'OracleLinux'
|
666
666
|
package_name = "oracle-epel-release-el#{os_maj_rel}"
|
667
667
|
install_latest_package_on(sut,package_name)
|
668
|
+
when 'Amazon'
|
669
|
+
on sut, %{amazon-linux-extras install epel -y}
|
668
670
|
end
|
669
|
-
|
670
671
|
end
|
671
672
|
end
|
672
673
|
end
|
@@ -773,12 +774,19 @@ module Simp::BeakerHelpers
|
|
773
774
|
end
|
774
775
|
end
|
775
776
|
|
776
|
-
if [
|
777
|
+
if [
|
778
|
+
'AlmaLinux',
|
779
|
+
'Amazon',
|
780
|
+
'CentOS',
|
781
|
+
'OracleLinux',
|
782
|
+
'RedHat',
|
783
|
+
'Rocky'
|
784
|
+
].include?(os_info['name'])
|
777
785
|
enable_yum_repos_on(sut)
|
778
786
|
enable_epel_on(sut)
|
779
787
|
|
780
788
|
# net-tools required for netstat utility being used by be_listening
|
781
|
-
if os_info['release']['major'].to_i >= 7
|
789
|
+
if (os_info['release']['major'].to_i >= 7) ||((os_info['name'] == 'Amazon') && (os_info['release']['major'].to_i >= 2))
|
782
790
|
pp = <<-EOS
|
783
791
|
package { 'net-tools': ensure => installed }
|
784
792
|
EOS
|
data/lib/simp/rake/beaker.rb
CHANGED
@@ -225,7 +225,46 @@ module Simp::Rake
|
|
225
225
|
nodesets << File.join(nodeset_path, 'default.yml')
|
226
226
|
end
|
227
227
|
|
228
|
+
refined_nodesets = []
|
229
|
+
|
228
230
|
nodesets.each do |nodeset_yml|
|
231
|
+
parsed_nodeset = ::Beaker::Options::HostsFileParser.parse_hosts_file(nodeset_yml)
|
232
|
+
|
233
|
+
# Default to multi-node testing for backwards compatibility
|
234
|
+
multi_node = (parsed_nodeset[:multi_node] == false ? false: true)
|
235
|
+
|
236
|
+
if multi_node
|
237
|
+
refined_nodesets.push(nodeset_yml)
|
238
|
+
else
|
239
|
+
parsed_nodeset_hosts = parsed_nodeset.delete(:HOSTS)
|
240
|
+
|
241
|
+
parsed_nodeset_hosts.each do |k,v|
|
242
|
+
|
243
|
+
v[:roles] ||= []
|
244
|
+
v[:roles] |= ['default']
|
245
|
+
|
246
|
+
tmp_nodeset = {
|
247
|
+
:HOSTS => { k => v },
|
248
|
+
:CONFIG => parsed_nodeset
|
249
|
+
}
|
250
|
+
|
251
|
+
tmp_nodeset_file = Tempfile.new("nodeset_#{k}-")
|
252
|
+
tmp_nodeset_file.write(tmp_nodeset.to_yaml)
|
253
|
+
tmp_nodeset_file.close
|
254
|
+
|
255
|
+
refined_nodesets.push(tmp_nodeset_file.path)
|
256
|
+
|
257
|
+
at_exit do
|
258
|
+
if tmp_nodeset_file && File.exist?(tmp_nodeset_file.path)
|
259
|
+
tmp_nodeset_file.close
|
260
|
+
tmp_nodeset_file.unlink
|
261
|
+
end
|
262
|
+
end
|
263
|
+
end
|
264
|
+
end
|
265
|
+
end
|
266
|
+
|
267
|
+
refined_nodesets.sort.each do |nodeset_yml|
|
229
268
|
unless File.file?(nodeset_yml)
|
230
269
|
# Get here if user has specified a non-existent nodeset or the
|
231
270
|
# implied `default` nodeset does not exist.
|
@@ -8,8 +8,8 @@
|
|
8
8
|
HOSTS:
|
9
9
|
el7:
|
10
10
|
roles:
|
11
|
+
- default
|
11
12
|
- el7
|
12
|
-
- master
|
13
13
|
platform: el-7-x86_64
|
14
14
|
box: centos/7
|
15
15
|
hypervisor: <%= hypervisor %>
|
@@ -22,6 +22,7 @@ HOSTS:
|
|
22
22
|
hypervisor: <%= hypervisor %>
|
23
23
|
|
24
24
|
CONFIG:
|
25
|
+
multi_node: <%= ['yes','true'].include?(ENV['BEAKER_multi_node']) ? true : false %>
|
25
26
|
log_level: verbose
|
26
27
|
type: aio
|
27
28
|
vagrant_cpus: 2
|
@@ -6,41 +6,41 @@ context 'after copy_fixture_modules_to( hosts )' do
|
|
6
6
|
copy_fixture_modules_to( hosts )
|
7
7
|
end
|
8
8
|
|
9
|
-
describe "fact_on(
|
9
|
+
describe "fact_on(default,'root_home')" do
|
10
10
|
it 'should not return value of `root_home`' do
|
11
|
-
expect(fact_on(
|
11
|
+
expect(fact_on(default, 'root_home')).to eq ''
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
describe "pfact_on(
|
15
|
+
describe "pfact_on(default,'root_home')" do
|
16
16
|
it 'should return value of `root_home`' do
|
17
|
-
expect(pfact_on(
|
17
|
+
expect(pfact_on(default, 'root_home')).to eq '/root'
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
-
describe "pfact_on(
|
21
|
+
describe "pfact_on(default,'os.release.major')" do
|
22
22
|
it 'should return the value of `os.release.major`' do
|
23
|
-
expect(pfact_on(
|
23
|
+
expect(pfact_on(default, 'os.release.major')).to match(/.+/)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
|
27
|
-
describe "pfact_on(
|
27
|
+
describe "pfact_on(default,'os.release.foo')" do
|
28
28
|
it 'should not return the value of `os.release.foo`' do
|
29
|
-
expect(pfact_on(
|
29
|
+
expect(pfact_on(default, 'os.release.foo')).to eq ''
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
describe "pfact_on(
|
33
|
+
describe "pfact_on(default,'fips_enabled')" do
|
34
34
|
expected = (ENV['BEAKER_fips'] == 'yes')
|
35
35
|
|
36
36
|
it 'should return false' do
|
37
|
-
expect(pfact_on(
|
37
|
+
expect(pfact_on(default, 'fips_enabled')).to eq expected
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
41
|
describe "pfact_on returns a hash" do
|
42
42
|
it 'should return a Hash' do
|
43
|
-
expect(pfact_on(
|
43
|
+
expect(pfact_on(default, 'os')).to be_a(Hash)
|
44
44
|
end
|
45
45
|
end
|
46
46
|
end
|
@@ -4,21 +4,21 @@ require 'tmpdir'
|
|
4
4
|
|
5
5
|
context 'PKI operations' do
|
6
6
|
|
7
|
-
context 'after run_fake_pki_ca_on(
|
7
|
+
context 'after run_fake_pki_ca_on(default,hosts)' do
|
8
8
|
before(:all) do
|
9
9
|
copy_fixture_modules_to( hosts )
|
10
10
|
end
|
11
11
|
|
12
12
|
shared_examples_for 'a correctly copied keydist/ tree' do |test_dir|
|
13
13
|
it 'correctly copies keydist/ tree' do
|
14
|
-
on(
|
14
|
+
on(default, "ls -d #{test_dir}" +
|
15
15
|
" #{test_dir}/cacerts" +
|
16
16
|
" #{test_dir}/cacerts/cacert_*.pem"
|
17
17
|
)
|
18
18
|
|
19
19
|
hosts.each do |host|
|
20
20
|
name = host.node_name
|
21
|
-
on(
|
21
|
+
on(default, "ls -d #{test_dir}/#{name}/cacerts" +
|
22
22
|
" #{test_dir}/#{name}/#{name}.pem" +
|
23
23
|
" #{test_dir}/#{name}/#{name}.pub" +
|
24
24
|
" #{test_dir}/cacerts/cacert_*.pem"
|
@@ -29,10 +29,10 @@ context 'PKI operations' do
|
|
29
29
|
|
30
30
|
describe 'a Fake CA under /root' do
|
31
31
|
tmp_keydist_dir = Dir.mktmpdir 'simp-beaker-helpers__pki-tests'
|
32
|
-
run_fake_pki_ca_on(
|
32
|
+
run_fake_pki_ca_on( default, hosts, tmp_keydist_dir )
|
33
33
|
|
34
34
|
it 'should create /root/pki' do
|
35
|
-
on(
|
35
|
+
on(default, 'test -d /root/pki')
|
36
36
|
end
|
37
37
|
|
38
38
|
it_behaves_like 'a correctly copied keydist/ tree', '/root/pki/keydist'
|
@@ -41,13 +41,13 @@ context 'PKI operations' do
|
|
41
41
|
|
42
42
|
describe 'after copy_keydist_to' do
|
43
43
|
test_dir = '/etc/puppetlabs/code/environments/production/modules/pki/files/keydist'
|
44
|
-
copy_keydist_to(
|
44
|
+
copy_keydist_to(default)
|
45
45
|
it_behaves_like 'a correctly copied keydist/ tree', test_dir
|
46
46
|
end
|
47
47
|
|
48
|
-
describe 'after copy_keydist_to(
|
48
|
+
describe 'after copy_keydist_to(default,"/tmp/foo")' do
|
49
49
|
test_dir = '/tmp/foo'
|
50
|
-
copy_keydist_to(
|
50
|
+
copy_keydist_to(default, test_dir)
|
51
51
|
it_behaves_like 'a correctly copied keydist/ tree', test_dir
|
52
52
|
end
|
53
53
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simp-beaker-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.27.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Tessmer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-07-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beaker
|