vagrant-pe_build 0.17.12 → 0.17.13
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 +4 -4
- data/.travis.yml +5 -1
- data/CHANGELOG +18 -0
- data/Gemfile +5 -5
- data/acceptance/pe_build/pe_bootstrap_2015x_spec.rb +4 -3
- data/acceptance/pe_build/pe_bootstrap_2016x_spec.rb +10 -41
- data/acceptance/pe_build/pe_bootstrap_2018x_spec.rb +63 -0
- data/acceptance/pe_build/pe_bootstrap_3x_spec.rb +2 -2
- data/acceptance/pe_build/pe_bootstrap_latest_spec.rb +32 -10
- data/acceptance/pe_build/pe_build_cli_spec.rb +3 -3
- data/acceptance/skeletons/2015x_acceptance/Vagrantfile +4 -3
- data/acceptance/skeletons/2016x_acceptance/Vagrantfile +9 -39
- data/acceptance/skeletons/2018x_acceptance/Vagrantfile +69 -0
- data/acceptance/skeletons/{pe_build → 3x_acceptance}/Vagrantfile +1 -12
- data/acceptance/skeletons/pe_latest_acceptance/Vagrantfile +69 -0
- data/lib/pe_build/release/2016_4.rb +2 -0
- data/lib/pe_build/release/2017_3.rb +2 -0
- data/lib/pe_build/release/2018_1.rb +2 -0
- data/lib/pe_build/version.rb +1 -1
- data/spec/shared/helpers/webserver_context.rb +1 -0
- data/spec/spec_helper.rb +2 -1
- data/tasks/acceptance.rake +1 -1
- data/vagrant-pe_build.gemspec +0 -2
- data/vagrant-spec.config.example.rb +8 -1
- metadata +6 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 91347d9421c7137507136b843bc30f25028aebe9
|
|
4
|
+
data.tar.gz: 8f0de603d2c7ef226253fcb673db247906327eed
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8f7a2801b27438e8853c90c2c775f8497b62e7f793a1dafe8c2140da2df22fa31d832dce03c66ed9b31c941fe6ae5ca459637e587de10b0ecefdd8e56482d0b6
|
|
7
|
+
data.tar.gz: 891f01979135263f16d7993b920c711ea5ad22d0dee6799bf199defb8f34066ff925c047d3336fdcd33d2d6bde3f6ece52df938c6ed6696a907d90820311b70a
|
data/.travis.yml
CHANGED
|
@@ -26,5 +26,9 @@ matrix:
|
|
|
26
26
|
env: TEST_VAGRANT_VERSION=v1.8.7 BUNDLER_VERSION=1.12.5
|
|
27
27
|
- rvm: 2.3.4
|
|
28
28
|
env: TEST_VAGRANT_VERSION=v1.9.8 BUNDLER_VERSION=1.16.1
|
|
29
|
-
- rvm: 2.4.
|
|
29
|
+
- rvm: 2.4.4
|
|
30
|
+
env: TEST_VAGRANT_VERSION=v2.0.4 BUNDLER_VERSION=1.16.1
|
|
31
|
+
- rvm: 2.4.4
|
|
32
|
+
env: TEST_VAGRANT_VERSION=v2.1.1 BUNDLER_VERSION=1.16.1
|
|
33
|
+
- rvm: 2.4.4
|
|
30
34
|
env: TEST_VAGRANT_VERSION=HEAD BUNDLER_VERSION=1.16.1
|
data/CHANGELOG
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
vagrant-pe_build
|
|
2
2
|
================
|
|
3
3
|
|
|
4
|
+
0.17.13
|
|
5
|
+
-------
|
|
6
|
+
|
|
7
|
+
2018-06-18
|
|
8
|
+
|
|
9
|
+
This is a backwards compatible bugfix release.
|
|
10
|
+
|
|
11
|
+
* Add support for 2016.4.13
|
|
12
|
+
|
|
13
|
+
* Add support for 2017.3.8
|
|
14
|
+
|
|
15
|
+
* Add support for 2018.1.2
|
|
16
|
+
|
|
17
|
+
* Add Vagrant 2.0 to test matrix.
|
|
18
|
+
|
|
19
|
+
* Add Vagrant 2.1 to test matrix.
|
|
20
|
+
|
|
21
|
+
|
|
4
22
|
0.17.12
|
|
5
23
|
-------
|
|
6
24
|
|
data/Gemfile
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
source 'https://rubygems.org'
|
|
2
2
|
require 'rubygems/version'
|
|
3
3
|
|
|
4
|
-
vagrant_branch = ENV['TEST_VAGRANT_VERSION'] || '
|
|
4
|
+
vagrant_branch = ENV['TEST_VAGRANT_VERSION'] || 'v2.1.1'
|
|
5
5
|
vagrant_version = nil
|
|
6
6
|
|
|
7
7
|
# Wrapping gemspec in the :plugins group causes Vagrant 1.5 and newer to
|
|
@@ -26,12 +26,12 @@ group :test do
|
|
|
26
26
|
:tag => vagrant_branch
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
if vagrant_branch.match(/head/i) || (vagrant_version
|
|
30
|
-
# Pinned on
|
|
29
|
+
if vagrant_branch.match(/head/i) || (vagrant_version >= Gem::Version.new('1.9'))
|
|
30
|
+
# Pinned on 5/11/2018. Compatible with Vagrant > 1.9. Brings in Rspec 3.
|
|
31
31
|
gem 'vagrant-spec', :git => 'https://github.com/hashicorp/vagrant-spec.git',
|
|
32
|
-
:ref => '
|
|
32
|
+
:ref => '9413ab2'
|
|
33
33
|
elsif vagrant_version
|
|
34
|
-
# Pinned on 12/10/2014. Compatible with Vagrant 1.6.x -- 1.
|
|
34
|
+
# Pinned on 12/10/2014. Compatible with Vagrant 1.6.x -- 1.8.7.
|
|
35
35
|
gem 'vagrant-spec', :git => 'https://github.com/hashicorp/vagrant-spec.git',
|
|
36
36
|
:ref => '1df5a3a'
|
|
37
37
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
# NOTE: This acceptance suite actually uses 2016.1 as 2015.2
|
|
2
|
-
# the same installation workflow.
|
|
1
|
+
# NOTE: This acceptance suite actually uses 2016.1 as 2015.2 -- 2016.1 shared
|
|
2
|
+
# the same installation workflow. 2016.1.2 was the penultimate release for
|
|
3
|
+
# that workflow.
|
|
3
4
|
shared_examples 'provider/provisioner/pe_bootstrap/2015x' do |provider, options|
|
|
4
5
|
if options[:boxes].empty?
|
|
5
6
|
raise ArgumentError,
|
|
@@ -27,7 +28,7 @@ shared_examples 'provider/provisioner/pe_bootstrap/2015x' do |provider, options|
|
|
|
27
28
|
|
|
28
29
|
after(:each) do
|
|
29
30
|
# Ensure any VMs that survived tests are cleaned up.
|
|
30
|
-
|
|
31
|
+
execute('vagrant', 'destroy', '--force')
|
|
31
32
|
end
|
|
32
33
|
|
|
33
34
|
# TODO: Refactor into a shared example so tha this testcase can be run on
|
|
@@ -27,70 +27,39 @@ shared_examples 'provider/provisioner/pe_bootstrap/2016x' do |provider, options|
|
|
|
27
27
|
|
|
28
28
|
after(:each) do
|
|
29
29
|
# Ensure any VMs that survived tests are cleaned up.
|
|
30
|
-
|
|
30
|
+
execute('vagrant', 'destroy', '--force')
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
# TODO: Refactor into a shared example so tha this testcase can be run on
|
|
34
34
|
# multiple versions.
|
|
35
|
-
context 'when installing PE 2016.
|
|
35
|
+
context 'when installing PE 2016.4.x' do
|
|
36
36
|
|
|
37
37
|
it 'provisions masters with pe_bootstrap and agents with pe_agent' do
|
|
38
38
|
status('Test: pe_bootstrap master install')
|
|
39
|
-
assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-
|
|
39
|
+
assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-20164-master')
|
|
40
40
|
|
|
41
41
|
status('Test: pe_bootstrap master running after install')
|
|
42
42
|
result = execute('vagrant', 'ssh',
|
|
43
|
-
'pe-
|
|
43
|
+
'pe-20164-master',
|
|
44
44
|
'-c', 'sudo /opt/puppetlabs/bin/puppet status --terminus=rest')
|
|
45
45
|
expect(result).to exit_with(0)
|
|
46
46
|
expect(result.stdout).to match('"is_alive": true')
|
|
47
47
|
|
|
48
48
|
status('Test: pe_agent install')
|
|
49
|
-
result = assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-
|
|
49
|
+
result = assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-20164-agent')
|
|
50
50
|
|
|
51
51
|
status('Test: pe_agent signed cert during install')
|
|
52
52
|
result = execute('vagrant', 'ssh',
|
|
53
|
-
'pe-
|
|
54
|
-
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-
|
|
53
|
+
'pe-20164-master',
|
|
54
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-20164-agent.pe-bootstrap.vlan')
|
|
55
55
|
expect(result).to exit_with(0)
|
|
56
56
|
|
|
57
57
|
status('Test: pe_agent cert purged when vm destroyed')
|
|
58
|
-
result = assert_execute('vagrant', 'destroy', '-f', 'pe-
|
|
58
|
+
result = assert_execute('vagrant', 'destroy', '-f', 'pe-20164-agent')
|
|
59
59
|
result = execute('vagrant', 'ssh',
|
|
60
|
-
'pe-
|
|
61
|
-
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-
|
|
60
|
+
'pe-20164-master',
|
|
61
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-20164-agent.pe-bootstrap.vlan')
|
|
62
62
|
expect(result.stderr).to match(/Could not find a certificate/)
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
|
-
|
|
66
|
-
context 'when installing PE 2016.latest' do
|
|
67
|
-
it 'provisions masters with pe_bootstrap and agents with pe_agent' do
|
|
68
|
-
status('Test: pe_bootstrap master install')
|
|
69
|
-
assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-2016latest-master')
|
|
70
|
-
|
|
71
|
-
status('Test: pe_bootstrap master running after install')
|
|
72
|
-
result = execute('vagrant', 'ssh',
|
|
73
|
-
'pe-2016latest-master',
|
|
74
|
-
'-c', 'sudo /opt/puppetlabs/bin/puppet status --terminus=rest')
|
|
75
|
-
expect(result).to exit_with(0)
|
|
76
|
-
expect(result.stdout).to match('"is_alive": true')
|
|
77
|
-
|
|
78
|
-
status('Test: pe_agent install')
|
|
79
|
-
result = assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-2016latest-agent')
|
|
80
|
-
|
|
81
|
-
status('Test: pe_agent signed cert during install')
|
|
82
|
-
result = execute('vagrant', 'ssh',
|
|
83
|
-
'pe-2016latest-master',
|
|
84
|
-
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-2016latest-agent.pe-bootstrap.vlan')
|
|
85
|
-
expect(result).to exit_with(0)
|
|
86
|
-
|
|
87
|
-
status('Test: pe_agent cert purged when vm destroyed')
|
|
88
|
-
result = assert_execute('vagrant', 'destroy', '-f', 'pe-2016latest-agent')
|
|
89
|
-
result = execute('vagrant', 'ssh',
|
|
90
|
-
'pe-2016latest-master',
|
|
91
|
-
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-2016latest-agent.pe-bootstrap.vlan')
|
|
92
|
-
expect(result.stderr).to match(/Could not find a certificate/)
|
|
93
|
-
end
|
|
94
|
-
end
|
|
95
|
-
|
|
96
65
|
end
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
shared_examples 'provider/provisioner/pe_bootstrap/2018x' do |provider, options|
|
|
2
|
+
if options[:boxes].empty?
|
|
3
|
+
raise ArgumentError,
|
|
4
|
+
"Box files must be downloaded for provider: #{provider}. Try: rake acceptance:setup"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
include_context 'acceptance'
|
|
8
|
+
|
|
9
|
+
let(:extra_env) do
|
|
10
|
+
vars = options[:env_vars].dup
|
|
11
|
+
vars['PE_BUILD_DOWNLOAD_ROOT'] = options[:archive_path]
|
|
12
|
+
|
|
13
|
+
vars
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
before(:each) do
|
|
17
|
+
# The skelton sets up a Vagrantfile which expects the OS under test to be
|
|
18
|
+
# available as `box`.
|
|
19
|
+
environment.skeleton('2018x_acceptance')
|
|
20
|
+
options[:boxes].each do |box|
|
|
21
|
+
name = File.basename(box).split('-').first
|
|
22
|
+
assert_execute('vagrant', 'box', 'add', name, box)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
after(:each) do
|
|
27
|
+
# Ensure any VMs that survived tests are cleaned up.
|
|
28
|
+
execute('vagrant', 'destroy', '--force')
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# TODO: Refactor into a shared example so tha this testcase can be run on
|
|
32
|
+
# multiple versions.
|
|
33
|
+
context 'when installing PE 2018.1.x' do
|
|
34
|
+
|
|
35
|
+
it 'provisions masters with pe_bootstrap and agents with pe_agent' do
|
|
36
|
+
status('Test: pe_bootstrap master install')
|
|
37
|
+
assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-20181-master')
|
|
38
|
+
|
|
39
|
+
status('Test: pe_bootstrap master running after install')
|
|
40
|
+
result = execute('vagrant', 'ssh',
|
|
41
|
+
'pe-20181-master',
|
|
42
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet status --terminus=rest')
|
|
43
|
+
expect(result).to exit_with(0)
|
|
44
|
+
expect(result.stdout).to match('"is_alive": true')
|
|
45
|
+
|
|
46
|
+
status('Test: pe_agent install')
|
|
47
|
+
result = assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-20181-agent')
|
|
48
|
+
|
|
49
|
+
status('Test: pe_agent signed cert during install')
|
|
50
|
+
result = execute('vagrant', 'ssh',
|
|
51
|
+
'pe-20181-master',
|
|
52
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-20181-agent.pe-bootstrap.vlan')
|
|
53
|
+
expect(result).to exit_with(0)
|
|
54
|
+
|
|
55
|
+
status('Test: pe_agent cert purged when vm destroyed')
|
|
56
|
+
result = assert_execute('vagrant', 'destroy', '-f', 'pe-20181-agent')
|
|
57
|
+
result = execute('vagrant', 'ssh',
|
|
58
|
+
'pe-20181-master',
|
|
59
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-20181-agent.pe-bootstrap.vlan')
|
|
60
|
+
expect(result.stderr).to match(/Could not find a certificate/)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -16,7 +16,7 @@ shared_examples 'provider/provisioner/pe_bootstrap/3x' do |provider, options|
|
|
|
16
16
|
before(:each) do
|
|
17
17
|
# The skelton sets up a Vagrantfile which expects the OS under test to be
|
|
18
18
|
# available as `box`.
|
|
19
|
-
environment.skeleton('
|
|
19
|
+
environment.skeleton('3x_acceptance')
|
|
20
20
|
options[:boxes].each do |box|
|
|
21
21
|
name = File.basename(box).split('-').first
|
|
22
22
|
assert_execute('vagrant', 'box', 'add', name, box)
|
|
@@ -25,7 +25,7 @@ shared_examples 'provider/provisioner/pe_bootstrap/3x' do |provider, options|
|
|
|
25
25
|
|
|
26
26
|
after(:each) do
|
|
27
27
|
# Ensure any VMs that survived tests are cleaned up.
|
|
28
|
-
|
|
28
|
+
execute('vagrant', 'destroy', '--force')
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
context 'when installing PE 3.x' do
|
|
@@ -6,19 +6,17 @@ shared_examples 'provider/provisioner/pe_bootstrap/latest' do |provider, options
|
|
|
6
6
|
|
|
7
7
|
include_context 'acceptance'
|
|
8
8
|
|
|
9
|
-
let(:webserver_port) { 3838 }
|
|
10
|
-
let(:webserver_path) { options[:archive_path] }
|
|
11
9
|
let(:extra_env) do
|
|
12
10
|
vars = options[:env_vars].dup
|
|
13
|
-
vars['PE_BUILD_DOWNLOAD_ROOT'] =
|
|
11
|
+
vars['PE_BUILD_DOWNLOAD_ROOT'] = options[:archive_path]
|
|
14
12
|
|
|
15
13
|
vars
|
|
16
14
|
end
|
|
17
15
|
|
|
18
|
-
include_context 'webserver'
|
|
19
|
-
|
|
20
16
|
before(:each) do
|
|
21
|
-
|
|
17
|
+
# The skelton sets up a Vagrantfile which expects the OS under test to be
|
|
18
|
+
# available as `box`.
|
|
19
|
+
environment.skeleton('pe_latest_acceptance')
|
|
22
20
|
options[:boxes].each do |box|
|
|
23
21
|
name = File.basename(box).split('-').first
|
|
24
22
|
assert_execute('vagrant', 'box', 'add', name, box)
|
|
@@ -27,12 +25,36 @@ shared_examples 'provider/provisioner/pe_bootstrap/latest' do |provider, options
|
|
|
27
25
|
|
|
28
26
|
after(:each) do
|
|
29
27
|
# Ensure any VMs that survived tests are cleaned up.
|
|
30
|
-
|
|
28
|
+
execute('vagrant', 'destroy', '--force')
|
|
31
29
|
end
|
|
32
30
|
|
|
33
|
-
context 'when installing
|
|
34
|
-
it 'provisions with
|
|
35
|
-
|
|
31
|
+
context 'when installing PE .latest' do
|
|
32
|
+
it 'provisions masters with pe_bootstrap and agents with pe_agent' do
|
|
33
|
+
status('Test: pe_bootstrap master install')
|
|
34
|
+
assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-latest-master')
|
|
35
|
+
|
|
36
|
+
status('Test: pe_bootstrap master running after install')
|
|
37
|
+
result = execute('vagrant', 'ssh',
|
|
38
|
+
'pe-latest-master',
|
|
39
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet status --terminus=rest')
|
|
40
|
+
expect(result).to exit_with(0)
|
|
41
|
+
expect(result.stdout).to match('"is_alive": true')
|
|
42
|
+
|
|
43
|
+
status('Test: pe_agent install')
|
|
44
|
+
result = assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-latest-agent')
|
|
45
|
+
|
|
46
|
+
status('Test: pe_agent signed cert during install')
|
|
47
|
+
result = execute('vagrant', 'ssh',
|
|
48
|
+
'pe-latest-master',
|
|
49
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-latest-agent.pe-bootstrap.vlan')
|
|
50
|
+
expect(result).to exit_with(0)
|
|
51
|
+
|
|
52
|
+
status('Test: pe_agent cert purged when vm destroyed')
|
|
53
|
+
result = assert_execute('vagrant', 'destroy', '-f', 'pe-latest-agent')
|
|
54
|
+
result = execute('vagrant', 'ssh',
|
|
55
|
+
'pe-latest-master',
|
|
56
|
+
'-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-latest-agent.pe-bootstrap.vlan')
|
|
57
|
+
expect(result.stderr).to match(/Could not find a certificate/)
|
|
36
58
|
end
|
|
37
59
|
end
|
|
38
60
|
end
|
|
@@ -7,7 +7,7 @@ module Vagrant
|
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
OutputTester[:pe_available] = lambda do |text|
|
|
10
|
-
text =~ /puppet-enterprise-\d+\.\d\.\d-el-
|
|
10
|
+
text =~ /puppet-enterprise-\d+\.\d\.\d-el-7-x86_64\.tar\.gz/
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
end
|
|
@@ -25,7 +25,7 @@ describe 'vagrant CLI: pe-build', component: 'cli/pe-build' do
|
|
|
25
25
|
include_context 'webserver'
|
|
26
26
|
|
|
27
27
|
before(:each) do
|
|
28
|
-
environment.skeleton('
|
|
28
|
+
environment.skeleton('pe_latest_acceptance')
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
it 'can download archives from remote servers' do
|
|
@@ -35,7 +35,7 @@ describe 'vagrant CLI: pe-build', component: 'cli/pe-build' do
|
|
|
35
35
|
|
|
36
36
|
result = execute('vagrant', 'pe-build', 'copy',
|
|
37
37
|
"--release=#{options[:pe_latest]}",
|
|
38
|
-
"#{download_url}/puppet-enterprise-:version-el-
|
|
38
|
+
"#{download_url}/puppet-enterprise-:version-el-7-x86_64.tar.gz")
|
|
39
39
|
expect(result).to exit_with(0)
|
|
40
40
|
|
|
41
41
|
result = execute('vagrant', 'pe-build', 'list')
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
# NOTE: This acceptance suite actually uses 2016.1 as 2015.2
|
|
2
|
-
# the same installation workflow.
|
|
1
|
+
# NOTE: This acceptance suite actually uses 2016.1 as 2015.2 -- 2016.1 shared
|
|
2
|
+
# the same installation workflow. 2016.1.2 was the penultimate release for
|
|
3
|
+
# that workflow.
|
|
3
4
|
def set_resources box, max_ram=512, max_cpu=1
|
|
4
5
|
box.vm.provider :virtualbox do |vb|
|
|
5
6
|
vb.customize ["modifyvm", :id, "--cpus", max_cpu]
|
|
@@ -16,7 +17,7 @@ Vagrant.configure('2') do |config|
|
|
|
16
17
|
node.vm.box = 'centos'
|
|
17
18
|
# All-in-one master nodes need a generous amount of RAM for all the Java.
|
|
18
19
|
set_resources node, 4096, 1
|
|
19
|
-
node.vm.provision :shell, :inline =>
|
|
20
|
+
node.vm.provision :shell, :inline => "service iptables stop || true\niptables -F || true"
|
|
20
21
|
|
|
21
22
|
node.vm.network 'private_network', :ip => '10.20.1.100'
|
|
22
23
|
node.vm.provision :shell, :inline => 'echo "10.20.1.101 pe-20161-agent.pe-bootstrap.vlan" >> /etc/hosts'
|
|
@@ -11,63 +11,33 @@ Vagrant.configure('2') do |config|
|
|
|
11
11
|
config.pe_build.download_root = ENV['PE_BUILD_DOWNLOAD_ROOT']
|
|
12
12
|
config.ssh.insert_key = false
|
|
13
13
|
|
|
14
|
-
config.vm.define 'pe-
|
|
15
|
-
node.vm.hostname = 'pe-
|
|
14
|
+
config.vm.define 'pe-20164-master' do |node|
|
|
15
|
+
node.vm.hostname = 'pe-20164-master.pe-bootstrap.vlan'
|
|
16
16
|
node.vm.box = 'centos'
|
|
17
17
|
# All-in-one master nodes need a generous amount of RAM for all the Java.
|
|
18
18
|
set_resources node, 4096, 1
|
|
19
|
-
node.vm.provision :shell, :inline =>
|
|
19
|
+
node.vm.provision :shell, :inline => "service iptables stop || true\niptables -F || true"
|
|
20
20
|
|
|
21
21
|
node.vm.network 'private_network', :ip => '10.20.1.102'
|
|
22
|
-
node.vm.provision :shell, :inline => 'echo "10.20.1.103 pe-
|
|
22
|
+
node.vm.provision :shell, :inline => 'echo "10.20.1.103 pe-20164-agent.pe-bootstrap.vlan" >> /etc/hosts'
|
|
23
23
|
|
|
24
24
|
node.vm.provision :pe_bootstrap do |p|
|
|
25
|
-
p.version = '2016.
|
|
25
|
+
p.version = '2016.4.11'
|
|
26
26
|
p.role = :master
|
|
27
27
|
# Set autosign to false so that we can test pe_agent functionality.
|
|
28
28
|
p.autosign = false
|
|
29
29
|
end
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
config.vm.define 'pe-
|
|
33
|
-
node.vm.hostname = 'pe-
|
|
32
|
+
config.vm.define 'pe-20164-agent' do |node|
|
|
33
|
+
node.vm.hostname = 'pe-20164-agent.pe-bootstrap.vlan'
|
|
34
34
|
node.vm.box = 'ubuntu'
|
|
35
35
|
|
|
36
36
|
node.vm.network 'private_network', :ip => '10.20.1.103'
|
|
37
|
-
node.vm.provision :shell, :inline => 'echo "10.20.1.102 pe-
|
|
37
|
+
node.vm.provision :shell, :inline => 'echo "10.20.1.102 pe-20164-master.pe-bootstrap.vlan" >> /etc/hosts'
|
|
38
38
|
|
|
39
39
|
node.vm.provision :pe_agent do |p|
|
|
40
|
-
p.master_vm = 'pe-
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
config.vm.define 'pe-2016latest-master' do |node|
|
|
45
|
-
node.vm.hostname = 'pe-2016latest-master.pe-bootstrap.vlan'
|
|
46
|
-
node.vm.box = 'centos'
|
|
47
|
-
# All-in-one master nodes need a generous amount of RAM for all the Java.
|
|
48
|
-
set_resources node, 4096, 1
|
|
49
|
-
node.vm.provision :shell, :inline => 'service iptables stop'
|
|
50
|
-
|
|
51
|
-
node.vm.network 'private_network', :ip => '10.20.1.104'
|
|
52
|
-
node.vm.provision :shell, :inline => 'echo "10.20.1.105 pe-2016latest-agent.pe-bootstrap.vlan" >> /etc/hosts'
|
|
53
|
-
|
|
54
|
-
node.vm.provision :pe_bootstrap do |p|
|
|
55
|
-
p.version_file = 'LATEST'
|
|
56
|
-
p.role = :master
|
|
57
|
-
# Set autosign to false so that we can test pe_agent functionality.
|
|
58
|
-
p.autosign = false
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
config.vm.define 'pe-2016latest-agent' do |node|
|
|
63
|
-
node.vm.hostname = 'pe-2016latest-agent.pe-bootstrap.vlan'
|
|
64
|
-
node.vm.box = 'ubuntu'
|
|
65
|
-
|
|
66
|
-
node.vm.network 'private_network', :ip => '10.20.1.105'
|
|
67
|
-
node.vm.provision :shell, :inline => 'echo "10.20.1.104 pe-2016latest-master.pe-bootstrap.vlan" >> /etc/hosts'
|
|
68
|
-
|
|
69
|
-
node.vm.provision :pe_agent do |p|
|
|
70
|
-
p.master_vm = 'pe-2016latest-master'
|
|
40
|
+
p.master_vm = 'pe-20164-master'
|
|
71
41
|
end
|
|
72
42
|
end
|
|
73
43
|
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
def set_resources box, max_ram=512, max_cpu=1
|
|
2
|
+
box.vm.provider :virtualbox do |vb|
|
|
3
|
+
vb.customize ["modifyvm", :id, "--cpus", max_cpu]
|
|
4
|
+
vb.customize ["modifyvm", :id, "--memory", max_ram]
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
Vagrant.configure('2') do |config|
|
|
9
|
+
config.pe_build.download_root = ENV['PE_BUILD_DOWNLOAD_ROOT']
|
|
10
|
+
config.ssh.insert_key = false
|
|
11
|
+
|
|
12
|
+
config.vm.define 'pe-20181-master' do |node|
|
|
13
|
+
node.vm.hostname = 'pe-20181-master.pe-bootstrap.vlan'
|
|
14
|
+
node.vm.box = 'centos'
|
|
15
|
+
# All-in-one master nodes need a generous amount of RAM for all the Java.
|
|
16
|
+
set_resources node, 4096, 1
|
|
17
|
+
node.vm.provision :shell, :inline => "service iptables stop || true\niptables -F || true"
|
|
18
|
+
|
|
19
|
+
node.vm.network 'private_network', :ip => '10.20.1.104'
|
|
20
|
+
node.vm.provision :shell, :inline => 'echo "10.20.1.105 pe-20181-agent.pe-bootstrap.vlan" >> /etc/hosts'
|
|
21
|
+
|
|
22
|
+
node.vm.provision :pe_bootstrap do |p|
|
|
23
|
+
p.version = '2018.1.0'
|
|
24
|
+
p.role = :master
|
|
25
|
+
# Set autosign to false so that we can test pe_agent functionality.
|
|
26
|
+
p.autosign = false
|
|
27
|
+
# Tune memory usage down.
|
|
28
|
+
p.answer_extras = [<<-EOS
|
|
29
|
+
"puppet_enterprise::master::puppetserver::jruby_max_active_instances": 1
|
|
30
|
+
"puppet_enterprise::profile::master::java_args": {
|
|
31
|
+
"Xmx": "384m",
|
|
32
|
+
"Xms": "128m",
|
|
33
|
+
"XX:+UseG1GC": ""
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
"puppet_enterprise::puppetdb::command_processing_threads": 1
|
|
37
|
+
"puppet_enterprise::profile::puppetdb::java_args": {
|
|
38
|
+
"Xmx": "128m",
|
|
39
|
+
"Xms": "64m",
|
|
40
|
+
"XX:+UseG1GC": ""
|
|
41
|
+
}
|
|
42
|
+
"puppet_enterprise::profile::console::java_args": {
|
|
43
|
+
"Xmx": "64m"
|
|
44
|
+
"Xms": "64m"
|
|
45
|
+
"XX:+UseG1GC": ""
|
|
46
|
+
}
|
|
47
|
+
"puppet_enterprise::profile::database::shared_buffers": "4MB"
|
|
48
|
+
"puppet_enterprise::profile::orchestrator::java_args": {
|
|
49
|
+
"Xmx": "64m",
|
|
50
|
+
"Xms": "64m",
|
|
51
|
+
"XX:+UseG1GC": ""
|
|
52
|
+
}
|
|
53
|
+
EOS
|
|
54
|
+
]
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
config.vm.define 'pe-20181-agent' do |node|
|
|
59
|
+
node.vm.hostname = 'pe-20181-agent.pe-bootstrap.vlan'
|
|
60
|
+
node.vm.box = 'ubuntu'
|
|
61
|
+
|
|
62
|
+
node.vm.network 'private_network', :ip => '10.20.1.105'
|
|
63
|
+
node.vm.provision :shell, :inline => 'echo "10.20.1.104 pe-20181-master.pe-bootstrap.vlan" >> /etc/hosts'
|
|
64
|
+
|
|
65
|
+
node.vm.provision :pe_agent do |p|
|
|
66
|
+
p.master_vm = 'pe-20181-master'
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -17,18 +17,7 @@ Vagrant.configure('2') do |config|
|
|
|
17
17
|
set_resources node, 4096, 1
|
|
18
18
|
|
|
19
19
|
node.vm.provision :pe_bootstrap do |p|
|
|
20
|
-
p.version = '3.8.
|
|
21
|
-
p.role = :master
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
config.vm.define 'pe-latest' do |node|
|
|
26
|
-
node.vm.hostname = 'pe-latest.pe-bootstrap.vlan'
|
|
27
|
-
# All-in-one master nodes need a generous amount of RAM for all the Java.
|
|
28
|
-
set_resources node, 4096, 1
|
|
29
|
-
|
|
30
|
-
node.vm.provision :pe_bootstrap do |p|
|
|
31
|
-
p.version_file = 'LATEST_3x'
|
|
20
|
+
p.version = '3.8.7'
|
|
32
21
|
p.role = :master
|
|
33
22
|
end
|
|
34
23
|
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
def set_resources box, max_ram=512, max_cpu=1
|
|
2
|
+
box.vm.provider :virtualbox do |vb|
|
|
3
|
+
vb.customize ["modifyvm", :id, "--cpus", max_cpu]
|
|
4
|
+
vb.customize ["modifyvm", :id, "--memory", max_ram]
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
Vagrant.configure('2') do |config|
|
|
9
|
+
config.pe_build.download_root = ENV['PE_BUILD_DOWNLOAD_ROOT']
|
|
10
|
+
config.ssh.insert_key = false
|
|
11
|
+
|
|
12
|
+
config.vm.define 'pe-latest-master' do |node|
|
|
13
|
+
node.vm.hostname = 'pe-latest-master.pe-bootstrap.vlan'
|
|
14
|
+
node.vm.box = 'centos'
|
|
15
|
+
# All-in-one master nodes need a generous amount of RAM for all the Java.
|
|
16
|
+
set_resources node, 4096, 1
|
|
17
|
+
node.vm.provision :shell, :inline => "service iptables stop || true\niptables -F || true"
|
|
18
|
+
|
|
19
|
+
node.vm.network 'private_network', :ip => '10.20.1.106'
|
|
20
|
+
node.vm.provision :shell, :inline => 'echo "10.20.1.107 pe-latest-agent.pe-bootstrap.vlan" >> /etc/hosts'
|
|
21
|
+
|
|
22
|
+
node.vm.provision :pe_bootstrap do |p|
|
|
23
|
+
p.version_file = 'LATEST'
|
|
24
|
+
p.role = :master
|
|
25
|
+
# Set autosign to false so that we can test pe_agent functionality.
|
|
26
|
+
p.autosign = false
|
|
27
|
+
# Tune memory usage down.
|
|
28
|
+
p.answer_extras = [<<-EOS
|
|
29
|
+
"puppet_enterprise::master::puppetserver::jruby_max_active_instances": 1
|
|
30
|
+
"puppet_enterprise::profile::master::java_args": {
|
|
31
|
+
"Xmx": "384m",
|
|
32
|
+
"Xms": "128m",
|
|
33
|
+
"XX:+UseG1GC": ""
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
"puppet_enterprise::puppetdb::command_processing_threads": 1
|
|
37
|
+
"puppet_enterprise::profile::puppetdb::java_args": {
|
|
38
|
+
"Xmx": "128m",
|
|
39
|
+
"Xms": "64m",
|
|
40
|
+
"XX:+UseG1GC": ""
|
|
41
|
+
}
|
|
42
|
+
"puppet_enterprise::profile::console::java_args": {
|
|
43
|
+
"Xmx": "64m"
|
|
44
|
+
"Xms": "64m"
|
|
45
|
+
"XX:+UseG1GC": ""
|
|
46
|
+
}
|
|
47
|
+
"puppet_enterprise::profile::database::shared_buffers": "4MB"
|
|
48
|
+
"puppet_enterprise::profile::orchestrator::java_args": {
|
|
49
|
+
"Xmx": "64m",
|
|
50
|
+
"Xms": "64m",
|
|
51
|
+
"XX:+UseG1GC": ""
|
|
52
|
+
}
|
|
53
|
+
EOS
|
|
54
|
+
]
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
config.vm.define 'pe-latest-agent' do |node|
|
|
59
|
+
node.vm.hostname = 'pe-latest-agent.pe-bootstrap.vlan'
|
|
60
|
+
node.vm.box = 'ubuntu'
|
|
61
|
+
|
|
62
|
+
node.vm.network 'private_network', :ip => '10.20.1.107'
|
|
63
|
+
node.vm.provision :shell, :inline => 'echo "10.20.1.106 pe-latest-master.pe-bootstrap.vlan" >> /etc/hosts'
|
|
64
|
+
|
|
65
|
+
node.vm.provision :pe_agent do |p|
|
|
66
|
+
p.master_vm = 'pe-latest-master'
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
data/lib/pe_build/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
$LOAD_PATH.unshift File.expand_path('
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
|
2
2
|
|
|
3
3
|
# Disable Vagrant autoloading so that other plugins defined in the Gemfile for
|
|
4
4
|
# Acceptance tests are not loaded.
|
|
5
5
|
ENV['VAGRANT_NO_PLUGINS'] = '1'
|
|
6
|
+
ENV['VAGRANT_DISABLE_PLUGIN_INIT'] = '1'
|
|
6
7
|
|
|
7
8
|
require 'vagrant-spec/unit'
|
|
8
9
|
require 'pe_build'
|
data/tasks/acceptance.rake
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
namespace :acceptance do
|
|
2
2
|
ARTIFACT_DIR = File.join('acceptance', 'artifacts')
|
|
3
3
|
TEST_BOXES = {
|
|
4
|
-
'centos-virtualbox.box' => 'https://s3.amazonaws.com/puppetlabs-vagrantcloud/centos-
|
|
4
|
+
'centos-virtualbox.box' => 'https://s3.amazonaws.com/puppetlabs-vagrantcloud/centos-7.2-x86_64-virtualbox-nocm-1.0.1.box',
|
|
5
5
|
'ubuntu-virtualbox.box' => 'https://s3.amazonaws.com/puppetlabs-vagrantcloud/ubuntu-14.04-x86_64-virtualbox-nocm-1.0.3.box'
|
|
6
6
|
}
|
|
7
7
|
|
data/vagrant-pe_build.gemspec
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
|
|
2
|
+
|
|
3
|
+
# Prevent tests from attempting to load plugins from a Vagrant install
|
|
4
|
+
# that may exist on the host system. We load required plugins below.
|
|
5
|
+
ENV['VAGRANT_DISABLE_PLUGIN_INIT'] = '1'
|
|
6
|
+
|
|
1
7
|
require 'pathname'
|
|
2
8
|
require 'vagrant-spec/acceptance'
|
|
9
|
+
require 'vagrant-pe_build'
|
|
3
10
|
|
|
4
11
|
require_relative 'spec/shared/helpers/webserver_context'
|
|
5
12
|
|
|
@@ -13,7 +20,7 @@ Vagrant::Spec::Acceptance.configure do |c|
|
|
|
13
20
|
boxes: Dir[acceptance_dir + 'artifacts' + '*-virtualbox.box'],
|
|
14
21
|
# This folder should be filled with PE tarballs for CentOS.
|
|
15
22
|
archive_path: (acceptance_dir + 'artifacts' + 'pe_archives').to_s,
|
|
16
|
-
pe_latest: '
|
|
23
|
+
pe_latest: '2018.1.0',
|
|
17
24
|
env_vars: {
|
|
18
25
|
'VBOX_USER_HOME' => '{{homedir}}',
|
|
19
26
|
}
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vagrant-pe_build
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.17.
|
|
4
|
+
version: 0.17.13
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adrien Thebo
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2018-
|
|
12
|
+
date: 2018-06-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: ruby-progressbar
|
|
@@ -53,20 +53,6 @@ dependencies:
|
|
|
53
53
|
- - "~>"
|
|
54
54
|
- !ruby/object:Gem::Version
|
|
55
55
|
version: '10.0'
|
|
56
|
-
- !ruby/object:Gem::Dependency
|
|
57
|
-
name: rspec
|
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
|
59
|
-
requirements:
|
|
60
|
-
- - "~>"
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 2.14.0
|
|
63
|
-
type: :development
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - "~>"
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: 2.14.0
|
|
70
56
|
description:
|
|
71
57
|
email:
|
|
72
58
|
- adrien@somethingsinistral.net
|
|
@@ -86,12 +72,15 @@ files:
|
|
|
86
72
|
- Rakefile
|
|
87
73
|
- acceptance/pe_build/pe_bootstrap_2015x_spec.rb
|
|
88
74
|
- acceptance/pe_build/pe_bootstrap_2016x_spec.rb
|
|
75
|
+
- acceptance/pe_build/pe_bootstrap_2018x_spec.rb
|
|
89
76
|
- acceptance/pe_build/pe_bootstrap_3x_spec.rb
|
|
90
77
|
- acceptance/pe_build/pe_bootstrap_latest_spec.rb
|
|
91
78
|
- acceptance/pe_build/pe_build_cli_spec.rb
|
|
92
79
|
- acceptance/skeletons/2015x_acceptance/Vagrantfile
|
|
93
80
|
- acceptance/skeletons/2016x_acceptance/Vagrantfile
|
|
94
|
-
- acceptance/skeletons/
|
|
81
|
+
- acceptance/skeletons/2018x_acceptance/Vagrantfile
|
|
82
|
+
- acceptance/skeletons/3x_acceptance/Vagrantfile
|
|
83
|
+
- acceptance/skeletons/pe_latest_acceptance/Vagrantfile
|
|
95
84
|
- data/vagrant-pe_build/files/GPG-KEY-puppetlabs
|
|
96
85
|
- doc/answers/README.markdown
|
|
97
86
|
- doc/answers/agent.txt
|