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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dde8e4aa63e9b8d3f770bb753a348d0cbc9fa3ea
4
- data.tar.gz: 94a24d49a2f103c405c5c81342b927f84adf4455
3
+ metadata.gz: 91347d9421c7137507136b843bc30f25028aebe9
4
+ data.tar.gz: 8f0de603d2c7ef226253fcb673db247906327eed
5
5
  SHA512:
6
- metadata.gz: 2a3606b19d532d2e3dc215a75c8201f4324798382429897b322eaea83a97a01b2af10b5f7acc082b6eadb787a9e5d0159b1ef892594dd3a7fb68cf3b1c688449
7
- data.tar.gz: d2a88998ccb15582d0ee99fc08677bae038b99ff52d687f022150e44d6c6760e8ffdc785c130715a2dcc5f7a2ea86d13a894d85b15f9e4ae9e0be7e1979db4cb
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.3
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'] || 'v1.9.8'
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 > Gem::Version.new('1.9.3'))
30
- # Pinned on 4/11/2017. Compatible with Vagrant > 1.9.3.
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 => '1d09951'
32
+ :ref => '9413ab2'
33
33
  elsif vagrant_version
34
- # Pinned on 12/10/2014. Compatible with Vagrant 1.6.x -- 1.9.3.
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 and 2015.3 shared
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
- assert_execute('vagrant', 'destroy', '--force', log: false)
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
- assert_execute('vagrant', 'destroy', '--force', log: false)
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.2.x' do
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-20162-master')
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-20162-master',
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-20162-agent')
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-20162-master',
54
- '-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-20162-agent.pe-bootstrap.vlan')
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-20162-agent')
58
+ result = assert_execute('vagrant', 'destroy', '-f', 'pe-20164-agent')
59
59
  result = execute('vagrant', 'ssh',
60
- 'pe-20162-master',
61
- '-c', 'sudo /opt/puppetlabs/bin/puppet cert list pe-20162-agent.pe-bootstrap.vlan')
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('pe_build')
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
- assert_execute('vagrant', 'destroy', '--force', log: false)
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'] = "http://localhost:#{webserver_port}"
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
- environment.skeleton('pe_build')
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
- assert_execute('vagrant', 'destroy', '--force', log: false)
28
+ execute('vagrant', 'destroy', '--force')
31
29
  end
32
30
 
33
- context 'when installing LATEST from a build server' do
34
- it 'provisions with pe_build' do
35
- assert_execute('vagrant', 'up', "--provider=#{provider}", 'pe-latest')
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-6-x86_64\.tar\.gz/
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('pe_build')
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-6-x86_64.tar.gz")
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 and 2015.3 shared
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 => 'service iptables stop'
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-20162-master' do |node|
15
- node.vm.hostname = 'pe-20162-master.pe-bootstrap.vlan'
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 => 'service iptables stop'
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-20162-agent.pe-bootstrap.vlan" >> /etc/hosts'
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.2.0'
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-20162-agent' do |node|
33
- node.vm.hostname = 'pe-20162-agent.pe-bootstrap.vlan'
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-20162-master.pe-bootstrap.vlan" >> /etc/hosts'
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-20162-master'
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.5'
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
@@ -38,4 +38,6 @@ module PEBuild::Release
38
38
  @releases['2016.4.9'] = twentysixteen_four_x
39
39
  @releases['2016.4.10'] = twentysixteen_four_x
40
40
  @releases['2016.4.11'] = twentysixteen_four_x
41
+ # RIP. 2016.4.12
42
+ @releases['2016.4.13'] = twentysixteen_four_x
41
43
  end
@@ -32,4 +32,6 @@ module PEBuild::Release
32
32
  @releases['2017.3.4'] = twentyseventeen_three_x
33
33
  @releases['2017.3.5'] = twentyseventeen_three_x
34
34
  @releases['2017.3.6'] = twentyseventeen_three_x
35
+ # RIP. 2017.3.7
36
+ @releases['2017.3.8'] = twentyseventeen_three_x
35
37
  end
@@ -28,4 +28,6 @@ module PEBuild::Release
28
28
  end
29
29
 
30
30
  @releases['2018.1.0'] = twentyeighteen_one_x
31
+ # RIP. 2018.1.1
32
+ @releases['2018.1.2'] = twentyeighteen_one_x
31
33
  end
@@ -1,3 +1,3 @@
1
1
  module PEBuild
2
- VERSION = '0.17.12'.freeze
2
+ VERSION = '0.17.13'.freeze
3
3
  end
@@ -17,6 +17,7 @@ shared_context 'webserver' do
17
17
 
18
18
  @server = WEBrick::HTTPServer.new(
19
19
  AccessLog: [],
20
+ BindAddress: '127.0.0.1',
20
21
  Port: webserver_port,
21
22
  DocumentRoot: webserver_path,
22
23
  MimeTypes: mime_types)
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,9 @@
1
- $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
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'
@@ -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-6.6-x86_64-virtualbox-nocm-1.0.3.box',
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
 
@@ -22,6 +22,4 @@ Gem::Specification.new do |gem|
22
22
  gem.add_runtime_dependency 'minitar', '~> 0.6.1'
23
23
 
24
24
  gem.add_development_dependency 'rake', '~> 10.0'
25
- # Pin to 2.14.x for compatibility with vagrant-spec.
26
- gem.add_development_dependency 'rspec', '~> 2.14.0'
27
25
  end
@@ -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: '2016.2.0',
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.12
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-05-02 00:00:00.000000000 Z
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/pe_build/Vagrantfile
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