simp-beaker-helpers 1.5.7 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -2
- data/README.md +22 -0
- data/files/puppet-agent-versions.yaml +28 -0
- data/lib/simp/beaker_helpers.rb +40 -1
- data/lib/simp/beaker_helpers/version.rb +5 -0
- data/simp-beaker-helpers.gemspec +2 -1
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f423ccffba15fb59477037b489fc83e02828d546
|
4
|
+
data.tar.gz: 58ea1934ae1e074fee9f262160f9ba64fec60dfc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf58694581293b502b34acd99c8e1a15808ae8e5c282d81d37feb9b32a4252e2cd10866b385d874737cc41ffc929bfba769d337408d3afdd76a7a9ce928b3d34
|
7
|
+
data.tar.gz: 87db67f03c23e8cb1ae4578c6509fab397dd5e918d0b7817729f27a66300f122f282f9baff3c0d50ba75daac30aa51abf644667060d6438ac1b15edcff426488
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -29,8 +29,10 @@ Methods to assist beaker acceptance tests for SIMP.
|
|
29
29
|
* [`BEAKER_spec_prep`](#beaker_spec_prep)
|
30
30
|
* [`BEAKER_stringify_facts`](#beaker_stringify_facts)
|
31
31
|
* [`BEAKER_use_fixtures_dir_for_modules`](#beaker_use_fixtures_dir_for_modules)
|
32
|
+
* [`PUPPET_VERSION`](#puppet_version)
|
32
33
|
7. [Examples](#examples)
|
33
34
|
* [Prep OS, Generate and copy PKI certs to each SUT](#prep-os-generate-and-copy-pki-certs-to-each-sut)
|
35
|
+
* [Specify the version of Puppet to run in the SUTs](#specify-the-version-of-puppet-to-run-in-the-suts)
|
34
36
|
8. [License](#license)
|
35
37
|
|
36
38
|
## Overview
|
@@ -284,8 +286,15 @@ this will _not_ update modules that are already present under
|
|
284
286
|
#### `BEAKER_stringify_facts`
|
285
287
|
#### `BEAKER_use_fixtures_dir_for_modules`
|
286
288
|
|
289
|
+
#### PUPPET_VERSION
|
290
|
+
|
291
|
+
The `PUPPET_VERSION` environment variable will install the latest
|
292
|
+
`puppet-agent` package that provides that version of Puppet. This honors
|
293
|
+
`Gemfile`-style expressions like `"~> 4.8.0"`
|
294
|
+
|
287
295
|
## Examples
|
288
296
|
|
297
|
+
|
289
298
|
### Prep OS, Generate and copy PKI certs to each SUT
|
290
299
|
This pattern serves to prepare component modules that use PKI
|
291
300
|
|
@@ -331,5 +340,18 @@ RSpec.configure do |c|
|
|
331
340
|
end
|
332
341
|
```
|
333
342
|
|
343
|
+
### Specify the version of Puppet to run in the SUTs
|
344
|
+
|
345
|
+
```bash
|
346
|
+
# puppet-agent 1.8.3 will be installed in VMs
|
347
|
+
PUPPET_VERSION="~> 4.8.0" bundle exec rake beaker:suites
|
348
|
+
|
349
|
+
# puppet-agent 1.9.2 will be installed in VMs
|
350
|
+
PUPPET_INSTALL_VERSION=1.9.2 bundle exec rake beaker:suites
|
351
|
+
|
352
|
+
# puppet-agent 1.8.3 will be installed in VMs
|
353
|
+
bundle exec rake beaker:suites
|
354
|
+
```
|
355
|
+
|
334
356
|
## License
|
335
357
|
See [LICENSE](LICENSE)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
---
|
2
|
+
# `puppet` agent to `puppet-agent` version mappings
|
3
|
+
version_mappings:
|
4
|
+
'4.9.2': '1.9.1'
|
5
|
+
'4.9.0': '1.9.0'
|
6
|
+
'4.8.2': '1.8.3'
|
7
|
+
'4.8.1': '1.8.2'
|
8
|
+
'4.8.0': '1.8.0'
|
9
|
+
'4.7.1': '1.7.2'
|
10
|
+
'4.7.0': '1.7.1'
|
11
|
+
'4.6.2': '1.6.2'
|
12
|
+
'4.6.1': '1.6.1'
|
13
|
+
'4.6.0': '1.6.0'
|
14
|
+
'4.5.2': '1.5.3'
|
15
|
+
'4.5.1': '1.5.1'
|
16
|
+
'4.5.0': '1.5.0'
|
17
|
+
'4.4.2': '1.4.2'
|
18
|
+
'4.4.1': '1.4.1'
|
19
|
+
'4.4.0': '1.4.0'
|
20
|
+
'4.3.2': '1.3.6'
|
21
|
+
'4.3.1': '1.3.2'
|
22
|
+
'4.3.0': '1.3.0'
|
23
|
+
'4.2.3': '1.2.7'
|
24
|
+
'4.2.2': '1.2.6'
|
25
|
+
'4.2.1': '1.2.2'
|
26
|
+
'4.2.0': '1.2.1'
|
27
|
+
'4.1.0': '1.1.1'
|
28
|
+
'4.0.0': '1.0.1'
|
data/lib/simp/beaker_helpers.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
module Simp; end
|
2
2
|
|
3
3
|
module Simp::BeakerHelpers
|
4
|
-
|
4
|
+
require 'simp/beaker_helpers/version'
|
5
|
+
DEFAULT_PUPPET_AGENT_VERSION = '1.8.3'
|
5
6
|
|
6
7
|
# use the `puppet fact` face to look up facts on an SUT
|
7
8
|
def pfact_on(sut, fact_name)
|
@@ -545,4 +546,42 @@ done
|
|
545
546
|
end
|
546
547
|
end
|
547
548
|
end
|
549
|
+
|
550
|
+
|
551
|
+
# Looks up latest `puppet-agent` version by the version of its `puppet` gem
|
552
|
+
#
|
553
|
+
# @param puppet_version [String] target Puppet gem version. Works with
|
554
|
+
# Gemfile comparison syntax (e.g., '4.0', '= 4.2', '~> 4.3.1')
|
555
|
+
#
|
556
|
+
# @return [String,Nil] the `puppet-agent` version or nil
|
557
|
+
#
|
558
|
+
def latest_puppet_agent_version_for( puppet_version )
|
559
|
+
return nil if puppet_version.nil?
|
560
|
+
require 'rubygems/requirement'
|
561
|
+
require 'rubygems/version'
|
562
|
+
require 'yaml'
|
563
|
+
@agent_version_table ||= YAML.load_file(
|
564
|
+
File.expand_path(
|
565
|
+
'../../files/puppet-agent-versions.yaml',
|
566
|
+
File.dirname(__FILE__)
|
567
|
+
)).fetch('version_mappings')
|
568
|
+
_pair = @agent_version_table.find do |k,v|
|
569
|
+
Gem::Requirement.new(puppet_version).satisfied_by?(Gem::Version.new(k))
|
570
|
+
end
|
571
|
+
result = _pair ? _pair.last : nil
|
572
|
+
end
|
573
|
+
|
574
|
+
|
575
|
+
# Replacement for `install_puppet` in spec_helper_acceptance.rb
|
576
|
+
def install_puppet
|
577
|
+
puppet_install_type = ENV.fetch('PUPPET_INSTALL_TYPE', 'agent')
|
578
|
+
puppet_agent_version = (
|
579
|
+
ENV.fetch('PUPPET_INSTALL_VERSION', nil) ||
|
580
|
+
latest_puppet_agent_version_for(ENV.fetch('PUPPET_VERSION',nil)) ||
|
581
|
+
DEFAULT_PUPPET_AGENT_VERSION
|
582
|
+
)
|
583
|
+
require 'beaker/puppet_install_helper'
|
584
|
+
run_puppet_install_helper(puppet_install_type, puppet_agent_version)
|
585
|
+
end
|
586
|
+
|
548
587
|
end
|
data/simp-beaker-helpers.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
3
|
-
require 'simp/beaker_helpers
|
3
|
+
require 'simp/beaker_helpers/version'
|
4
4
|
require 'date'
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
@@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
'issue_tracker' => 'https://simp-project.atlassian.net'
|
20
20
|
}
|
21
21
|
s.add_runtime_dependency 'beaker', '~> 2'
|
22
|
+
s.add_runtime_dependency 'beaker-puppet_install_helper', '~> 0.6'
|
22
23
|
|
23
24
|
### s.files = Dir['Rakefile', '{bin,lib,spec}/**/*', 'README*', 'LICENSE*'] & `git ls-files -z .`.split("\0")
|
24
25
|
s.files = `git ls-files`.split("\n")
|
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.
|
4
|
+
version: 1.6.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: 2017-
|
12
|
+
date: 2017-02-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: beaker
|
@@ -25,6 +25,20 @@ dependencies:
|
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: '2'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: beaker-puppet_install_helper
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - "~>"
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '0.6'
|
35
|
+
type: :runtime
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0.6'
|
28
42
|
description: " Beaker helper methods to help scaffold SIMP acceptance tests\n"
|
29
43
|
email: simp@simp-project.org
|
30
44
|
executables: []
|
@@ -43,7 +57,9 @@ files:
|
|
43
57
|
- files/pki/make.sh
|
44
58
|
- files/pki/template_ca.cnf
|
45
59
|
- files/pki/template_host.cnf
|
60
|
+
- files/puppet-agent-versions.yaml
|
46
61
|
- lib/simp/beaker_helpers.rb
|
62
|
+
- lib/simp/beaker_helpers/version.rb
|
47
63
|
- lib/simp/rake/beaker.rb
|
48
64
|
- simp-beaker-helpers.gemspec
|
49
65
|
- spec/acceptance/fixture_modules_spec.rb
|