simp-beaker-helpers 1.20.1 → 1.21.2
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 +4 -4
- data/CHANGELOG.md +13 -0
- data/lib/simp/beaker_helpers.rb +76 -54
- data/lib/simp/beaker_helpers/version.rb +1 -1
- 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: 6c454a97bb3100de8137245a8f4e328451e4048665c482db961c668cb820c972
|
4
|
+
data.tar.gz: 1aed320014ebd403f631faeb3f29484f6cc55a4441a4e499beab7409e289f101
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1df4f0b7411eead1d2c0d49f4f16d7a4f5dde7162ce91cb3fcba07018382508e56a8e16fdd65f06ee0b74fa2f4e6d036a7ea7f1d3c292964ce4face723bbb04
|
7
|
+
data.tar.gz: 82fb880cc4c7c975aa7a4b44134ec88f6d34d7a30431914c22b2616e54880b00ec647221779dda3d12e2b3f99923af49d3ce49a03efa20d04d318db3457189a4
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
### 1.21.2 / 2021-01-15
|
2
|
+
* Fixed version mismatch. 1.21.1 was tagged with an incorrect version
|
3
|
+
in version.rb.
|
4
|
+
|
5
|
+
### 1.21.1 / 2021-01-13
|
6
|
+
* Added:
|
7
|
+
* update_package_from_centos_stream method
|
8
|
+
* install_latest_package_on method
|
9
|
+
* Fixed:
|
10
|
+
* Removed some of the extraneous calls to facter
|
11
|
+
* Automatically pull the CentOS 8 kernel to the latest version in
|
12
|
+
CentOS-Stream to work around issues on FIPS systems
|
13
|
+
|
1
14
|
### 1.20.1 / 2021-01-08
|
2
15
|
* Fixed:
|
3
16
|
* Ensure that yum calls commands appropriately depending on whether or not
|
data/lib/simp/beaker_helpers.rb
CHANGED
@@ -18,6 +18,30 @@ module Simp::BeakerHelpers
|
|
18
18
|
"simp-beaker-helpers-#{t}-#{$$}-#{rand(0x100000000).to_s(36)}.tmp"
|
19
19
|
end
|
20
20
|
|
21
|
+
def install_latest_package_on(sut, package_name, package_source=nil, opts={})
|
22
|
+
default_opts = {
|
23
|
+
max_retries: 3,
|
24
|
+
retry_interval: 10
|
25
|
+
}
|
26
|
+
|
27
|
+
package_source = package_name unless package_source
|
28
|
+
|
29
|
+
if sut.check_for_package(package_name)
|
30
|
+
sut.upgrade_package(
|
31
|
+
package_source,
|
32
|
+
'',
|
33
|
+
default_opts.merge(opts)
|
34
|
+
)
|
35
|
+
else
|
36
|
+
sut.install_package(
|
37
|
+
package_source,
|
38
|
+
'',
|
39
|
+
nil,
|
40
|
+
default_opts.merge(opts)
|
41
|
+
)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
21
45
|
def is_windows?(sut)
|
22
46
|
sut[:platform] =~ /windows/i
|
23
47
|
end
|
@@ -327,7 +351,7 @@ module Simp::BeakerHelpers
|
|
327
351
|
|
328
352
|
def munge_ssh_crypto_policies(sut, key_types=['ssh-rsa'])
|
329
353
|
if has_crypto_policies(sut)
|
330
|
-
|
354
|
+
install_latest_package_on(sut, 'crypto-policies', nil, :accept_all_exit_codes => true)
|
331
355
|
|
332
356
|
# Since we may be doing this prior to having a box flip into FIPS mode, we
|
333
357
|
# need to find and modify *all* of the affected policies
|
@@ -497,15 +521,10 @@ module Simp::BeakerHelpers
|
|
497
521
|
|
498
522
|
# This is based on the official EPEL docs https://fedoraproject.org/wiki/EPEL
|
499
523
|
if ['RedHat', 'CentOS'].include?(os_info['name'])
|
500
|
-
|
501
|
-
yum_operation = 'install'
|
502
|
-
yum_operation = 'update' if sut.check_for_package('epel-release')
|
503
|
-
|
504
|
-
on(
|
524
|
+
install_latest_package_on(
|
505
525
|
sut,
|
506
|
-
|
507
|
-
|
508
|
-
:retry_interval => 10
|
526
|
+
'epel-release',
|
527
|
+
"https://dl.fedoraproject.org/pub/epel/epel-release-latest-#{os_maj_rel}.noarch.rpm",
|
509
528
|
)
|
510
529
|
|
511
530
|
if os_info['name'] == 'RedHat'
|
@@ -530,11 +549,19 @@ module Simp::BeakerHelpers
|
|
530
549
|
end
|
531
550
|
end
|
532
551
|
|
552
|
+
def update_package_from_centos_stream(sut, package_name)
|
553
|
+
sut.install_package('centos-release-stream') unless sut.check_for_package('centos-release-stream')
|
554
|
+
install_latest_package_on(sut, package_name)
|
555
|
+
sut.uninstall_package('centos-release-stream')
|
556
|
+
end
|
557
|
+
|
533
558
|
def linux_errata( sut )
|
534
559
|
# We need to be able to flip between server and client without issue
|
535
560
|
on sut, 'puppet resource group puppet gid=52'
|
536
561
|
on sut, 'puppet resource user puppet comment="Puppet" gid="52" uid="52" home="/var/lib/puppet" managehome=true'
|
537
562
|
|
563
|
+
os_info = fact_on(sut, 'os')
|
564
|
+
|
538
565
|
# Make sure we have a domain on our host
|
539
566
|
current_domain = fact_on(sut, 'domain').strip
|
540
567
|
hostname = fact_on(sut, 'hostname').strip
|
@@ -601,8 +628,9 @@ module Simp::BeakerHelpers
|
|
601
628
|
configure_type_defaults_on(sut)
|
602
629
|
end
|
603
630
|
|
604
|
-
if
|
605
|
-
|
631
|
+
if os_info['family'] == 'RedHat'
|
632
|
+
# OS-specific items
|
633
|
+
if os_info['name'] == 'RedHat'
|
606
634
|
RSpec.configure do |c|
|
607
635
|
c.before(:all) do
|
608
636
|
rhel_rhsm_subscribe(sut)
|
@@ -614,19 +642,28 @@ module Simp::BeakerHelpers
|
|
614
642
|
end
|
615
643
|
end
|
616
644
|
|
617
|
-
|
618
|
-
|
645
|
+
if ['CentOS','RedHat','OracleLinux'].include?(os_info['name'])
|
646
|
+
enable_yum_repos_on(sut)
|
647
|
+
enable_epel_on(sut)
|
619
648
|
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
649
|
+
# net-tools required for netstat utility being used by be_listening
|
650
|
+
if os_info['release']['major'].to_i >= 7
|
651
|
+
pp = <<-EOS
|
652
|
+
package { 'net-tools': ensure => installed }
|
653
|
+
EOS
|
654
|
+
apply_manifest_on(sut, pp, :catch_failures => false)
|
655
|
+
end
|
656
|
+
|
657
|
+
if (os_info['name'] == 'CentOS') && (os_info['release']['major'].to_i >= 8)
|
658
|
+
if os_info['release']['minor'].to_i == 3
|
659
|
+
update_package_from_centos_stream(sut, 'kernel')
|
660
|
+
sut.reboot
|
661
|
+
end
|
662
|
+
end
|
627
663
|
|
628
|
-
|
629
|
-
|
664
|
+
# Clean up YUM prior to starting our test runs.
|
665
|
+
on(sut, 'yum clean all')
|
666
|
+
end
|
630
667
|
end
|
631
668
|
end
|
632
669
|
|
@@ -687,7 +724,7 @@ module Simp::BeakerHelpers
|
|
687
724
|
end
|
688
725
|
|
689
726
|
def sosreport(sut, dest='sosreports')
|
690
|
-
|
727
|
+
install_latest_package_on(sut, 'sos')
|
691
728
|
on(sut, 'sosreport --batch')
|
692
729
|
|
693
730
|
files = on(sut, 'ls /var/tmp/sosreport* /tmp/sosreport* 2>/dev/null', :accept_all_exit_codes => true).output.lines.map(&:strip)
|
@@ -873,18 +910,18 @@ module Simp::BeakerHelpers
|
|
873
910
|
# Need to hash all of the CA certificates so that apps can use them
|
874
911
|
# properly! This must happen on the host itself since it needs to match
|
875
912
|
# the native hashing algorithms.
|
876
|
-
hash_cmd =
|
877
|
-
cd #{sut_pki_dir}/cacerts; \
|
878
|
-
for x in *; do \
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
done
|
887
|
-
|
913
|
+
hash_cmd = <<~EOM.strip
|
914
|
+
cd #{sut_pki_dir}/cacerts; \
|
915
|
+
for x in *; do \
|
916
|
+
if [ ! -h "$x" ]; then \
|
917
|
+
`openssl x509 -in $x >/dev/null 2>&1`; \
|
918
|
+
if [ $? -eq 0 ]; then \
|
919
|
+
hash=`openssl x509 -in $x -hash | head -1`; \
|
920
|
+
ln -sf $x $hash.0; \
|
921
|
+
fi; \
|
922
|
+
fi; \
|
923
|
+
done
|
924
|
+
EOM
|
888
925
|
|
889
926
|
on(sut, hash_cmd)
|
890
927
|
end
|
@@ -1299,26 +1336,11 @@ done
|
|
1299
1336
|
def install_simp_repos(sut, disable = [])
|
1300
1337
|
# NOTE: Do *NOT* use puppet in this method since it may not be available yet
|
1301
1338
|
|
1302
|
-
|
1303
|
-
|
1304
|
-
yum_operation = 'update' if sut.check_for_package('yum-utils')
|
1305
|
-
|
1306
|
-
on(
|
1307
|
-
sut,
|
1308
|
-
"yum -y #{yum_operation} yum-utils",
|
1309
|
-
:max_retries => 3,
|
1310
|
-
:retry_interval => 10
|
1311
|
-
)
|
1312
|
-
|
1313
|
-
# EL7 returns 1 if install is called and there is nothing to do
|
1314
|
-
yum_operation = 'install'
|
1315
|
-
yum_operation = 'update' if sut.check_for_package('simp-release-community')
|
1316
|
-
|
1317
|
-
on(
|
1339
|
+
install_latest_package_on(sut, 'yum-utils')
|
1340
|
+
install_latest_package_on(
|
1318
1341
|
sut,
|
1319
|
-
|
1320
|
-
|
1321
|
-
:retry_interval => 10
|
1342
|
+
'simp-release-community',
|
1343
|
+
"https://download.simp-project.com/simp-release-community.rpm",
|
1322
1344
|
)
|
1323
1345
|
|
1324
1346
|
to_disable = disable.dup
|
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.21.2
|
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: 2021-01-
|
12
|
+
date: 2021-01-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beaker
|