vagrant-pe_build 0.15.1 → 0.15.3

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