simp-beaker-helpers 1.23.2 → 1.24.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfd8d6cfc126259b0d2062a8c63765eb67e1645a46d8fd5bdc4605455d4e10bb
4
- data.tar.gz: 006e29f01522f454f0ccc84caa3f9ae22405f6034bfaf074080ceb1bec6a9008
3
+ metadata.gz: bf9271df59bd88be59e1555cd5536c0906f7d09dcb2d1096df801302b1ebbd0d
4
+ data.tar.gz: 967fb58eb7e5561c35b32899beb972d4b0f70a423239d05e5e12aad20b207658
5
5
  SHA512:
6
- metadata.gz: c094cfa4b6d883bbf83a463a646d2a03b9b543f7fcccca64d9afe72d35a9f7c22112500071f96a150eead084f1ffc0dda7a6cd3be78f2da7ddcf04dc1565ccab
7
- data.tar.gz: d22878a97daf38ed771e4d2a023ef4edcdf69edaaee8e0ce9d282cd944010f78e27a90ae5dffdf524a98ccf2a359e8356c6bbfbaa81c99e33cfc0b7b740a7222
6
+ metadata.gz: 9dfd8dcd9bb759cd995aad0f33f072064537dccd5d96cd9b19e5193b069a8c62b5df860802c8a99f0478bbb596fa882cbd8f482d1d581ff9c72218049c3051f2
7
+ data.tar.gz: bd0af0b10d2b743c2f8995821d00c64c4d3bf9d387ebefd3c6af81e4bb738b88ded50671214baf7c74e174fa5e4eb8f884722c5d34c4a06f831e4d79fd098b10
@@ -63,7 +63,7 @@ jobs:
63
63
  # we restrict ourselves to sending data elsewhere.
64
64
  glci-syntax:
65
65
  name: '.gitlab-ci.yml Syntax'
66
- runs-on: ubuntu-16.04
66
+ runs-on: ubuntu-latest
67
67
  outputs:
68
68
  valid: ${{ steps.validate-glci-file.outputs.valid }}
69
69
  steps:
@@ -174,7 +174,7 @@ jobs:
174
174
  ### examine_contexts:
175
175
  ### name: 'Examine Context contents'
176
176
  ### if: always()
177
- ### runs-on: ubuntu-16.04
177
+ ### runs-on: ubuntu-latest
178
178
  ### needs: [ glci-syntax, contributor-permissions ]
179
179
  ### steps:
180
180
  ### - name: Dump contexts
@@ -93,7 +93,7 @@ jobs:
93
93
  ### examine_contexts:
94
94
  ### name: 'Examine Context contents'
95
95
  ### if: always()
96
- ### runs-on: ubuntu-16.04
96
+ ### runs-on: ubuntu-latest
97
97
  ### steps:
98
98
  ### - name: Dump contexts
99
99
  ### env:
@@ -1,4 +1,4 @@
1
- # Build & Deploy RubyGem & GitHub release when a SemVer tag is pushed
1
+ # When SemVer tag is pushed: create GitHub release & publish gem to rubygems.org
2
2
  #
3
3
  # This workflow's jobs are only triggered in repos under the `simp` organization
4
4
  # ------------------------------------------------------------------------------
data/.gitlab-ci.yml CHANGED
@@ -273,10 +273,6 @@ variables:
273
273
  # Unit Tests
274
274
  #-----------------------------------------------------------------------
275
275
 
276
- pup5.x-unit:
277
- <<: *pup_5_x
278
- <<: *unit_tests
279
-
280
276
  pup6.x-unit:
281
277
  <<: *pup_6_x
282
278
  <<: *unit_tests
@@ -292,12 +288,6 @@ pup7.x-unit:
292
288
  #=======================================================================
293
289
  # Packaging test
294
290
 
295
- pup5.x-pkg:
296
- <<: *pup_5_x
297
- <<: *unit_tests
298
- script:
299
- 'bundle exec rake pkg:gem'
300
-
301
291
  pup6.x-pkg:
302
292
  <<: *pup_6_x
303
293
  <<: *unit_tests
@@ -360,6 +350,12 @@ puppet7_collections:
360
350
  script:
361
351
  - bundle exec rake beaker:suites[puppet_collections]
362
352
 
353
+ oel_ssg:
354
+ <<: *pup_6_x
355
+ <<: *acceptance_base
356
+ script:
357
+ - bundle exec rake beaker:suites[ssg,oel]
358
+
363
359
  windows:
364
360
  <<: *pup_6_x
365
361
  <<: *acceptance_base
data/CHANGELOG.md CHANGED
@@ -1,3 +1,32 @@
1
+ ### 1.24.1 / 2021-10-27
2
+ * Fixed:
3
+ * Worked around a bug in 'puppet lookup' - PUP-11402
4
+ * Updated calls to the operating system fact when connecting to RHSM
5
+
6
+ ### 1.24.0 / 2021-10-05
7
+ * Fixed:
8
+ * Pinned the version of inspec to 4.39.0 since 4.41 broke tag processing
9
+ * Only call `activate_interfaces` once per test run instead of at each context
10
+ which saves quite a bit of time during testing
11
+ * SSG tag selection logic
12
+ * Use `sed -ci` which works with docker volume mounts
13
+ * Added:
14
+ * Modified the `activate_interfaces` method to use the `networking` fact if
15
+ available which shaves quite a bit of time off of each test run
16
+
17
+ ### 1.23.4 / 2021-07-07
18
+ * Fixed:
19
+ * Ensure that the openscap-scanner package is installed during SSG runs
20
+ * Added:
21
+ * A function to fetch the available SSG profiles on a target system
22
+ * Changed:
23
+ * Added OEL nodeset
24
+
25
+ ### 1.23.3 / 2021-06-30
26
+ * Fixed:
27
+ * Removed the Streams kernel update for EL 8.3 since it now causes issues
28
+ * Use `pfact_on` to select the interface facts to fix Puppet 7 issues
29
+
1
30
  ### 1.23.2 / 2021-05-29
2
31
  * Fixed:
3
32
  * Fail an acceptance test when an explicitly-specified nodeset for an
data/Gemfile CHANGED
@@ -45,7 +45,7 @@ group :system_tests do
45
45
  gem 'beaker-windows'
46
46
  gem 'net-ssh'
47
47
  gem 'puppet', ENV.fetch('PUPPET_VERSION', '~> 6.0')
48
- gem 'puppetlabs_spec_helper'
48
+ gem 'puppetlabs_spec_helper', '~> 3.0'
49
49
  gem 'rubocop'
50
50
  gem 'rubocop-rspec'
51
51
  end
data/files/pki/make.sh CHANGED
@@ -73,7 +73,7 @@ for hosts in $*; do
73
73
  done
74
74
  done
75
75
 
76
- sed -i "s/# subjectAltName = #ALTNAMES#/subjectAltName = ${altnames}/" "working/${hname}.cnf"
76
+ sed -ci "s/# subjectAltName = #ALTNAMES#/subjectAltName = ${altnames}/" "working/${hname}.cnf"
77
77
  fi
78
78
 
79
79
  echo "-- running openssl req"
@@ -34,7 +34,9 @@ module Simp::BeakerHelpers
34
34
  # The name of the profile against which to run
35
35
  #
36
36
  def initialize(sut, profile)
37
- @inspec_version = ENV['BEAKER_inspec_version'] || 'latest'
37
+ # The 4.41 release is currently broken
38
+ # @inspec_version = ENV['BEAKER_inspec_version'] || 'latest'
39
+ @inspec_version = ENV['BEAKER_inspec_version'] || '4.39.0'
38
40
 
39
41
  @sut = sut
40
42
 
@@ -19,10 +19,11 @@ module Simp::BeakerHelpers
19
19
  GIT_BRANCH = ENV['BEAKER_ssg_branch']
20
20
  end
21
21
 
22
- EL_PACKAGES = [
22
+ EL7_PACKAGES = [
23
23
  'PyYAML',
24
24
  'cmake',
25
25
  'git',
26
+ 'openscap-scanner',
26
27
  'openscap-python',
27
28
  'openscap-utils',
28
29
  'python-jinja2',
@@ -35,16 +36,18 @@ module Simp::BeakerHelpers
35
36
  'make',
36
37
  'openscap-python3',
37
38
  'openscap-utils',
39
+ 'openscap-scanner',
38
40
  'python3',
39
41
  'python3-jinja2',
40
42
  'python3-lxml',
41
- 'python3-pyyaml'
43
+ 'python3-pyyaml',
44
+ 'libarchive'
42
45
  ]
43
46
 
44
47
  OS_INFO = {
45
48
  'RedHat' => {
46
49
  '6' => {
47
- 'required_packages' => EL_PACKAGES,
50
+ 'required_packages' => EL7_PACKAGES,
48
51
  'ssg' => {
49
52
  'profile_target' => 'rhel6',
50
53
  'build_target' => 'rhel6',
@@ -52,7 +55,7 @@ module Simp::BeakerHelpers
52
55
  }
53
56
  },
54
57
  '7' => {
55
- 'required_packages' => EL_PACKAGES,
58
+ 'required_packages' => EL7_PACKAGES,
56
59
  'ssg' => {
57
60
  'profile_target' => 'rhel7',
58
61
  'build_target' => 'rhel7',
@@ -70,7 +73,7 @@ module Simp::BeakerHelpers
70
73
  },
71
74
  'CentOS' => {
72
75
  '6' => {
73
- 'required_packages' => EL_PACKAGES,
76
+ 'required_packages' => EL7_PACKAGES,
74
77
  'ssg' => {
75
78
  'profile_target' => 'rhel6',
76
79
  'build_target' => 'centos6',
@@ -78,7 +81,7 @@ module Simp::BeakerHelpers
78
81
  }
79
82
  },
80
83
  '7' => {
81
- 'required_packages' => EL_PACKAGES,
84
+ 'required_packages' => EL7_PACKAGES,
82
85
  'ssg' => {
83
86
  'profile_target' => 'centos7',
84
87
  'build_target' => 'centos7',
@@ -94,14 +97,25 @@ module Simp::BeakerHelpers
94
97
  }
95
98
  }
96
99
  },
100
+ 'Rocky' => {
101
+ '8' => {
102
+ 'required_packages' => EL8_PACKAGES,
103
+ 'ssg' => {
104
+ 'profile_target' => 'centos8',
105
+ 'build_target' => 'centos8',
106
+ 'datastream' => 'ssg-centos8-ds.xml'
107
+ }
108
+ }
109
+ },
97
110
  'OracleLinux' => {
98
111
  '7' => {
99
- 'required_packages' => EL_PACKAGES,
112
+ 'required_packages' => EL7_PACKAGES,
100
113
  'ssg' => {
101
114
  'profile_target' => 'ol7',
102
115
  'build_target' => 'ol7',
103
116
  'datastream' => 'ssg-ol7-ds.xml'
104
117
  },
118
+ },
105
119
  '8' => {
106
120
  'required_packages' => EL8_PACKAGES,
107
121
  'ssg' => {
@@ -110,7 +124,6 @@ module Simp::BeakerHelpers
110
124
  'datastream' => 'ssg-ol8-ds.xml'
111
125
  }
112
126
  }
113
- }
114
127
  }
115
128
  }
116
129
 
@@ -124,8 +137,8 @@ module Simp::BeakerHelpers
124
137
  def initialize(sut)
125
138
  @sut = sut
126
139
 
127
- @os = fact_on(@sut, 'operatingsystem')
128
- @os_rel = fact_on(@sut, 'operatingsystemmajrelease')
140
+ @os = pfact_on(@sut, 'os.name')
141
+ @os_rel = pfact_on(@sut, 'os.release.major')
129
142
 
130
143
  sut.mkdir_p('scap_working_dir')
131
144
 
@@ -136,7 +149,7 @@ module Simp::BeakerHelpers
136
149
  end
137
150
 
138
151
  OS_INFO[@os][@os_rel]['required_packages'].each do |pkg|
139
- @sut.install_package(pkg)
152
+ install_latest_package_on(@sut, pkg)
140
153
  end
141
154
 
142
155
  @output_dir = File.absolute_path('sec_results/ssg')
@@ -147,7 +160,6 @@ module Simp::BeakerHelpers
147
160
 
148
161
  @result_file = "#{@sut.hostname}-ssg-#{Time.now.to_i}"
149
162
 
150
-
151
163
  get_ssg_datastream
152
164
  end
153
165
 
@@ -155,6 +167,15 @@ module Simp::BeakerHelpers
155
167
  OS_INFO[@os][@os_rel]['ssg']['profile_target']
156
168
  end
157
169
 
170
+ def get_profiles
171
+ cmd = "cd #{@scap_working_dir}; oscap info --profiles"
172
+ on(@sut, "#{cmd} #{OS_INFO[@os][@os_rel]['ssg']['datastream']}")
173
+ .stdout
174
+ .strip
175
+ .lines
176
+ .map{|x| x.split(':').first}
177
+ end
178
+
158
179
  def remediate(profile)
159
180
  evaluate(profile, true)
160
181
  end
@@ -166,7 +187,7 @@ module Simp::BeakerHelpers
166
187
  cmd += ' --remediate'
167
188
  end
168
189
 
169
- cmd += %( --fetch-remote-resources --profile #{profile} --results #{@result_file}.xml --report #{@result_file}.html #{OS_INFO[@os][@os_rel]['ssg']['datastream']})
190
+ cmd += %( --profile #{profile} --results #{@result_file}.xml --report #{@result_file}.html #{OS_INFO[@os][@os_rel]['ssg']['datastream']})
170
191
 
171
192
  # We accept all exit codes here because there have occasionally been
172
193
  # failures in the SSG content and we're not testing that.
@@ -386,7 +407,7 @@ module Simp::BeakerHelpers
386
407
  else
387
408
  tags = on(@sut, %(cd scap-content; git tag -l)).output
388
409
  target_tag = tags.lines.map(&:strip)
389
- .select{|x| x.start_with?(/v\d+\./)}
410
+ .select{|x| x.match?(/^v(\d+\.)+\d+$/)}
390
411
  .sort.last
391
412
 
392
413
  on(@sut, %(cd scap-content; git checkout #{target_tag}))
@@ -398,7 +419,7 @@ module Simp::BeakerHelpers
398
419
  #
399
420
  # This isn't 100% correct but it's "good enough" for an automated CI
400
421
  # environment to tell us if something is critically out of alignment.
401
- on(@sut, %(cd scap-content/build-scripts; sed -i 's/ssg.build_derivatives.profile_handling/#ssg.build_derivatives.profile_handling/g' enable_derivatives.py))
422
+ on(@sut, %(cd scap-content/build-scripts; sed -ci 's/ssg.build_derivatives.profile_handling/#ssg.build_derivatives.profile_handling/g' enable_derivatives.py))
402
423
 
403
424
  on(@sut, %(cd scap-content/build; cmake ../; make -j4 #{OS_INFO[@os][@os_rel]['ssg']['build_target']}-content && cp *ds.xml #{@scap_working_dir}))
404
425
  end
@@ -1,5 +1,5 @@
1
1
  module Simp; end
2
2
 
3
3
  module Simp::BeakerHelpers
4
- VERSION = '1.23.2'
4
+ VERSION = '1.24.1'
5
5
  end
@@ -248,7 +248,7 @@ module Simp::BeakerHelpers
248
248
  rescue StandardError
249
249
  # If *anything* fails, we need to fall back to `puppet facts`
250
250
 
251
- facts_json = on(sut, 'puppet facts find garbage_xxx', :silent => true).stdout
251
+ facts_json = retry_on(sut, 'puppet facts find garbage_xxx', :silent => true, :max_retries => 4).stdout
252
252
  facts = JSON.parse(facts_json)['values']
253
253
  end
254
254
 
@@ -483,7 +483,7 @@ module Simp::BeakerHelpers
483
483
  # that doesn't break vagrant access and is appropriate for
484
484
  # typical module tests.)
485
485
  fips_ssh_ciphers = [ 'aes256-ctr','aes192-ctr','aes128-ctr']
486
- on(sut, %(sed -i '/Ciphers /d' /etc/ssh/sshd_config))
486
+ on(sut, %(sed -ci '/Ciphers /d' /etc/ssh/sshd_config))
487
487
  on(sut, %(echo 'Ciphers #{fips_ssh_ciphers.join(',')}' >> /etc/ssh/sshd_config))
488
488
 
489
489
  fips_enable_modulepath = ''
@@ -688,7 +688,7 @@ module Simp::BeakerHelpers
688
688
  if current_domain.empty?
689
689
  new_fqdn = hostname + '.beaker.test'
690
690
 
691
- on(sut, "sed -i 's/#{hostname}.*/#{new_fqdn} #{hostname}/' /etc/hosts")
691
+ on(sut, "sed -ci 's/#{hostname}.*/#{new_fqdn} #{hostname}/' /etc/hosts")
692
692
  on(sut, "echo '#{new_fqdn}' > /etc/hostname", :accept_all_exit_codes => true)
693
693
  on(sut, "hostname #{new_fqdn}", :accept_all_exit_codes => true)
694
694
 
@@ -771,15 +771,6 @@ module Simp::BeakerHelpers
771
771
  apply_manifest_on(sut, pp, :catch_failures => false)
772
772
  end
773
773
 
774
- unless sut[:hypervisor] == 'docker'
775
- if (os_info['name'] == 'CentOS') && (os_info['release']['major'].to_i >= 8)
776
- if os_info['release']['minor'].to_i == 3
777
- update_package_from_centos_stream(sut, 'kernel')
778
- sut.reboot
779
- end
780
- end
781
- end
782
-
783
774
  # Clean up YUM prior to starting our test runs.
784
775
  on(sut, 'yum clean all')
785
776
  end
@@ -819,8 +810,8 @@ module Simp::BeakerHelpers
819
810
  rhsm_opts.merge!(opts)
820
811
  end
821
812
 
822
- os = fact_on(sut, 'operatingsystem').strip
823
- os_release = fact_on(sut, 'operatingsystemmajrelease').strip
813
+ os = fact_on(sut, 'os.name').strip
814
+ os_release = fact_on(sut, 'os.release.major').strip
824
815
 
825
816
  if os == 'RedHat'
826
817
  unless rhsm_opts[:username] && rhsm_opts[:password]
@@ -962,21 +953,31 @@ module Simp::BeakerHelpers
962
953
  host_entry[fqdn] << host.name if (host[:hypervisor] == 'docker')
963
954
 
964
955
  # Ensure that all interfaces are active prior to collecting data
965
- activate_interfaces(host) unless ENV['BEAKER_no_fix_interfaces']
956
+ activate_interfaces(host)
966
957
 
967
- # Gather the IP Addresses for the host to embed in the cert
968
- interfaces = fact_on(host, 'interfaces').strip.split(',')
969
- interfaces.each do |interface|
970
- ipaddress = fact_on(host, "ipaddress_#{interface}")
958
+ networking_fact = pfact_on(host, 'networking')
959
+ if networking_fact && networking_fact['interfaces']
960
+ networking_fact['interfaces'].each do |iface, data|
961
+ next unless data['ip']
962
+ next if data['ip'].start_with?('127.')
971
963
 
972
- next if ipaddress.nil? || ipaddress.empty? || ipaddress.start_with?('127.')
964
+ host_entry[fqdn] << data['ip'].strip
965
+ end
966
+ else
967
+ # Gather the IP Addresses for the host to embed in the cert
968
+ interfaces = fact_on(host, 'interfaces').strip.split(',')
969
+ interfaces.each do |interface|
970
+ ipaddress = fact_on(host, "ipaddress_#{interface}")
973
971
 
974
- host_entry[fqdn] << ipaddress.strip
972
+ next if ipaddress.nil? || ipaddress.empty? || ipaddress.start_with?('127.')
975
973
 
976
- unless host_entry[fqdn].empty?
977
- suts_network_info[fqdn] = host_entry[fqdn].sort.uniq
974
+ host_entry[fqdn] << ipaddress.strip
978
975
  end
979
976
  end
977
+
978
+ unless host_entry[fqdn].empty?
979
+ suts_network_info[fqdn] = host_entry[fqdn].sort.uniq
980
+ end
980
981
  end
981
982
 
982
983
  # Get all of the repeated SUT IP addresses:
@@ -1081,7 +1082,6 @@ module Simp::BeakerHelpers
1081
1082
  on ca_sut, "chgrp -R puppet #{host_keydist_dir}"
1082
1083
  end
1083
1084
 
1084
-
1085
1085
  # Activate all network interfaces on the target system
1086
1086
  #
1087
1087
  # This is generally needed if the upstream vendor does not activate all
@@ -1089,6 +1089,8 @@ module Simp::BeakerHelpers
1089
1089
  #
1090
1090
  # Can be passed any number of hosts either singly or as an Array
1091
1091
  def activate_interfaces(hosts)
1092
+ return if ENV['BEAKER_no_fix_interfaces']
1093
+
1092
1094
  parallel = (ENV['BEAKER_SIMP_parallel'] == 'yes')
1093
1095
  block_on(hosts, :run_in_parallel => parallel) do |host|
1094
1096
  if host[:platform] =~ /windows/
@@ -1096,14 +1098,22 @@ module Simp::BeakerHelpers
1096
1098
  next
1097
1099
  end
1098
1100
 
1099
- interfaces_fact = retry_on(host,'facter interfaces', verbose: true).stdout
1101
+ networking_fact = pfact_on(host, 'networking')
1102
+ if networking_fact && networking_fact['interfaces']
1103
+ networking_fact['interfaces'].each do |iface, data|
1104
+ next if ( ( data['ip'] && !data['ip'].empty? ) || ( data['ip6'] && !data['ip6'].empty? ) )
1105
+ on(host, "ifup #{iface}", :accept_all_exit_codes => true)
1106
+ end
1107
+ else
1108
+ interfaces_fact = pfact_on(host, 'interfaces')
1100
1109
 
1101
- interfaces = interfaces_fact.strip.split(',')
1102
- interfaces.delete_if { |x| x =~ /^lo/ }
1110
+ interfaces = interfaces_fact.strip.split(',')
1111
+ interfaces.delete_if { |x| x =~ /^lo/ }
1103
1112
 
1104
- interfaces.each do |iface|
1105
- if fact_on(host, "ipaddress_#{iface}").strip.empty?
1106
- on(host, "ifup #{iface}", :accept_all_exit_codes => true)
1113
+ interfaces.each do |iface|
1114
+ if pfact_on(host, "ipaddress_#{iface}")
1115
+ on(host, "ifup #{iface}", :accept_all_exit_codes => true)
1116
+ end
1107
1117
  end
1108
1118
  end
1109
1119
  end
@@ -1120,12 +1130,9 @@ module Simp::BeakerHelpers
1120
1130
  RSpec.configure do |c|
1121
1131
  c.before(:all) do
1122
1132
  @temp_hieradata_dirs = @temp_hieradata_dirs || []
1123
- end
1124
1133
 
1125
- # We can't guarantee that the upstream vendor isn't disabling interfaces so
1126
- # we need to turn them on at each context run
1127
- c.before(:context) do
1128
- activate_interfaces(hosts) unless ENV['BEAKER_no_fix_interfaces']
1134
+ # We can't guarantee that the upstream vendor isn't disabling interfaces
1135
+ activate_interfaces(hosts)
1129
1136
  end
1130
1137
 
1131
1138
  c.after(:all) do
@@ -1237,8 +1244,11 @@ module Simp::BeakerHelpers
1237
1244
  #
1238
1245
  # @returns [String] Path to the Hieradata directory on the target system
1239
1246
  def hiera_datadir(sut)
1247
+ # A workaround for PUP-11042
1248
+ sut_environment = sut.puppet_configprint['environment']
1249
+
1240
1250
  # This output lets us know where Hiera is configured to look on the system
1241
- puppet_lookup_info = on(sut, 'puppet lookup --explain test__simp__test', :silent => true).output.strip.lines
1251
+ puppet_lookup_info = on(sut, "puppet lookup --explain --environment #{sut_environment} test__simp__test", :silent => true).output.strip.lines
1242
1252
 
1243
1253
  if sut.puppet_configprint['manifest'].nil? || sut.puppet_configprint['manifest'].empty?
1244
1254
  fail("No output returned from `puppet config print manifest` on #{sut}")
@@ -18,7 +18,7 @@ HOSTS:
18
18
  roles:
19
19
  - el8
20
20
  platform: el-8-x86_64
21
- box: centos/8
21
+ box: generic/centos8
22
22
  hypervisor: <%= hypervisor %>
23
23
 
24
24
  el8-0:
@@ -32,7 +32,8 @@ HOSTS:
32
32
  CONFIG:
33
33
  log_level: verbose
34
34
  type: aio
35
- vagrant_memsize: 256
35
+ vagrant_memsize: 512
36
+ vagrant_cpus: 2
36
37
  <% if ENV['BEAKER_PUPPET_COLLECTION'] -%>
37
38
  puppet_collection: <%= ENV['BEAKER_PUPPET_COLLECTION'] %>
38
39
  <% end -%>
@@ -0,0 +1,42 @@
1
+ <%
2
+ if ENV['BEAKER_HYPERVISOR']
3
+ hypervisor = ENV['BEAKER_HYPERVISOR']
4
+ else
5
+ hypervisor = 'vagrant'
6
+ end
7
+ -%>
8
+ HOSTS:
9
+ oel7:
10
+ roles:
11
+ - el7
12
+ - master
13
+ platform: el-7-x86_64
14
+ box: generic/oracle7
15
+ hypervisor: <%= hypervisor %>
16
+
17
+ oel8:
18
+ roles:
19
+ - el8
20
+ platform: el-8-x86_64
21
+ box: generic/oracle8
22
+ hypervisor: <%= hypervisor %>
23
+
24
+ CONFIG:
25
+ log_level: verbose
26
+ type: aio
27
+ vagrant_memsize: 1024
28
+ vagrant_cpus: 2
29
+ <% if ENV['BEAKER_PUPPET_COLLECTION'] -%>
30
+ puppet_collection: <%= ENV['BEAKER_PUPPET_COLLECTION'] %>
31
+ <% end -%>
32
+ ssh:
33
+ keepalive: true
34
+ keepalive_interval: 10
35
+ host_key:
36
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:host_key].join("\n#{' '*6}- ") %>
37
+ kex:
38
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:kex].join("\n#{' '*6}- ") %>
39
+ encryption:
40
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:encryption].join("\n#{' '*6}- ") %>
41
+ hmac:
42
+ - <%= Net::SSH::Transport::Algorithms::ALGORITHMS[:hmac].join("\n#{' '*6}- ") %>
@@ -14,7 +14,7 @@ HOSTS:
14
14
  CONFIG:
15
15
  log_level: verbose
16
16
  type: aio
17
- vagrant_memsize: 256
17
+ vagrant_memsize: 512
18
18
  <% if ENV['BEAKER_PUPPET_COLLECTION'] -%>
19
19
  puppet_collection: <%= ENV['BEAKER_PUPPET_COLLECTION'] %>
20
20
  <% end -%>
@@ -1,8 +1,8 @@
1
1
  require 'spec_helper_acceptance'
2
2
 
3
- test_name 'SSG STIG Validation'
3
+ test_name 'SSG Functionality Validation'
4
4
 
5
- describe 'run the SSG against the STIG profile' do
5
+ describe 'run the SSG against an SCAP profile' do
6
6
 
7
7
  hosts.each do |host|
8
8
  context "on #{host}" do
@@ -14,8 +14,15 @@ describe 'run the SSG against the STIG profile' do
14
14
  end
15
15
 
16
16
  it 'should run the SSG' do
17
- profile = 'xccdf_org.ssgproject.content_profile_stig'
17
+ profiles = @ssg.get_profiles
18
18
 
19
+ profile = profiles.find{|x| x =~ /_stig/} ||
20
+ profiles.find{|x| x =~ /_cui/} ||
21
+ profiles.find{|x| x =~ /_ospp/} ||
22
+ profiles.find{|x| x =~ /_standard/} ||
23
+ profiles.last
24
+
25
+ expect(profile).not_to be_nil
19
26
  @ssg.evaluate(profile)
20
27
  end
21
28
 
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.23.2
4
+ version: 1.24.1
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-06-02 00:00:00.000000000 Z
12
+ date: 2022-01-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: beaker
@@ -221,6 +221,7 @@ files:
221
221
  - simp-beaker-helpers.gemspec
222
222
  - spec/acceptance/nodesets/default.yml
223
223
  - spec/acceptance/nodesets/docker.yml
224
+ - spec/acceptance/nodesets/oel.yml
224
225
  - spec/acceptance/nodesets/ubuntu.yml
225
226
  - spec/acceptance/suites/default/check_puppet_version_spec.rb
226
227
  - spec/acceptance/suites/default/enable_fips_spec.rb