beaker-puppet 1.27.0 → 1.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -0
- data/README.md +17 -0
- data/lib/beaker-puppet/helpers/puppet_helpers.rb +1 -1
- data/lib/beaker-puppet/version.rb +1 -1
- data/setup/common/003_solaris_cert_fix.rb +4 -4
- data/tasks/ci.rake +51 -3
- 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: 1d22580f573383c2d14f8c340936f3011cd4aa22a3f68c7d3d7e212ee000b5a4
|
4
|
+
data.tar.gz: 43ca75a56533ea39da64b84808c1559ce392b9e9b5cd7ba7bbb019b809a9a875
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c272d6d40f9050bbef35f36db0972e6e6becc53af61b0870b2b8b53756ad83a68e9e4a761dc91835056c7ac3a3e46348aad35fb7aab06db4cbaea4a2314ca7ff
|
7
|
+
data.tar.gz: 189fd8c32eb885429d14cfa146687619610ef40460e6f6e7fb4f5553d1673574ba0bc9c53fa06cb77cbc9209b1e03ab9d9ca9bbbf29061efa8474f6fa7d671c3
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,30 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
|
5
|
+
## [1.29.0](https://github.com/voxpupuli/beaker-puppet/tree/1.29.0) (2022-11-02)
|
6
|
+
|
7
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-puppet/compare/1.28.0...1.29.0)
|
8
|
+
|
9
|
+
**Implemented enhancements:**
|
10
|
+
|
11
|
+
- Introduce BEAKER\_PUPPET\_DEBUG env var [\#197](https://github.com/voxpupuli/beaker-puppet/pull/197) ([ekohl](https://github.com/ekohl))
|
12
|
+
|
13
|
+
**Fixed bugs:**
|
14
|
+
|
15
|
+
- \(maint\) Fix DigiCert root cert to match fully patched Solaris 11.4 [\#202](https://github.com/voxpupuli/beaker-puppet/pull/202) ([yachub](https://github.com/yachub))
|
16
|
+
|
17
|
+
**Merged pull requests:**
|
18
|
+
|
19
|
+
- \(maint\) Uses RFC 5737 IP space in example [\#200](https://github.com/voxpupuli/beaker-puppet/pull/200) ([mhashizume](https://github.com/mhashizume))
|
20
|
+
|
21
|
+
## [1.28.0](https://github.com/voxpupuli/beaker-puppet/tree/1.28.0) (2022-09-08)
|
22
|
+
|
23
|
+
[Full Changelog](https://github.com/voxpupuli/beaker-puppet/compare/1.27.0...1.28.0)
|
24
|
+
|
25
|
+
**Implemented enhancements:**
|
26
|
+
|
27
|
+
- \(PA-4552\) Create ci:test:setup step for iterative workflow [\#194](https://github.com/voxpupuli/beaker-puppet/pull/194) ([joshcooper](https://github.com/joshcooper))
|
28
|
+
|
5
29
|
## [1.27.0](https://github.com/voxpupuli/beaker-puppet/tree/1.27.0) (2022-08-31)
|
6
30
|
|
7
31
|
[Full Changelog](https://github.com/voxpupuli/beaker-puppet/compare/1.26.3...1.27.0)
|
@@ -14,6 +38,10 @@ All notable changes to this project will be documented in this file.
|
|
14
38
|
|
15
39
|
- \(PA-4566\) Retry beaker exec if presuite completes [\#195](https://github.com/voxpupuli/beaker-puppet/pull/195) ([joshcooper](https://github.com/joshcooper))
|
16
40
|
|
41
|
+
**Merged pull requests:**
|
42
|
+
|
43
|
+
- Release 1.27.0 [\#199](https://github.com/voxpupuli/beaker-puppet/pull/199) ([mhashizume](https://github.com/mhashizume))
|
44
|
+
|
17
45
|
## [1.26.3](https://github.com/voxpupuli/beaker-puppet/tree/1.26.3) (2022-08-09)
|
18
46
|
|
19
47
|
[Full Changelog](https://github.com/voxpupuli/beaker-puppet/compare/1.26.2...1.26.3)
|
data/README.md
CHANGED
@@ -41,6 +41,23 @@ require 'beaker-puppet'
|
|
41
41
|
Doing this will include (automatically) the beaker-puppet DSL methods in the
|
42
42
|
beaker DSL. Then you can call beaker-puppet methods, exactly as you did before.
|
43
43
|
|
44
|
+
## Running Puppet in debug mode
|
45
|
+
|
46
|
+
When using `apply_manifest` to run Puppet, it is common that you need debug
|
47
|
+
output. To achieve this, the debug option can be passed.
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
apply_manifest_on(host, manifest, { debug: true })
|
51
|
+
```
|
52
|
+
|
53
|
+
This has the downside that Puppet always runs in debug mode, which is very
|
54
|
+
verbose. Of course you can modify the spec, but that's tedious. An easier
|
55
|
+
alternative is to use the environment variable `BEAKER_PUPPET_DEBUG`.
|
56
|
+
|
57
|
+
```sh
|
58
|
+
BEAKER_PUPPET_DEBUG=1 rspec spec/acceptance/my_spec.rb
|
59
|
+
```
|
60
|
+
|
44
61
|
# How Do I Test This?
|
45
62
|
|
46
63
|
### Unit / Spec Testing
|
@@ -459,7 +459,7 @@ module Beaker
|
|
459
459
|
on_options[:acceptable_exit_codes] = Array(opts[:acceptable_exit_codes])
|
460
460
|
|
461
461
|
puppet_apply_opts = {}
|
462
|
-
if opts[:debug]
|
462
|
+
if opts[:debug] || ENV['BEAKER_PUPPET_DEBUG']
|
463
463
|
puppet_apply_opts[:debug] = nil
|
464
464
|
else
|
465
465
|
puppet_apply_opts[:verbose] = nil
|
@@ -72,10 +72,10 @@ EOM
|
|
72
72
|
|
73
73
|
hosts.each do |host|
|
74
74
|
next unless host.platform =~ /solaris-11(\.2)?-(i386|sparc)/
|
75
|
-
create_remote_file(host, "
|
76
|
-
on(host, 'chmod a+r /root/
|
77
|
-
on(host, 'cp -p /root/
|
78
|
-
on(host, 'rm /root/
|
75
|
+
create_remote_file(host, "DigiCert_Trusted_Root_G4.pem", DigiCert)
|
76
|
+
on(host, 'chmod a+r /root/DigiCert_Trusted_Root_G4.pem')
|
77
|
+
on(host, 'cp -p /root/DigiCert_Trusted_Root_G4.pem /etc/certs/CA/')
|
78
|
+
on(host, 'rm /root/DigiCert_Trusted_Root_G4.pem')
|
79
79
|
|
80
80
|
if host.platform=~ /solaris-11-sparc/
|
81
81
|
create_remote_file(host, "USERTrust_RSA_Certification_Authority.pem", USERTrust)
|
data/tasks/ci.rake
CHANGED
@@ -25,6 +25,7 @@ Usage: bundle exec rake <target> [arguments]
|
|
25
25
|
|
26
26
|
where <target> is one of:
|
27
27
|
|
28
|
+
ci:test:setup
|
28
29
|
ci:test:git
|
29
30
|
ci:test:aio
|
30
31
|
ci:test:gem
|
@@ -109,8 +110,8 @@ SERVER:
|
|
109
110
|
|
110
111
|
$project_SERVER:
|
111
112
|
Similar to SERVER, but project specific. If you have only one project (i.e., hiera) that you
|
112
|
-
want to pull from a different server then all the others, you could set HIERA_SERVER=
|
113
|
-
and you would get back 'https://
|
113
|
+
want to pull from a different server then all the others, you could set HIERA_SERVER=192.0.2.1,
|
114
|
+
and you would get back 'https://192.0.2.1/puppetlabs-hiera.git'.
|
114
115
|
|
115
116
|
RUNTIME_BRANCH:
|
116
117
|
Currently only used with git-based testing. This must correspond to a branch in the
|
@@ -126,11 +127,22 @@ namespace :ci do
|
|
126
127
|
end
|
127
128
|
|
128
129
|
task :check_env do
|
129
|
-
|
130
|
+
sha = ENV['SHA']
|
131
|
+
case sha
|
132
|
+
when /^\d+\.\d+\.\d+$/
|
133
|
+
# tags are ok
|
134
|
+
when /^[0-9a-f]{40}$/
|
135
|
+
# full SHAs are ok
|
136
|
+
when nil
|
130
137
|
puts "Error: A SHA must be specified"
|
131
138
|
puts "\n"
|
132
139
|
puts USAGE
|
133
140
|
exit 1
|
141
|
+
else
|
142
|
+
puts "Error: Expected SHA to be a tag or 40 digit SHA, not '#{sha}'"
|
143
|
+
puts "\n"
|
144
|
+
puts USAGE
|
145
|
+
exit 1
|
134
146
|
end
|
135
147
|
|
136
148
|
if ENV['TESTS'].nil?
|
@@ -205,6 +217,35 @@ EOS
|
|
205
217
|
end
|
206
218
|
end
|
207
219
|
|
220
|
+
desc <<-EOS
|
221
|
+
Setup acceptance tests using puppet-agent (AIO) packages.
|
222
|
+
|
223
|
+
$ SHA=<tag or full sha> HOSTS=<hosts> bundle exec rake ci:test:setup
|
224
|
+
|
225
|
+
SHA should be the tag or full SHA for the puppet-agent package.
|
226
|
+
|
227
|
+
HOSTS can be a beaker-hostgenerator string or existing file.
|
228
|
+
EOS
|
229
|
+
task :setup => ['ci:check_env'] do |t, args|
|
230
|
+
unless ENV['HOSTS']
|
231
|
+
case File.basename(Dir.pwd.sub(/\/acceptance$/, ''))
|
232
|
+
when 'pxp-agent', 'puppet'
|
233
|
+
ENV['HOSTS'] ||= 'redhat7-64m-redhat7-64a'
|
234
|
+
else
|
235
|
+
ENV['HOSTS'] ||= 'redhat7-64a'
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
Rake::Task[:'ci:gen_hosts'].invoke('abs')
|
240
|
+
beaker_setup(:aio)
|
241
|
+
puts "\nSetup completed on:"
|
242
|
+
YAML.load_file('.beaker/subcommand_options.yaml').fetch('HOSTS', {}).each_pair do |hostname, data|
|
243
|
+
roles = data.fetch('roles', []).join(', ')
|
244
|
+
puts "- #{hostname} (#{roles})"
|
245
|
+
end
|
246
|
+
puts "\nRun 'bundle exec beaker exec <path>' where <path> is a directory or comma-separated list of tests."
|
247
|
+
end
|
248
|
+
|
208
249
|
desc <<-EOS
|
209
250
|
Run the acceptance tests against puppet gem on various platforms, performing a
|
210
251
|
basic smoke test.
|
@@ -265,6 +306,13 @@ def beaker(command, *argv)
|
|
265
306
|
sh('beaker', command.to_s, *argv)
|
266
307
|
end
|
267
308
|
|
309
|
+
def beaker_setup(type)
|
310
|
+
beaker(:init, '--hosts', ENV['HOSTS'], '--preserve-hosts', 'always', '--options-file', "config/#{String(type)}/options.rb")
|
311
|
+
beaker(:provision)
|
312
|
+
beaker(:exec, 'pre-suite', '--preserve-state', '--pre-suite', pre_suites(type))
|
313
|
+
beaker(:exec, 'pre-suite', '--preserve-state')
|
314
|
+
end
|
315
|
+
|
268
316
|
def beaker_suite(type)
|
269
317
|
beaker(:init, '--hosts', ENV['HOSTS'], '--options-file', "config/#{String(type)}/options.rb")
|
270
318
|
beaker(:provision)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker-puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.29.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|