vagrant-pe_build 0.17.12 → 0.17.13
Sign up to get free protection for your applications and to get access to all the features.
- 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
|