simp-beaker-helpers 1.19.1 → 1.19.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.fixtures.yml +1 -0
- data/.gitlab-ci.yml +324 -89
- data/.travis.yml +39 -33
- data/CHANGELOG.md +10 -0
- data/lib/simp/beaker_helpers.rb +12 -4
- data/lib/simp/beaker_helpers/version.rb +1 -1
- data/spec/acceptance/suites/default/fixture_modules_spec.rb +14 -4
- metadata +32 -10
- data/spec/acceptance/suites/default/nodesets +0 -1
- data/spec/acceptance/suites/fips_from_fixtures/nodesets +0 -1
- data/spec/acceptance/suites/snapshot/nodesets +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9eede146380997a5256ef8fc379350b7b2b44e5a4a1156e5a14f13a5be0d396d
|
4
|
+
data.tar.gz: 31345b9736832c517f96e327dd18ddaca39c9eb72b0d94b9b56e83344f83d645
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89e30957c049a514d97f58e99f2668682fa956e7a43a7414e69dff18d58f9af2f7ac2bf715ba72af97ffe6cdf93630dc3eeb68a45096b07adad069a907abaa93
|
7
|
+
data.tar.gz: 004cf046d60282beeecc534f39b45d4398cf4b35bccc0b9e46a6cdddf260cd2fd222ebb796e66e10f6cd9e518b7b806584716ccc0eb8734ff2c00181a3a53748
|
data/.fixtures.yml
CHANGED
data/.gitlab-ci.yml
CHANGED
@@ -1,131 +1,366 @@
|
|
1
|
+
# ------------------------------------------------------------------------------
|
2
|
+
# NOTICE: **This file is maintained with puppetsync**
|
3
|
+
#
|
4
|
+
# This file is updated automatically as part of a puppet module baseline.
|
5
|
+
#
|
6
|
+
# The next baseline sync will overwrite any local changes to everything above
|
7
|
+
# the line "# Repo-specific content"
|
8
|
+
# ------------------------------------------------------------------------------
|
9
|
+
# The testing matrix considers ruby/puppet versions supported by SIMP and PE:
|
10
|
+
#
|
11
|
+
# https://puppet.com/docs/pe/2019.8/component_versions_in_recent_pe_releases.html
|
12
|
+
# https://puppet.com/misc/puppet-enterprise-lifecycle
|
13
|
+
# https://puppet.com/docs/pe/2018.1/overview/getting_support_for_pe.html
|
14
|
+
# ------------------------------------------------------------------------------
|
15
|
+
# Release Puppet Ruby EOL
|
16
|
+
# SIMP 6.4 5.5 2.4.10 TBD
|
17
|
+
# PE 2018.1 5.5 2.4.10 2021-01 (LTS overlap)
|
18
|
+
# PE 2019.8 6.18 2.5.7 2022-12 (LTS)
|
1
19
|
---
|
2
|
-
|
20
|
+
|
21
|
+
stages:
|
22
|
+
- 'validation'
|
23
|
+
- 'acceptance'
|
24
|
+
- 'compliance'
|
25
|
+
- 'deployment'
|
26
|
+
|
27
|
+
variables:
|
28
|
+
# PUPPET_VERSION is a canary variable!
|
29
|
+
#
|
30
|
+
# The value `UNDEFINED` will (intentionally) cause `bundler install|update` to
|
31
|
+
# fail. The intended value for PUPPET_VERSION is provided by the `pup_#` YAML
|
32
|
+
# anchors. If it is still `UNDEFINED`, all the other setting from the job's
|
33
|
+
# anchor are also missing.
|
34
|
+
PUPPET_VERSION: 'UNDEFINED' # <- Matrixed jobs MUST override this (or fail)
|
35
|
+
BUNDLER_VERSION: '1.17.1'
|
36
|
+
SIMP_MATRIX_LEVEL: '1'
|
37
|
+
SIMP_FORCE_RUN_MATRIX: 'no'
|
38
|
+
|
39
|
+
# Force dependencies into a path the gitlab-runner user can write to.
|
40
|
+
# (This avoids some failures on Runners with misconfigured ruby environments.)
|
41
|
+
GEM_HOME: .vendor/gem_install
|
42
|
+
BUNDLE_CACHE_PATH: .vendor/bundle
|
43
|
+
BUNDLE_PATH: .vendor/bundle
|
44
|
+
BUNDLE_BIN: .vendor/gem_install/bin
|
45
|
+
BUNDLE_NO_PRUNE: 'true'
|
46
|
+
|
47
|
+
|
48
|
+
# bundler dependencies + caching, optional RVM setup, with diagnostic output
|
49
|
+
# --------------------------------------------------------------------------
|
50
|
+
.setup_bundler_env: &setup_bundler_env
|
3
51
|
cache:
|
4
|
-
|
5
|
-
|
6
|
-
key: "${CI_PROJECT_NAMESPACE}__bundler"
|
52
|
+
# Cache bundler gems between pipelines for each Ruby version
|
53
|
+
key: "${CI_PROJECT_NAMESPACE}_ruby-${MATRIX_RUBY_VERSION}_bundler"
|
7
54
|
paths:
|
8
55
|
- '.vendor'
|
9
|
-
- 'vendor'
|
10
|
-
|
11
|
-
.setup_bundler_env: &setup_bundler_env
|
12
56
|
before_script:
|
13
|
-
- '
|
14
|
-
|
15
|
-
- '
|
16
|
-
- '
|
17
|
-
-
|
18
|
-
-
|
19
|
-
|
57
|
+
- 'ruby -e "puts %(\n\n), %q(=)*80, %(\nSIMP-relevant Environment Variables:\n\n#{e=ENV.keys.grep(/^PUPPET|^SIMP|^BEAKER|MATRIX/); pad=e.map{|x| x.size}.max+1; e.map{|v| %( * #{%(#{v}:).ljust(pad)} #{39.chr + ENV[v] + 39.chr}\n)}.join}\n), %q(=)*80, %(\n\n)"'
|
58
|
+
# Diagnostic ruby & gem information
|
59
|
+
- 'which ruby && ruby --version || :'
|
60
|
+
- "[[ $- == *i* ]] && echo 'Interactive shell session' || echo 'Non-interactive shell session'"
|
61
|
+
- "shopt -q login_shell && echo 'Login shell' || echo 'Not a login shell'"
|
62
|
+
- 'rvm ls || :'
|
63
|
+
|
64
|
+
# If RVM is available, make SURE it's using the right Ruby:
|
65
|
+
# * Source rvm (to run in non-login shells)
|
66
|
+
# * If any $MATRIX_RUBY_VERSION rubies are available, use the latest
|
67
|
+
# * Otherwise: install & use ${MATRIX_RUBY_VERSION}-head (e.g., latest)
|
68
|
+
# * ^^ This could be wonky and introduce variations across runners
|
69
|
+
# * ^^ maybe it should just fail if there is no $MATRIX_RUBY_VERSION installed?
|
70
|
+
- "command -v rvm && { if declare -p rvm_path &> /dev/null; then source \"${rvm_path}/scripts/rvm\"; else source \"$HOME/.rvm/scripts/rvm\" || source /etc/profile.d/rvm.sh; fi; }"
|
71
|
+
- "command -v rvm && { LATEST_RVM_RUBY_XY=\"$(rvm ls | grep \"$MATRIX_RUBY_VERSION\" | tail -1 | sed -e 's/^.*\\([0-9]\\+\\.[0-9]\\+\\.[0-9]\\+\\).*$/\\1/g')\"; if [ -z \"$LATEST_RVM_RUBY_XY\" ]; then LATEST_RVM_RUBY_XY=\"${MATRIX_RUBY_VERSION}-head\"; rvm install \"$LATEST_RVM_RUBY\" --no-docs; else echo \"Found RVM Ruby: '${LATEST_RVM_RUBY_XY}'\"; fi; rvm use \"$LATEST_RVM_RUBY_XY\" ; }"
|
72
|
+
- 'ruby --version || :'
|
73
|
+
- 'gem list sync || :'
|
74
|
+
|
75
|
+
# Bundle gems (preferring cached > local > downloaded resources)
|
76
|
+
# * Try to use cached and local resources before downloading dependencies
|
77
|
+
- 'declare GEM_BUNDLER_VER=(-v "~> ${BUNDLER_VERSION:-1.17.1}")'
|
78
|
+
- 'declare GEM_INSTALL_CMD=(gem install --no-document)'
|
79
|
+
- 'declare BUNDLER_INSTALL_CMD=(bundle install --no-binstubs --jobs $(nproc) "${FLAGS[@]}")'
|
80
|
+
- 'mkdir -p ${GEM_HOME} ${BUNDLER_BIN}'
|
81
|
+
- 'gem list -ie "${GEM_BUNDLER_VER[@]}" --silent bundler || "${GEM_INSTALL_CMD[@]}" --local "${GEM_BUNDLER_VER[@]}" bundler || "${GEM_INSTALL_CMD[@]}" "${GEM_BUNDLER_VER[@]}" bundler'
|
20
82
|
- 'rm -rf pkg/ || :'
|
21
|
-
- bundle check || rm -f Gemfile.lock && ("${
|
83
|
+
- 'bundle check || rm -f Gemfile.lock && ("${BUNDLER_INSTALL_CMD[@]}" --local || "${BUNDLER_INSTALL_CMD[@]}" || bundle pristine || "${BUNDLER_INSTALL_CMD[@]}") || { echo "PIPELINE: Bundler could not install everything (see log output above)" && exit 99 ; }'
|
84
|
+
|
85
|
+
# Diagnostic bundler, ruby, and gem checks:
|
86
|
+
- 'bundle exec rvm ls || :'
|
87
|
+
- 'bundle exec which ruby || :'
|
88
|
+
- 'bundle show sync || :'
|
89
|
+
- 'bundle exec gem list sync || :'
|
90
|
+
|
91
|
+
|
92
|
+
# Assign a matrix level when your test will run. Heavier jobs get higher numbers
|
93
|
+
# NOTE: To skip all jobs with a SIMP_MATRIX_LEVEL, set SIMP_MATRIX_LEVEL=0
|
94
|
+
# ------------------------------------------------------------------------------
|
95
|
+
|
96
|
+
.relevant_file_conditions_trigger_spec_tests: &relevant_file_conditions_trigger_spec_tests
|
97
|
+
changes:
|
98
|
+
- .gitlab-ci.yml
|
99
|
+
- .fixtures.yml
|
100
|
+
- "spec/spec_helper.rb"
|
101
|
+
- "spec/{classes,unit,defines,type_aliases,types,hosts}/**/*.rb"
|
102
|
+
- "{manifests,files,types}/**/*"
|
103
|
+
- "templates/*.{erb,epp}"
|
104
|
+
- "lib/**/*"
|
105
|
+
- "Gemfile"
|
106
|
+
- "SIMP/**/*"
|
107
|
+
- "data/**/*"
|
108
|
+
exists:
|
109
|
+
- "spec/{classes,unit,defines,type_aliases,types,hosts}/**/*_spec.rb"
|
110
|
+
|
111
|
+
.relevant_file_conditions_trigger_acceptance_tests: &relevant_file_conditions_trigger_acceptance_tests
|
112
|
+
changes:
|
113
|
+
- .gitlab-ci.yml
|
114
|
+
- "spec/spec_helper_acceptance.rb"
|
115
|
+
- "spec/acceptance/**/*"
|
116
|
+
- "{manifests,files,types}/**/*"
|
117
|
+
- "templates/*.{erb,epp}"
|
118
|
+
- "lib/**/*"
|
119
|
+
- "Gemfile"
|
120
|
+
- "SIMP/**/*"
|
121
|
+
- "data/**/*"
|
122
|
+
exists:
|
123
|
+
- "spec/acceptance/**/*_spec.rb"
|
124
|
+
|
125
|
+
# For some reason, the rule regexes stopped matching line starts inside
|
126
|
+
# $CI_COMMIT_MESSAGE with carets /^/, so we're using /\n?/ as a workaround.
|
127
|
+
.skip_job_when_commit_message_says_to: &skip_job_when_commit_message_says_to
|
128
|
+
if: '$CI_COMMIT_MESSAGE =~ /\n?CI: (SKIP MATRIX|MATRIX LEVEL 0)/'
|
129
|
+
when: never
|
130
|
+
|
131
|
+
.force_run_job_when_commit_message_lvl_1_or_above: &force_run_job_when_commit_mssage_lvl_1_or_above
|
132
|
+
if: '$CI_COMMIT_MESSAGE =~ /\n?CI: MATRIX LEVEL [123]/'
|
133
|
+
when: on_success
|
134
|
+
|
135
|
+
.force_run_job_when_commit_message_lvl_2_or_above: &force_run_job_when_commit_mssage_lvl_2_or_above
|
136
|
+
if: '$CI_COMMIT_MESSAGE =~ /\n?CI: MATRIX LEVEL [23]/'
|
137
|
+
when: on_success
|
138
|
+
|
139
|
+
.force_run_job_when_commit_message_lvl_3_or_above: &force_run_job_when_commit_mssage_lvl_3_or_above
|
140
|
+
if: '$CI_COMMIT_MESSAGE =~ /\n?CI: MATRIX LEVEL [3]/'
|
141
|
+
when: on_success
|
22
142
|
|
23
|
-
|
143
|
+
# check for $CI_PIPELINE_SOURCE needed because this is combined w/when:changes
|
144
|
+
.run_job_when_level_1_or_above_w_changes: &run_job_when_level_1_or_above_w_changes
|
145
|
+
if: '$SIMP_MATRIX_LEVEL =~ /^[123]$/ && $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
|
146
|
+
when: on_success
|
147
|
+
|
148
|
+
.run_job_when_level_2_or_above_w_changes: &run_job_when_level_2_or_above_w_changes
|
149
|
+
if: '$SIMP_MATRIX_LEVEL =~ /^[23]$/ && $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
|
150
|
+
when: on_success
|
151
|
+
|
152
|
+
.run_job_when_level_3_or_above_w_changes: &run_job_when_level_3_or_above_w_changes
|
153
|
+
if: '$SIMP_MATRIX_LEVEL =~ /^[3]$/ && $CI_COMMIT_BRANCH && $CI_PIPELINE_SOURCE == "push"'
|
154
|
+
when: on_success
|
155
|
+
|
156
|
+
.force_run_job_when_var_and_lvl_1_or_above: &force_run_job_when_var_and_lvl_1_or_above
|
157
|
+
if: '$SIMP_FORCE_RUN_MATRIX == "yes" && $SIMP_MATRIX_LEVEL =~ /^[123]$/'
|
158
|
+
when: on_success
|
159
|
+
|
160
|
+
.force_run_job_when_var_and_lvl_2_or_above: &force_run_job_when_var_and_lvl_2_or_above
|
161
|
+
if: '$SIMP_FORCE_RUN_MATRIX == "yes" && $SIMP_MATRIX_LEVEL =~ /^[23]$/'
|
162
|
+
when: on_success
|
163
|
+
|
164
|
+
.force_run_job_when_var_and_lvl_3_or_above: &force_run_job_when_var_and_lvl_3_or_above
|
165
|
+
if: '$SIMP_FORCE_RUN_MATRIX == "yes" && $SIMP_MATRIX_LEVEL =~ /^[3]$/'
|
166
|
+
when: on_success
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
# SIMP_MATRIX_LEVEL=1: Intended to run every commit
|
171
|
+
.with_SIMP_ACCEPTANCE_MATRIX_LEVEL_1: &with_SIMP_ACCEPTANCE_MATRIX_LEVEL_1
|
172
|
+
rules:
|
173
|
+
- <<: *skip_job_when_commit_message_says_to
|
174
|
+
- <<: *force_run_job_when_var_and_lvl_1_or_above
|
175
|
+
- <<: *force_run_job_when_commit_mssage_lvl_1_or_above
|
176
|
+
- <<: *run_job_when_level_1_or_above_w_changes
|
177
|
+
<<: *relevant_file_conditions_trigger_acceptance_tests
|
178
|
+
- when: never
|
179
|
+
|
180
|
+
.with_SIMP_SPEC_MATRIX_LEVEL_1: &with_SIMP_SPEC_MATRIX_LEVEL_1
|
181
|
+
rules:
|
182
|
+
- <<: *skip_job_when_commit_message_says_to
|
183
|
+
- <<: *force_run_job_when_commit_mssage_lvl_1_or_above
|
184
|
+
- <<: *force_run_job_when_var_and_lvl_1_or_above
|
185
|
+
- <<: *run_job_when_level_1_or_above_w_changes
|
186
|
+
<<: *relevant_file_conditions_trigger_spec_tests
|
187
|
+
- when: never
|
188
|
+
|
189
|
+
# SIMP_MATRIX_LEVEL=2: Resource-heavy or redundant jobs
|
190
|
+
.with_SIMP_ACCEPTANCE_MATRIX_LEVEL_2: &with_SIMP_ACCEPTANCE_MATRIX_LEVEL_2
|
191
|
+
rules:
|
192
|
+
- <<: *skip_job_when_commit_message_says_to
|
193
|
+
- <<: *force_run_job_when_var_and_lvl_2_or_above
|
194
|
+
- <<: *force_run_job_when_commit_mssage_lvl_2_or_above
|
195
|
+
- <<: *run_job_when_level_2_or_above_w_changes
|
196
|
+
<<: *relevant_file_conditions_trigger_acceptance_tests
|
197
|
+
- when: never
|
198
|
+
|
199
|
+
.with_SIMP_SPEC_MATRIX_LEVEL_2: &with_SIMP_SPEC_MATRIX_LEVEL_2
|
200
|
+
rules:
|
201
|
+
- <<: *skip_job_when_commit_message_says_to
|
202
|
+
- <<: *force_run_job_when_commit_mssage_lvl_2_or_above
|
203
|
+
- <<: *force_run_job_when_var_and_lvl_2_or_above
|
204
|
+
- <<: *run_job_when_level_2_or_above_w_changes
|
205
|
+
<<: *relevant_file_conditions_trigger_spec_tests
|
206
|
+
- when: never
|
207
|
+
|
208
|
+
# SIMP_MATRIX_LEVEL=3: Reserved for FULL matrix testing
|
209
|
+
.with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3: &with_SIMP_ACCEPTANCE_MATRIX_LEVEL_3
|
210
|
+
rules:
|
211
|
+
- <<: *skip_job_when_commit_message_says_to
|
212
|
+
- <<: *force_run_job_when_var_and_lvl_3_or_above
|
213
|
+
- <<: *force_run_job_when_commit_mssage_lvl_3_or_above
|
214
|
+
- <<: *run_job_when_level_3_or_above_w_changes
|
215
|
+
<<: *relevant_file_conditions_trigger_acceptance_tests
|
216
|
+
- when: never
|
217
|
+
|
218
|
+
|
219
|
+
# Puppet Versions
|
220
|
+
#-----------------------------------------------------------------------
|
221
|
+
|
222
|
+
.pup_5: &pup_5
|
223
|
+
image: 'ruby:2.4'
|
224
|
+
variables:
|
225
|
+
PUPPET_VERSION: '~> 5.0'
|
226
|
+
BEAKER_PUPPET_COLLECTION: 'puppet5'
|
227
|
+
MATRIX_RUBY_VERSION: '2.4'
|
228
|
+
|
229
|
+
.pup_6: &pup_6
|
230
|
+
image: 'ruby:2.5'
|
231
|
+
variables:
|
232
|
+
PUPPET_VERSION: '~> 6.0'
|
233
|
+
BEAKER_PUPPET_COLLECTION: 'puppet6'
|
234
|
+
MATRIX_RUBY_VERSION: '2.5'
|
235
|
+
|
236
|
+
.pup_6_18_0: &pup_6_18_0
|
237
|
+
image: 'ruby:2.5'
|
238
|
+
variables:
|
239
|
+
PUPPET_VERSION: '6.18.0'
|
240
|
+
BEAKER_PUPPET_COLLECTION: 'puppet6'
|
241
|
+
MATRIX_RUBY_VERSION: '2.5'
|
242
|
+
|
243
|
+
.pup_7: &pup_7
|
244
|
+
image: 'ruby:2.7'
|
245
|
+
variables:
|
246
|
+
PUPPET_VERSION: '~> 7.0'
|
247
|
+
BEAKER_PUPPET_COLLECTION: 'puppet7'
|
248
|
+
MATRIX_RUBY_VERSION: '2.7'
|
249
|
+
|
250
|
+
# Testing Environments
|
251
|
+
#-----------------------------------------------------------------------
|
252
|
+
|
253
|
+
.lint_tests: &lint_tests
|
254
|
+
stage: 'validation'
|
255
|
+
tags: ['docker']
|
256
|
+
<<: *setup_bundler_env
|
257
|
+
script:
|
258
|
+
- 'bundle exec rake syntax'
|
259
|
+
- 'bundle exec rake lint'
|
260
|
+
- 'bundle exec rake metadata_lint'
|
261
|
+
|
262
|
+
.unit_tests: &unit_tests
|
263
|
+
stage: 'validation'
|
264
|
+
tags: ['docker']
|
265
|
+
<<: *setup_bundler_env
|
266
|
+
<<: *with_SIMP_SPEC_MATRIX_LEVEL_1
|
24
267
|
script:
|
25
|
-
- bundle exec rake spec
|
268
|
+
- 'bundle exec rake spec'
|
26
269
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
- $SIMP_FULL_MATRIX
|
270
|
+
.acceptance_base: &acceptance_base
|
271
|
+
stage: 'acceptance'
|
272
|
+
tags: ['beaker']
|
273
|
+
<<: *setup_bundler_env
|
274
|
+
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_1
|
33
275
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
2_4-unit:
|
39
|
-
stage: unit
|
40
|
-
tags:
|
41
|
-
- docker
|
42
|
-
image: ruby:2.4
|
43
|
-
<<: *cache_bundler
|
276
|
+
.compliance_base: &compliance_base
|
277
|
+
stage: 'compliance'
|
278
|
+
tags: ['beaker']
|
44
279
|
<<: *setup_bundler_env
|
45
|
-
<<: *
|
280
|
+
<<: *with_SIMP_ACCEPTANCE_MATRIX_LEVEL_1
|
281
|
+
|
282
|
+
|
283
|
+
# Unit Tests
|
284
|
+
#-----------------------------------------------------------------------
|
285
|
+
|
286
|
+
pup5-unit:
|
287
|
+
<<: *pup_5
|
288
|
+
<<: *unit_tests
|
289
|
+
<<: *with_SIMP_SPEC_MATRIX_LEVEL_2
|
290
|
+
|
291
|
+
pup6-unit:
|
292
|
+
<<: *pup_6
|
293
|
+
<<: *unit_tests
|
294
|
+
<<: *with_SIMP_SPEC_MATRIX_LEVEL_2
|
295
|
+
|
296
|
+
pup6.18.0-unit:
|
297
|
+
<<: *pup_6_18_0
|
298
|
+
<<: *unit_tests
|
299
|
+
|
300
|
+
pup7-unit:
|
301
|
+
<<: *pup_7
|
302
|
+
<<: *unit_tests
|
303
|
+
<<: *with_SIMP_SPEC_MATRIX_LEVEL_2
|
304
|
+
|
305
|
+
# ------------------------------------------------------------------------------
|
306
|
+
# NOTICE: **This file is maintained with puppetsync**
|
307
|
+
#
|
308
|
+
# Everything above the "Repo-specific content" comment will be overwritten by
|
309
|
+
# the next puppetsync.
|
310
|
+
# ------------------------------------------------------------------------------
|
311
|
+
|
312
|
+
# Repo-specific content
|
313
|
+
# ==============================================================================
|
46
314
|
|
47
315
|
|
48
316
|
#=======================================================================
|
49
317
|
# Acceptance tests
|
50
318
|
default:
|
51
|
-
|
52
|
-
|
53
|
-
- beaker
|
54
|
-
<<: *cache_bundler
|
55
|
-
<<: *setup_bundler_env
|
319
|
+
<<: *pup_6
|
320
|
+
<<: *acceptance_base
|
56
321
|
script:
|
57
|
-
- bundle exec rake spec_clean
|
58
322
|
- bundle exec rake beaker:suites[default]
|
59
323
|
|
60
324
|
default-fips:
|
61
|
-
|
62
|
-
|
63
|
-
- beaker
|
64
|
-
<<: *cache_bundler
|
65
|
-
<<: *setup_bundler_env
|
66
|
-
variables:
|
67
|
-
BEAKER_fips: 'yes'
|
325
|
+
<<: *pup_6
|
326
|
+
<<: *acceptance_base
|
68
327
|
script:
|
69
|
-
- bundle exec rake
|
70
|
-
- bundle exec rake beaker:suites[default]
|
328
|
+
- BEAKER_fips=yes bundle exec rake beaker:suites[default]
|
71
329
|
|
72
330
|
fips_from_fixtures:
|
73
|
-
|
74
|
-
|
75
|
-
- beaker
|
76
|
-
<<: *cache_bundler
|
77
|
-
<<: *setup_bundler_env
|
78
|
-
variables:
|
79
|
-
PUPPET_VERSION: '~> 5.3'
|
80
|
-
BEAKER_PUPPET_COLLECTION: 'puppet5'
|
331
|
+
<<: *pup_6
|
332
|
+
<<: *acceptance_base
|
81
333
|
script:
|
82
|
-
- bundle exec rake spec_clean
|
83
334
|
- bundle exec rake beaker:suites[fips_from_fixtures]
|
84
335
|
|
85
336
|
puppet5_collections:
|
86
|
-
|
87
|
-
|
88
|
-
- beaker
|
89
|
-
<<: *cache_bundler
|
90
|
-
<<: *setup_bundler_env
|
91
|
-
variables:
|
92
|
-
PUPPET_VERSION: '~> 5.3'
|
337
|
+
<<: *pup_5
|
338
|
+
<<: *acceptance_base
|
93
339
|
script:
|
94
|
-
- bundle exec rake spec_clean
|
95
340
|
- bundle exec rake beaker:suites[puppet_collections]
|
96
341
|
|
97
342
|
puppet6_collections:
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
343
|
+
<<: *pup_6
|
344
|
+
<<: *acceptance_base
|
345
|
+
script:
|
346
|
+
- bundle exec rake beaker:suites[puppet_collections]
|
347
|
+
|
348
|
+
puppet7_collections:
|
349
|
+
<<: *pup_7
|
350
|
+
<<: *acceptance_base
|
105
351
|
script:
|
106
|
-
- bundle exec rake spec_clean
|
107
352
|
- bundle exec rake beaker:suites[puppet_collections]
|
108
353
|
|
109
354
|
windows:
|
110
|
-
|
111
|
-
|
112
|
-
- beaker
|
113
|
-
<<: *cache_bundler
|
114
|
-
<<: *setup_bundler_env
|
355
|
+
<<: *pup_6
|
356
|
+
<<: *acceptance_base
|
115
357
|
script:
|
116
|
-
- bundle exec rake spec_clean
|
117
358
|
- bundle exec rake beaker:suites[windows]
|
118
359
|
|
119
360
|
snapshot:
|
120
|
-
|
361
|
+
<<: *pup_6
|
362
|
+
<<: *acceptance_base
|
121
363
|
# This is prone to breakage in the underlying system
|
122
364
|
allow_failure: true
|
123
|
-
tags:
|
124
|
-
- beaker
|
125
|
-
<<: *cache_bundler
|
126
|
-
<<: *setup_bundler_env
|
127
|
-
variables:
|
128
|
-
BEAKER_simp_snapshot: 'yes'
|
129
365
|
script:
|
130
|
-
- bundle exec rake
|
131
|
-
- bundle exec rake beaker:suites[snapshot]
|
366
|
+
- BEAKER_simp_snapshot=yes bundle exec rake beaker:suites[snapshot]
|
data/.travis.yml
CHANGED
@@ -1,36 +1,42 @@
|
|
1
1
|
---
|
2
|
-
language:
|
3
|
-
cache: bundler
|
4
|
-
sudo: false
|
5
|
-
before_install:
|
6
|
-
- rm Gemfile.lock || true
|
7
|
-
bundler_args: "--without development --path .vendor"
|
2
|
+
language: shell
|
8
3
|
notifications:
|
9
4
|
email: false
|
10
|
-
|
11
|
-
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
rvm: 2.4.
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
5
|
+
stages:
|
6
|
+
- name: deploy
|
7
|
+
if: 'tag IS present'
|
8
|
+
|
9
|
+
### Testing on Travis CI is indefinitely disabled
|
10
|
+
###
|
11
|
+
### See:
|
12
|
+
### * https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
|
13
|
+
### * https://simp-project.atlassian.net/browse/SIMP-8703
|
14
|
+
jobs:
|
15
|
+
include:
|
16
|
+
- stage: deploy
|
17
|
+
script: skip
|
18
|
+
cache: bundler
|
19
|
+
before_install:
|
20
|
+
- rm Gemfile.lock || true
|
21
|
+
bundler_args: "--without development --path .vendor"
|
22
|
+
language: ruby
|
23
|
+
rvm: 2.4.5
|
24
|
+
before_deploy:
|
25
|
+
- bundle exec rake clobber
|
26
|
+
- "export GEM_VERSION=`ruby -r ./lib/simp/beaker_helpers/version.rb -e 'puts Simp::BeakerHelpers::VERSION'`"
|
27
|
+
- '[[ $TRAVIS_TAG =~ ^${GEM_VERSION}$ ]]'
|
28
|
+
deploy:
|
29
|
+
- provider: rubygems
|
30
|
+
gemspec: simp-beaker-helpers.gemspec
|
31
|
+
gem: simp-beaker-helpers
|
32
|
+
token:
|
33
|
+
secure: "AlnBx0dBSxn+S97n0h14ltKUOA+6v0bc7QZPIcwGJV9nnf1hKH3pf9La1TVknEx7XgpAcM9jusQJ7hBlqvSq8z8SFF0bZk1EgSRIKc1cuYPLiGyUM2O7+AFHyCy3iCnPvKeoQmE/BJb5O1dGnbmSbf4A0fqLxA7jiHG1j7z+cnmJB1i67wovDfl13TsOXyBfbespWBMMc0BKAw56FPs9XggAk2cNusS3hd5tqW1AZPT2/xwt+d8ngkmO96u8QcichYRFQ+w+XW4H0w935wNg/dWiskJlt7TIYVAh4Ko5s2DZKf52Tne8TugALSn0LhRatpp7sw1FTTpteCW8UqK8uwGC2hM4pZViAOv4P1YObz2IPOZPriBl+cCayJdMKnotkUJliAMnw5TLiSWKLou+S0Pdj2h3fJZWdOEwRPMzIVoJtsOHG3GdNcPL6f7iU0vP/wr6FeR3uWa+fA7NHRi2Du955O8JpogjdrW08ahcAEwhtI3A4mrA08wN09axsrwr093uDRm/5h4FHyAhExJ0YiA/6kcPpUvILcLStyHe0RQDICQMdsQo2DSbnL65w3QjFa2fML2Shf9cRwX06+ia2BxozWzFD/6p3RiRtPxphnbFiUdjYSGWcwCcUgbJx9SW04lSSxOhpyItuXgxZqiybkzstXd6riu5zwg1R8TWk34="
|
34
|
+
on:
|
35
|
+
tags: true
|
36
|
+
condition: "($SKIP_PUBLISH != true)"
|
37
|
+
- provider: releases
|
38
|
+
token:
|
39
|
+
secure: "I41p4aqjkrNDHJhZ5gWC4gzn7BVwEYRm5Q3PAxQRSIUDB/QTVgNqZx8YptkuIvSGpw8kIywyZg3NKdzGUO8aJJ0NlXapL7e9qQIigkYhdaCZjZFG5zIxdOFs4sVoz/6vnQT9JIcGWy7uS5xiNOulGvfEWU78+e+I9yPdT74RApve5VAVT/km5lV5ldRnwwehLnTx+volUlnOD8rwfizoVLqFTrfRfr4cVMF605UYyaiVxHF50hywFRZoAdVcMEhlLQnQXfz/ZsLMJLJm9eCpjQ989N0oX6theSLCcv7QtHcWMXydjWMcpuTfBZSFrwUVbC23uMOKTJVEWq5LMG3m2L6hP3//2gvUzGhOVLvoGuC+erboB7QoXdcoOgXY+dTZPMcPBxpArdDLWVQSLTvPs05QzpaUdRLVMC/kD1d1EudlEicgkNgNDBhBn3089nVmvKndbKLvj+23a5AQVVbs+8C0x+SJvTc9N2N+bmuH7jIJPrEvWK4xwcQa+g2M/EBv05jaEdSErlVa6B6UKCH0Lea9rpy1se9vn5OzpaaMCCJIpcpQqHDjo0PMAQXBSbqjKcBei6lR5fIFl5UO9gWP1v8PGPuCzGTBivQ92XlgV1TWXmdbJHwIuSbJx3Ali7Wp19RR4E4uHC+TPFssvgkh9ZLkORnWWS35wzzU1LkwWx0="
|
40
|
+
on:
|
41
|
+
tags: true
|
42
|
+
condition: "($SKIP_PUBLISH != true)"
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
### 1.19.3 / 2021-01-01
|
2
|
+
* Fixed:
|
3
|
+
* Ensure that `pfact_on` can handle fact dot notation
|
4
|
+
* Changed:
|
5
|
+
* Silenced some of the noisy commands that didn't provide value-add output
|
6
|
+
|
7
|
+
### 1.19.2 / 2020-12-19
|
8
|
+
* Fixed:
|
9
|
+
* Fixed an issue with pfact_on
|
10
|
+
|
1
11
|
### 1.19.1 / 2020-12-02
|
2
12
|
* Fixed:
|
3
13
|
* Bumped the core puppet version to 6.X
|
data/lib/simp/beaker_helpers.rb
CHANGED
@@ -66,6 +66,8 @@ module Simp::BeakerHelpers
|
|
66
66
|
|
67
67
|
if sut[:hypervisor] == 'docker'
|
68
68
|
exclude_list = []
|
69
|
+
opts[:silent] ||= true
|
70
|
+
|
69
71
|
if opts.has_key?(:ignore) && !opts[:ignore].empty?
|
70
72
|
opts[:ignore].each do |value|
|
71
73
|
exclude_list << "--exclude '#{value}'"
|
@@ -114,9 +116,15 @@ module Simp::BeakerHelpers
|
|
114
116
|
|
115
117
|
# use the `puppet fact` face to look up facts on an SUT
|
116
118
|
def pfact_on(sut, fact_name)
|
117
|
-
|
118
|
-
|
119
|
-
|
119
|
+
require 'ostruct'
|
120
|
+
|
121
|
+
if sut.which('puppet').empty?
|
122
|
+
fact_on(sut, fact_name, :silent => true)
|
123
|
+
else
|
124
|
+
facts_json = on(sut,'puppet facts find garbage_xxx', :silent => true).stdout
|
125
|
+
facts = JSON.parse(facts_json, object_class: OpenStruct).values
|
126
|
+
facts.dig(*(fact_name.split('.'))) || ''
|
127
|
+
end
|
120
128
|
end
|
121
129
|
|
122
130
|
# Returns the modulepath on the SUT, as an Array
|
@@ -980,7 +988,7 @@ done
|
|
980
988
|
# @returns [String] Path to the Hieradata directory on the target system
|
981
989
|
def hiera_datadir(sut)
|
982
990
|
# This output lets us know where Hiera is configured to look on the system
|
983
|
-
puppet_lookup_info = on(sut, 'puppet lookup --explain test__simp__test').output.strip.lines
|
991
|
+
puppet_lookup_info = on(sut, 'puppet lookup --explain test__simp__test', :silent => true).output.strip.lines
|
984
992
|
|
985
993
|
if sut.puppet_configprint['manifest'].nil? || sut.puppet_configprint['manifest'].empty?
|
986
994
|
fail("No output returned from `puppet config print manifest` on #{sut}")
|
@@ -8,15 +8,25 @@ context 'after copy_fixture_modules_to( hosts )' do
|
|
8
8
|
|
9
9
|
describe "fact_on(master,'root_home')" do
|
10
10
|
it 'should not return value of `root_home`' do
|
11
|
-
|
12
|
-
expect( fact ).to eq ''
|
11
|
+
expect(fact_on(master, 'root_home')).to eq ''
|
13
12
|
end
|
14
13
|
end
|
15
14
|
|
16
15
|
describe "pfact_on(master,'root_home')" do
|
17
16
|
it 'should return value of `root_home`' do
|
18
|
-
|
19
|
-
|
17
|
+
expect(pfact_on(master, 'root_home')).to eq '/root'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "pfact_on(master,'os.release.major')" do
|
22
|
+
it 'should return the value of `os.release.major`' do
|
23
|
+
expect(pfact_on(master, 'os.release.major')).to match(/.+/)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "pfact_on(master,'os.release.foo')" do
|
28
|
+
it 'should not return the value of `os.release.foo`' do
|
29
|
+
expect(pfact_on(master, 'os.release.foo')).to eq ''
|
20
30
|
end
|
21
31
|
end
|
22
32
|
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simp-beaker-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.19.
|
4
|
+
version: 1.19.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Tessmer
|
8
8
|
- Trevor Vaughan
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-01-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beaker
|
@@ -192,13 +192,11 @@ files:
|
|
192
192
|
- spec/acceptance/suites/default/enable_fips_spec.rb
|
193
193
|
- spec/acceptance/suites/default/fixture_modules_spec.rb
|
194
194
|
- spec/acceptance/suites/default/install_simp_deps_repo_spec.rb
|
195
|
-
- spec/acceptance/suites/default/nodesets
|
196
195
|
- spec/acceptance/suites/default/pki_tests_spec.rb
|
197
196
|
- spec/acceptance/suites/default/set_hieradata_on_spec.rb
|
198
197
|
- spec/acceptance/suites/default/write_hieradata_to_spec.rb
|
199
198
|
- spec/acceptance/suites/fips_from_fixtures/00_default_spec.rb
|
200
199
|
- spec/acceptance/suites/fips_from_fixtures/metadata.yml
|
201
|
-
- spec/acceptance/suites/fips_from_fixtures/nodesets
|
202
200
|
- spec/acceptance/suites/offline/00_default_spec.rb
|
203
201
|
- spec/acceptance/suites/offline/README
|
204
202
|
- spec/acceptance/suites/offline/nodesets/default.yml
|
@@ -206,7 +204,6 @@ files:
|
|
206
204
|
- spec/acceptance/suites/puppet_collections/metadata.yml
|
207
205
|
- spec/acceptance/suites/snapshot/00_snapshot_test_spec.rb
|
208
206
|
- spec/acceptance/suites/snapshot/10_general_usage_spec.rb
|
209
|
-
- spec/acceptance/suites/snapshot/nodesets
|
210
207
|
- spec/acceptance/suites/windows/00_default_spec.rb
|
211
208
|
- spec/acceptance/suites/windows/metadata.yml
|
212
209
|
- spec/acceptance/suites/windows/nodesets/default.yml
|
@@ -220,7 +217,7 @@ licenses:
|
|
220
217
|
- Apache-2.0
|
221
218
|
metadata:
|
222
219
|
issue_tracker: https://simp-project.atlassian.net
|
223
|
-
post_install_message:
|
220
|
+
post_install_message:
|
224
221
|
rdoc_options: []
|
225
222
|
require_paths:
|
226
223
|
- lib
|
@@ -235,8 +232,33 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
235
232
|
- !ruby/object:Gem::Version
|
236
233
|
version: '0'
|
237
234
|
requirements: []
|
238
|
-
rubygems_version: 3.0.
|
239
|
-
signing_key:
|
235
|
+
rubygems_version: 3.0.9
|
236
|
+
signing_key:
|
240
237
|
specification_version: 4
|
241
238
|
summary: beaker helper methods for SIMP
|
242
|
-
test_files:
|
239
|
+
test_files:
|
240
|
+
- spec/acceptance/nodesets/default.yml
|
241
|
+
- spec/acceptance/suites/default/check_puppet_version_spec.rb
|
242
|
+
- spec/acceptance/suites/default/enable_fips_spec.rb
|
243
|
+
- spec/acceptance/suites/default/fixture_modules_spec.rb
|
244
|
+
- spec/acceptance/suites/default/install_simp_deps_repo_spec.rb
|
245
|
+
- spec/acceptance/suites/default/pki_tests_spec.rb
|
246
|
+
- spec/acceptance/suites/default/set_hieradata_on_spec.rb
|
247
|
+
- spec/acceptance/suites/default/write_hieradata_to_spec.rb
|
248
|
+
- spec/acceptance/suites/fips_from_fixtures/00_default_spec.rb
|
249
|
+
- spec/acceptance/suites/fips_from_fixtures/metadata.yml
|
250
|
+
- spec/acceptance/suites/offline/00_default_spec.rb
|
251
|
+
- spec/acceptance/suites/offline/README
|
252
|
+
- spec/acceptance/suites/offline/nodesets/default.yml
|
253
|
+
- spec/acceptance/suites/puppet_collections/00_default_spec.rb
|
254
|
+
- spec/acceptance/suites/puppet_collections/metadata.yml
|
255
|
+
- spec/acceptance/suites/snapshot/00_snapshot_test_spec.rb
|
256
|
+
- spec/acceptance/suites/snapshot/10_general_usage_spec.rb
|
257
|
+
- spec/acceptance/suites/windows/00_default_spec.rb
|
258
|
+
- spec/acceptance/suites/windows/metadata.yml
|
259
|
+
- spec/acceptance/suites/windows/nodesets/default.yml
|
260
|
+
- spec/acceptance/suites/windows/nodesets/win2016.yml
|
261
|
+
- spec/acceptance/suites/windows/nodesets/win2019.yml
|
262
|
+
- spec/lib/simp/beaker_helpers_spec.rb
|
263
|
+
- spec/spec_helper.rb
|
264
|
+
- spec/spec_helper_acceptance.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
../../nodesets
|
@@ -1 +0,0 @@
|
|
1
|
-
../../nodesets
|
@@ -1 +0,0 @@
|
|
1
|
-
../../nodesets
|