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 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