simp-beaker-helpers 1.18.3 → 1.18.8

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
  SHA256:
3
- metadata.gz: 36231d0862e7ae76a3675efc9bc5339527b2704ead1dbbf41e2df3ce962439d4
4
- data.tar.gz: 83d88bae5f3822c2e13754ee79fe1cc98a34b0f04c885861b61f76a1a32219ae
3
+ metadata.gz: aa50a0956fc8dd2198160f50de04d9beb7550040c2bac91a9ac539a75c1cc094
4
+ data.tar.gz: 4de6d37c95c4484e72dbe48f3bb47e190749701e46fc48ec20e56464b31dee56
5
5
  SHA512:
6
- metadata.gz: 174f5a6496239de911c55a42d5ad08ee21fa54de6fbf244c1a6c167ccbd83780d9520ae51ccb8301f86ed45ddca7f97651126453af3c2d9a80caa288e6166457
7
- data.tar.gz: f059ace7f23bbd687c5af6870f7d294230009984ef02b75a1e77fcfe710b1edd23c1ef4dc24f81efea2d7ac39c02217faea0542ea754d945767a881b2edaebf8
6
+ metadata.gz: f98eaa266f7b9eeb508f0c6924221a98d358d0fb7da1de34ec90b61cd79eb325cc3d2f388365bafccbc0f4d6fdad13eefbd19192631ecb42ddbb3360c46114c7
7
+ data.tar.gz: f3b0ced49cd92655f45378c46061e20d23a6295722d31f2a9bbeef46375b74d2b931c6ca6a3af5bad0e7cd0b04a4c0848eac98b9891b1385f0267811b50def2a
@@ -1,3 +1,20 @@
1
+ ### 1.18.8 / 2020-07-14
2
+ * Allow the beaker version to be pinned by environment variable
3
+
4
+ ### 1.18.7 / 2020-07-07
5
+ * Fix host reference bug when switching to FIPS mode
6
+ * Ensure that net-ssh 6+ can access older FIPS systems
7
+
8
+ ### 1.18.6 / 2020-06-24
9
+ * Fix Vagrant snapshot issues
10
+
11
+ ### 1.18.5 / 2020-06-24
12
+ * Allow Vagrant to connect to EL8+ hosts in FIPS mode
13
+ * Add EL8 support to the SSG scans
14
+
15
+ ### 1.18.4 / 2020-03-31
16
+ * Fix capturing error messages when inspec fails to generate results
17
+
1
18
  ### 1.18.3 / 2020-02-24
2
19
  * Fix the Windows library loading location.
3
20
  * No longer attempt to load windows libraries by default unless the system is
data/Gemfile CHANGED
@@ -13,7 +13,34 @@ gem 'bundler'
13
13
  gem 'rake'
14
14
 
15
15
  group :system_tests do
16
- gem 'beaker'
16
+ beaker_gem_options = ENV.fetch('BEAKER_GEM_OPTIONS', ['>= 4.17.0', '< 5.0.0'])
17
+
18
+ if "#{beaker_gem_options}".include?(':')
19
+ # Just pass in BEAKER_GEM_OPTIONS as a string that would represent the usual
20
+ # hash of options.
21
+ #
22
+ # Something like: BEAKER_GEM_OPTIONS=':git => "https://my.repo/beaker.git", :tag => "1.2.3"'
23
+ #
24
+ # No, this isn't robust, but it's not really an 'every day' sort of thing
25
+ # and safer than an `eval`
26
+ begin
27
+ gem 'beaker', Hash[
28
+ beaker_gem_options.split(',').map do |x| # Split passed options on k/v pairs
29
+ x.gsub('"', '').strip.split(/:\s|\s+=>\s+/) # Allow for either format hash keys
30
+ end.map do |k,v|
31
+ [
32
+ k.delete(':').to_sym, # Convert all keys to symbols
33
+ v.strip
34
+ ]
35
+ end
36
+ ] # Convert the whole thing to a valid Hash
37
+ rescue => e
38
+ raise "Invalid BEAKER_GEM_OPTIONS: '#{beaker_gem_options}' => '#{e}'"
39
+ end
40
+ else
41
+ gem 'beaker', beaker_gem_options
42
+ end
43
+
17
44
  gem 'beaker-rspec'
18
45
  gem 'beaker-windows'
19
46
  gem 'net-ssh'
@@ -297,7 +297,7 @@ module Simp::BeakerHelpers
297
297
  # TODO Use simp-ssh Puppet module appropriately (i.e., in a fashion
298
298
  # that doesn't break vagrant access and is appropriate for
299
299
  # typical module tests.)
300
- fips_ssh_ciphers = [ 'aes256-cbc','aes192-cbc','aes128-cbc']
300
+ fips_ssh_ciphers = [ 'aes256-ctr','aes192-ctr','aes128-ctr']
301
301
  on(sut, %(sed -i '/Ciphers /d' /etc/ssh/sshd_config))
302
302
  on(sut, %(echo 'Ciphers #{fips_ssh_ciphers.join(',')}' >> /etc/ssh/sshd_config))
303
303
 
@@ -327,6 +327,16 @@ module Simp::BeakerHelpers
327
327
 
328
328
  # Enable FIPS and then reboot to finish.
329
329
  on(sut, %(puppet apply --verbose #{fips_enable_modulepath} -e "class { 'fips': enabled => true }"))
330
+
331
+ # Work around Vagrant and cipher restrictions in EL8+
332
+ #
333
+ # Hopefully, Vagrant will update the used ciphers at some point but who
334
+ # knows when that will be
335
+ opensshserver_config = '/etc/crypto-policies/back-ends/opensshserver.config'
336
+ if file_exists_on(sut, opensshserver_config)
337
+ on(sut, "sed --follow-symlinks -i 's/PubkeyAcceptedKeyTypes=/PubkeyAcceptedKeyTypes=ssh-rsa,/' #{opensshserver_config}")
338
+ end
339
+
330
340
  sut.reboot
331
341
  end
332
342
  end
@@ -116,7 +116,7 @@ module Simp::BeakerHelpers
116
116
  FileUtils.remove_entry_secure tmpdir
117
117
  end
118
118
 
119
- unless @results
119
+ if @results.nil? || @results.empty?
120
120
  File.open(@result_file + '.err', 'w') do |fh|
121
121
  fh.puts(result.stderr.strip)
122
122
  end
@@ -1,5 +1,5 @@
1
1
  module Simp::BeakerHelpers
2
- # Helpers for working with the SCAP Security Guide
2
+ # Helpers for managing Vagrant snapshots
3
3
  class Snapshot
4
4
  # The name of the base snapshot that is created if no snapshots currently exist
5
5
  BASE_NAME = '_simp_beaker_base'
@@ -18,9 +18,7 @@ module Simp::BeakerHelpers
18
18
 
19
19
  if vdir
20
20
  Dir.chdir(vdir) do
21
- unless exist?(host, BASE_NAME)
22
- save(host, BASE_NAME)
23
- end
21
+ save(host, BASE_NAME) unless exist?(host, BASE_NAME)
24
22
 
25
23
  snap = "#{host.name}_#{snapshot_name}"
26
24
 
@@ -67,7 +65,7 @@ module Simp::BeakerHelpers
67
65
  Dir.chdir(vdir) do
68
66
  output = %x(vagrant snapshot list #{host.name}).lines
69
67
  output.map! do |x|
70
- x.split(/^#{host.name}_/).last.strip
68
+ x.split(/^#{host.name}_/).last.split(':').first.delete('==>').strip
71
69
  end
72
70
  end
73
71
  end
@@ -29,6 +29,17 @@ module Simp::BeakerHelpers
29
29
  'python-jinja2'
30
30
  ]
31
31
 
32
+ EL8_PACKAGES = [
33
+ 'python3',
34
+ 'python3-pyyaml',
35
+ 'cmake',
36
+ 'git',
37
+ 'openscap-python3',
38
+ 'openscap-utils',
39
+ 'python3-lxml',
40
+ 'python3-jinja2'
41
+ ]
42
+
32
43
  OS_INFO = {
33
44
  'RedHat' => {
34
45
  '6' => {
@@ -46,6 +57,14 @@ module Simp::BeakerHelpers
46
57
  'build_target' => 'rhel7',
47
58
  'datastream' => 'ssg-rhel7-ds.xml'
48
59
  }
60
+ },
61
+ '8' => {
62
+ 'required_packages' => EL8_PACKAGES,
63
+ 'ssg' => {
64
+ 'profile_target' => 'rhel8',
65
+ 'build_target' => 'rhel8',
66
+ 'datastream' => 'ssg-rhel8-ds.xml'
67
+ }
49
68
  }
50
69
  },
51
70
  'CentOS' => {
@@ -64,6 +83,14 @@ module Simp::BeakerHelpers
64
83
  'build_target' => 'centos7',
65
84
  'datastream' => 'ssg-centos7-ds.xml'
66
85
  }
86
+ },
87
+ '8' => {
88
+ 'required_packages' => EL8_PACKAGES,
89
+ 'ssg' => {
90
+ 'profile_target' => 'rhel8',
91
+ 'build_target' => 'centos8',
92
+ 'datastream' => 'ssg-centos8-ds.xml'
93
+ }
67
94
  }
68
95
  },
69
96
  'OracleLinux' => {
@@ -73,8 +100,16 @@ module Simp::BeakerHelpers
73
100
  'profile_target' => 'ol7',
74
101
  'build_target' => 'ol7',
75
102
  'datastream' => 'ssg-ol7-ds.xml'
103
+ },
104
+ '8' => {
105
+ 'required_packages' => EL8_PACKAGES,
106
+ 'ssg' => {
107
+ 'profile_target' => 'ol8',
108
+ 'build_target' => 'ol8',
109
+ 'datastream' => 'ssg-ol8-ds.xml'
76
110
  }
77
111
  }
112
+ }
78
113
  }
79
114
  }
80
115
 
@@ -1,5 +1,5 @@
1
1
  module Simp; end
2
2
 
3
3
  module Simp::BeakerHelpers
4
- VERSION = '1.18.3'
4
+ VERSION = '1.18.8'
5
5
  end
@@ -57,7 +57,7 @@ hosts.each do |host|
57
57
  end
58
58
 
59
59
  it 'can list the snapshots' do
60
- expect(Simp::BeakerHelpers::Snapshot.list(host)).to eq ['test', 'test2']
60
+ expect(Simp::BeakerHelpers::Snapshot.list(host)).to eq ["#{host}", 'test', 'test2']
61
61
  end
62
62
 
63
63
  it 'can query for a specific snapshot' do
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.18.3
4
+ version: 1.18.8
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: 2020-02-24 00:00:00.000000000 Z
12
+ date: 2020-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: beaker