vagrant-pe_build 0.15.1 → 0.15.3

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: 8dc01290aa45e6619f916cdb4d4ca76a93cf8fe1
4
- data.tar.gz: e2a29d63fed2279bb649327c55c8d74add771839
3
+ metadata.gz: ef07f4d89435b9eb7f7d8d85346e843b604177cb
4
+ data.tar.gz: 2d276c12ea1fa160e618485e79bfc2f5687b2439
5
5
  SHA512:
6
- metadata.gz: 329f0132800aa03e946e2b899846d046f4297d5611d500d553c35f6972e57cdfccb3691a2bec3ee55f954275e726d5d39a2f5f68ce2b4b62384355c2450ed4af
7
- data.tar.gz: b1174987581eaa70ab99ad200fdda48be9617ac30fffb29bac7b2b5e437915f90f9aad2c60ad557eb52d9cb5defc149a792ee93a256f0aec16a2848c5e855e8b
6
+ metadata.gz: 1589ad3fdf7cffa79d25627afb5ecb563af2d47ba6f46bf24517a3033a4ef4773c96c0db48aa464b6ae6ad205c6ec850209fa8a29fac0282cfdeaf0192331d57
7
+ data.tar.gz: 085b4f55a2a087a8cac1078b3308f96390044e861369ae243bb8019022cf4bc85428040edc40fe16d8295c6244bec88a566ebb350e4e5aa8e28574aa2811bbf6
data/.travis.yml CHANGED
@@ -20,6 +20,6 @@ matrix:
20
20
  env: TEST_VAGRANT_VERSION=v1.7.4 BUNDLER_VERSION=1.10.5
21
21
 
22
22
  - rvm: 2.2.3
23
- env: TEST_VAGRANT_VERSION=v1.8.4 BUNDLER_VERSION=1.12.5
23
+ env: TEST_VAGRANT_VERSION=v1.8.5 BUNDLER_VERSION=1.12.5
24
24
  - rvm: 2.2.3
25
25
  env: TEST_VAGRANT_VERSION=HEAD BUNDLER_VERSION=1.12.5
data/CHANGELOG CHANGED
@@ -1,6 +1,28 @@
1
1
  vagrant-pe_build
2
2
  ================
3
3
 
4
+ 0.15.3
5
+ ------
6
+
7
+ 2016-07-19
8
+
9
+ This is a backwards compatible bugfix release.
10
+
11
+ * (GH-122,GH-123,GH-124) Re-work GPG fix to address issues with the
12
+ installation process.
13
+
14
+ 0.15.2 -- yanked
15
+ ----------------
16
+
17
+ 2016-07-12
18
+
19
+ **NOTE:** Yanked on 7/18/2016 due to breaking issues caused by the GPG fix.
20
+
21
+ This is a backwards compatible bugfix release.
22
+
23
+ * (GH-120) Fix expired GPG package signing key bundled with PE releases
24
+ shipped prior to April 29th, 2016.
25
+
4
26
  0.15.1
5
27
  ------
6
28
 
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- ENV['TEST_VAGRANT_VERSION'] ||= 'v1.8.4'
3
+ ENV['TEST_VAGRANT_VERSION'] ||= 'v1.8.5'
4
4
 
5
5
  # Wrapping gemspec in the :plugins group causes Vagrant 1.5 and newer to
6
6
  # automagically load this plugin during acceptance tests.
@@ -18,6 +18,9 @@ group :test do
18
18
  gem 'vagrant', :github => 'mitchellh/vagrant', :branch => 'master'
19
19
  else
20
20
  gem 'vagrant', :github => 'mitchellh/vagrant', :tag => ENV['TEST_VAGRANT_VERSION']
21
+ # FIXME: Hack to allow Vagrant v1.6.5 to install for tests. Remove when
22
+ # support for 1.6.5 is dropped.
23
+ gem 'rack', '< 2'
21
24
  end
22
25
 
23
26
  # Pinned on 12/10/2014. Compatible with Vagrant 1.6.x, 1.7.x and 1.8.x.
@@ -9,6 +9,7 @@ end
9
9
 
10
10
  Vagrant.configure('2') do |config|
11
11
  config.pe_build.download_root = ENV['PE_BUILD_DOWNLOAD_ROOT']
12
+ config.ssh.insert_key = false
12
13
 
13
14
  config.vm.define 'pe-20161-master' do |node|
14
15
  node.vm.hostname = 'pe-20161-master.pe-bootstrap.vlan'
@@ -9,6 +9,7 @@ end
9
9
 
10
10
  Vagrant.configure('2') do |config|
11
11
  config.pe_build.download_root = ENV['PE_BUILD_DOWNLOAD_ROOT']
12
+ config.ssh.insert_key = false
12
13
 
13
14
  config.vm.define 'pe-20162-master' do |node|
14
15
  node.vm.hostname = 'pe-20162-master.pe-bootstrap.vlan'
@@ -7,6 +7,7 @@ end
7
7
 
8
8
  Vagrant.configure('2') do |config|
9
9
  config.pe_build.download_root = ENV['PE_BUILD_DOWNLOAD_ROOT']
10
+ config.ssh.insert_key = false
10
11
  # This is the box name used by the setup helpers in the acceptance tests.
11
12
  config.vm.box = 'centos'
12
13
 
@@ -0,0 +1,77 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+ Version: GnuPG v1
3
+
4
+ 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
75
+ bvHQdAXF9w==
76
+ =t3lA
77
+ -----END PGP PUBLIC KEY BLOCK-----
@@ -10,15 +10,35 @@ class PEBuild::Cap::RunInstall::POSIX
10
10
  # @param installer_dir [String] A path to the directory where PE installers
11
11
  # are kept.
12
12
  # @param answers [String] A path to a file containing installation answers.
13
- # @option options [Boolean] A flag which controls whether the PEM installer
14
- # introduced in 2016.2 should be used.
13
+ #
14
+ # @param options [Hash] Additional options that influence installer behavior.
15
+ # @option options [Boolean] :use_pem A flag which controls whether the PEM
16
+ # installer introduced in 2016.2 should be used.
17
+ # @option options [Boolean] :update_gpg A flag which controls whether the
18
+ # GPG key shipped with th
19
+ # installer introduced in 2016.2 should be used.
15
20
  #
16
21
  # @return [void]
17
22
  def self.run_install(machine, installer_path, answers, **options)
23
+
18
24
  if options.fetch(:use_pem, false)
19
- on_machine(machine, "#{installer_path} -c #{answers}")
25
+ on_machine(machine, "#{installer_path}/puppet-enterprise-installer -c #{answers}")
20
26
  else
21
- on_machine(machine, "#{installer_path} -a #{answers}")
27
+ on_machine(machine, "#{installer_path}/puppet-enterprise-installer -a #{answers}")
28
+ end
29
+
30
+ # Update GPG key used by pe_repo.
31
+ if options.fetch(:update_gpg, false)
32
+ machine.ui.info I18n.t('pebuild.cap.run_install.updating_pe_repo_gpg_key')
33
+ on_machine(machine, <<-EOS)
34
+ if [ -e #{installer_path}/gpg/GPG-KEY-puppetlabs ]; then
35
+ if [ -e /opt/puppetlabs/puppet/modules/pe_repo ]; then
36
+ cp #{installer_path}/gpg/GPG-KEY-puppetlabs /opt/puppetlabs/puppet/modules/pe_repo/files/GPG-KEY-puppetlabs
37
+ elif [ -e /opt/puppet/share/puppet/modules/pe_repo ]; then
38
+ cp #{installer_path}/gpg/GPG-KEY-puppetlabs /opt/puppet/share/puppet/modules/pe_repo/files/GPG-KEY-puppetlabs
39
+ fi
40
+ fi
41
+ EOS
22
42
  end
23
43
 
24
44
  if machine.communicate.test('which at')
@@ -11,6 +11,8 @@ class PEBuild::Cap::RunInstall::Windows
11
11
  # @param answers [Hash[String => String}] A hash of options that will be
12
12
  # passed to msiexec as `key=value` pairs.
13
13
  #
14
+ # @param options [Hash] Additional options that influence installer behavior.
15
+ #
14
16
  # @return [void]
15
17
  def self.run_install(machine, installer_path, answers, **options)
16
18
  install_options = answers.map{|e| e.join('=')}.join(' ')
@@ -182,22 +182,42 @@ module PEBuild
182
182
  'PUPPET_AGENT_CERTNAME' => machine.name,
183
183
  }
184
184
 
185
+ # These options are only used on POSIX nodes.
185
186
  use_pem = false
187
+ update_gpg = false
186
188
  else
187
189
  if @config.shared_installer
188
190
  root = File.join('/vagrant', PEBuild::WORK_DIR)
189
- installer_path = File.join(root, @archive.installer_dir, 'puppet-enterprise-installer')
191
+ installer_path = File.join(root, @archive.installer_dir)
190
192
  answers = File.join(root, 'answers', "#{machine.name}.txt")
191
193
  else
192
- installer_path = File.join(@archive.installer_dir, 'puppet-enterprise-installer')
193
- answers = File.join("#{machine.name}.txt")
194
+ installer_path = @archive.installer_dir
195
+ answers = "#{machine.name}.txt"
194
196
  end
195
197
 
196
198
  # Run a PEM install if the PE version is 2016.2.0 or newer.
197
199
  use_pem = (PEBuild::Util::VersionString.compare(@config.version, '2016.2.0') >= 0)
200
+
201
+ # PE versions shipped prior to April 29th, 2016 were packaged with a
202
+ # GPG key that expired on July 8th, 2016.
203
+ update_gpg = (PEBuild::Util::VersionString.compare(@config.version, '3.8.5') < 0) ||
204
+ ((PEBuild::Util::VersionString.compare(@config.version, '2015.2.0') >= 0) &&
205
+ (PEBuild::Util::VersionString.compare(@config.version, '2016.1.2') < 0))
206
+
207
+ if update_gpg
208
+ machine.ui.info(
209
+ I18n.t('pebuild.provisioner.pe_bootstrap.updating_gpg_key',
210
+ :version => @config.version))
211
+ machine.communicate.upload(
212
+ File.join(
213
+ PEBuild.source_root,
214
+ 'data', 'vagrant-pe_build', 'files', 'GPG-KEY-puppetlabs'),
215
+ "#{installer_path}/gpg/GPG-KEY-puppetlabs")
216
+ end
198
217
  end
199
218
 
200
- machine.guest.capability('run_install', installer_path, answers, use_pem: use_pem)
219
+ machine.guest.capability('run_install', installer_path, answers,
220
+ use_pem: use_pem, update_gpg: update_gpg)
201
221
  end
202
222
 
203
223
  def run_postinstall_tasks
@@ -1,3 +1,3 @@
1
1
  module PEBuild
2
- VERSION = '0.15.1'
2
+ VERSION = '0.15.3'
3
3
  end
@@ -26,6 +26,8 @@ en:
26
26
  "%{message}"
27
27
  provisioner:
28
28
  pe_bootstrap:
29
+ updating_gpg_key: |-
30
+ Updating expired GPG key bundled with PE %{version} installer.
29
31
  post_install: |-
30
32
  Applying post-install configuration to Puppet Enterprise.
31
33
  already_installed: |-
@@ -134,6 +136,8 @@ en:
134
136
  Downloading PE installer from:
135
137
  %{url}
136
138
  run_install:
139
+ updating_pe_repo_gpg_key:
140
+ Updating GPG keys used by pe_repo.
137
141
  scheduling_run: |-
138
142
  Scheduling Puppet run to kickstart node classification.
139
143
  detect_installer:
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.15.1
4
+ version: 0.15.3
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: 2016-06-21 00:00:00.000000000 Z
12
+ date: 2016-07-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: progressbar
@@ -92,6 +92,7 @@ files:
92
92
  - acceptance/skeletons/2015x_acceptance/Vagrantfile
93
93
  - acceptance/skeletons/2016x_acceptance/Vagrantfile
94
94
  - acceptance/skeletons/pe_build/Vagrantfile
95
+ - data/vagrant-pe_build/files/GPG-KEY-puppetlabs
95
96
  - doc/answers/README.markdown
96
97
  - doc/answers/agent.txt
97
98
  - doc/answers/master-1.1.txt