simp-beaker-helpers 1.0.11 → 1.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.
- checksums.yaml +8 -8
- data/README.md +21 -8
- data/lib/simp/beaker_helpers.rb +31 -6
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTk4ZmEwOTk2ODBkMDc5MDUwYThhNDE1OTZlNDllNDUxYWFjY2U4Zg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NmE3ZGZkNzg1ZDUxNjkzZjUzYjUzNDdmNTZmZTJkNzFhYTQ4OTc4Yw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2IzYTU4NDlhOTBmZmEzZDZjYTQ5YjkxNDNiNWJmYjIzOWMxNjJkMGFmMTBj
|
10
|
+
ODhkOTc1ZDk2NzdkZTNlMDllNmE4MmYyMDFlZTY0Njc1NjhiNWExNDcyMzg5
|
11
|
+
MzFlNjllMjZlMzc5ZmU4MDA2Mjg0NjgzMjk0ZWQ3ZWI4M2IzNDQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjhkN2QwZTNiNjFhNDZlOGJhYmVkMzFmMThjNGZkNDcxOTJlNjUyNGYzYzhk
|
14
|
+
MjE4NTdhODc5MmM0Y2EzMDU1MmRlMmVlMzNkZTdjY2NiODFiMGIyZGQ3N2Zi
|
15
|
+
MTQyOGE1ZGQ3ODc5MjM1YmU5ZDcxNzRjOTFlYmJiNGQ5ZmU4NmY=
|
data/README.md
CHANGED
@@ -6,7 +6,9 @@ Methods to assist beaker acceptance tests for SIMP.
|
|
6
6
|
1. [Overview](#overview)
|
7
7
|
2. [Setup](#setup)
|
8
8
|
* [Beginning with simp-beaker-helpers](#beginning-with-simp-beaker-helpers)
|
9
|
-
3. [
|
9
|
+
3. [Nodeset Enhancements](#nodeset-enhancements)
|
10
|
+
* [YUM Repo Support](#yum_repo_support)
|
11
|
+
4. [Methods](#methods)
|
10
12
|
* [`copy_fixture_modules_to`](#copy_fixture_modules_to)
|
11
13
|
* [`fix_errata_on`](#fix_errata_on)
|
12
14
|
* PKI
|
@@ -19,14 +21,14 @@ Methods to assist beaker acceptance tests for SIMP.
|
|
19
21
|
* Hiera
|
20
22
|
* [`set_hieradata_on`](#set_hieradata_on)
|
21
23
|
* [`clear_temp_hieradata`](#clear_temp_hieradata)
|
22
|
-
|
24
|
+
5. [Environment variables](#environment-variables)
|
23
25
|
* [`BEAKER_fips`](#beaker_fips)
|
24
26
|
* [`BEAKER_spec_prep`](#beaker_spec_prep)
|
25
27
|
* [`BEAKER_stringify_facts`](#beaker_stringify_facts)
|
26
28
|
* [`BEAKER_use_fixtures_dir_for_modules`](#beaker_use_fixtures_dir_for_modules)
|
27
|
-
|
29
|
+
6. [Examples](#examples)
|
28
30
|
* [Prep OS, Generate and copy PKI certs to each SUT](#prep-os-generate-and-copy-pki-certs-to-each-sut)
|
29
|
-
|
31
|
+
7. [License](#license)
|
30
32
|
|
31
33
|
## Overview
|
32
34
|
|
@@ -45,6 +47,21 @@ Add this to your project's `spec/spec_helper_acceptance.rb`:
|
|
45
47
|
require 'simp/beaker_helpers'
|
46
48
|
include Simp::BeakerHelpers
|
47
49
|
```
|
50
|
+
## Nodeset Enhancements
|
51
|
+
|
52
|
+
### YUM Repo Support
|
53
|
+
|
54
|
+
Nodes in your nodesets will create YUM repository entries according to the
|
55
|
+
following Hash:
|
56
|
+
|
57
|
+
```yaml
|
58
|
+
yum_repos:
|
59
|
+
<repo_name>:
|
60
|
+
url: <URL>
|
61
|
+
gpgkeys:
|
62
|
+
- <URL to GPGKEY1>
|
63
|
+
- <URL to GPGKEY2>
|
64
|
+
```
|
48
65
|
|
49
66
|
## Methods
|
50
67
|
|
@@ -142,13 +159,9 @@ SIMP acceptance tests enable [FIPS mode](https://access.redhat.com/documentation
|
|
142
159
|
**NOTE:** FIPS mode is only enabled on RedHat family hosts
|
143
160
|
|
144
161
|
#### `BEAKER_spec_prep`
|
145
|
-
#
|
146
|
-
|
147
|
-
|
148
162
|
#### `BEAKER_stringify_facts`
|
149
163
|
#### `BEAKER_use_fixtures_dir_for_modules`
|
150
164
|
|
151
|
-
|
152
165
|
## Examples
|
153
166
|
|
154
167
|
### Prep OS, Generate and copy PKI certs to each SUT
|
data/lib/simp/beaker_helpers.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Simp; end
|
2
2
|
|
3
3
|
module Simp::BeakerHelpers
|
4
|
-
VERSION = '1.0
|
4
|
+
VERSION = '1.2.0'
|
5
5
|
|
6
6
|
# use the `puppet fact` face to look up facts on an SUT
|
7
7
|
def pfact_on(sut, fact_name)
|
@@ -155,6 +155,30 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
|
|
155
155
|
end
|
156
156
|
|
157
157
|
|
158
|
+
# Collect all 'yum_repos' entries from the host nodeset.
|
159
|
+
# The acceptable format is as follows:
|
160
|
+
# yum_repos:
|
161
|
+
# <repo_name>:
|
162
|
+
# url: <URL>
|
163
|
+
# gpgkeys:
|
164
|
+
# - <URL to GPGKEY1>
|
165
|
+
# - <URL to GPGKEY2>
|
166
|
+
def enable_yum_repos_on( suts = hosts )
|
167
|
+
Array(suts).each do |sut|
|
168
|
+
if sut['yum_repos']
|
169
|
+
sut['yum_repos'].each_pair do |repo, metadata|
|
170
|
+
repo_manifest = <<-EOS
|
171
|
+
yumrepo { #{repo}:
|
172
|
+
baseurl => '#{metadata[:url]}',
|
173
|
+
gpgkey => '#{metadata[:gpgkeys].join(" ")}'
|
174
|
+
}
|
175
|
+
EOS
|
176
|
+
apply_manifest_on(sut, repo_manifest, :catch_failures => true)
|
177
|
+
end
|
178
|
+
end
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
158
182
|
# Apply known OS fixes we need to run Beaker on each SUT
|
159
183
|
def fix_errata_on( suts = hosts )
|
160
184
|
|
@@ -168,11 +192,13 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
|
|
168
192
|
# at least have the host defaults:
|
169
193
|
#
|
170
194
|
# :hieradatadir is used as a canary here; it isn't the only missing key
|
171
|
-
unless sut.host_hash.key? :hieradatadir
|
195
|
+
unless sut.host_hash.key? :hieradatadir
|
172
196
|
configure_type_defaults_on(sut)
|
173
197
|
end
|
174
198
|
|
175
199
|
if fact_on(sut, 'osfamily') == 'RedHat'
|
200
|
+
enable_yum_repos_on(sut)
|
201
|
+
|
176
202
|
# net-tools required for netstat utility being used by be_listening
|
177
203
|
if fact_on(sut, 'operatingsystemmajrelease') == '7'
|
178
204
|
pp = <<-EOS
|
@@ -180,17 +206,16 @@ DEFAULT_KERNEL_TITLE=`/sbin/grubby --info=\\\${DEFAULT_KERNEL_INFO} | grep -m1 t
|
|
180
206
|
EOS
|
181
207
|
apply_manifest_on(sut, pp, :catch_failures => false)
|
182
208
|
end
|
183
|
-
end
|
184
209
|
|
210
|
+
# Clean up YUM prior to starting our test runs.
|
211
|
+
on(sut, 'yum clean all')
|
212
|
+
end
|
185
213
|
end
|
186
214
|
|
187
215
|
# Configure and reboot SUTs into FIPS mode
|
188
216
|
unless ENV['BEAKER_fips'] == 'no'
|
189
217
|
enable_fips_mode_on(suts)
|
190
218
|
end
|
191
|
-
|
192
|
-
# Clean up YUM prior to starting our test runs.
|
193
|
-
on(suts, 'yum clean all')
|
194
219
|
end
|
195
220
|
|
196
221
|
|
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.0
|
4
|
+
version: 1.2.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:
|
12
|
+
date: 2016-03-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beaker
|
@@ -88,4 +88,3 @@ test_files:
|
|
88
88
|
- spec/acceptance/pfacter_spec.rb
|
89
89
|
- spec/acceptance/pki_tests_spec.rb
|
90
90
|
- spec/spec_helper_acceptance.rb
|
91
|
-
has_rdoc:
|