beaker-pe 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZTFkZTk0ODM1OWJkODQyM2M0NDVkNTA2MWIxN2FlYjU5MWI3MjRjMg==
4
+ OTEwNTk1YmQyODUyN2JkYzVmYzAzN2U2OGE5NDUwMWY4ZWIwODc4MQ==
5
5
  data.tar.gz: !binary |-
6
- NDNlMmY2MDBiZjMxNjE0NTUzZTI3YzBiZmJlNjA0OTRlYjAxMzQxYw==
6
+ NGZmNjljOThhNGU1MjAwZDk0MGZmYzZkZWE1YzBkNjFlZmNmMTBmMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YjcwOTkwYTE2ZTIxNzdmZWVmM2JkODM3MzhmMzlmYTIzZWEwMTNhMmYxMDAz
10
- YTdkMmIzZTBmN2YyMTI1ZWJmMDkyYWQwN2NlMjQ0NTAyODZmMzEzODJkOTEz
11
- YWVhN2YwNmYzNzRjNWY3OGE0OTI0YjNlZGJiMWQyYTg4MDliZDc=
9
+ MDI1Y2FlNjQyOThhZjNmNDVjNjQxZjg4MDJmMmRkOTc0MjZmNjgxOWU0MTQ4
10
+ MTk2YzQ5ZThlNDNjMGM5MjMwMzA2NWJlYmY3MjVlNTE0NGIwYzBjMzE4MzEy
11
+ ZWUwODBiODk3NTVjYzJiZDEwNDQ1ZjZmYTk3NjBlY2EzNTk3OWQ=
12
12
  data.tar.gz: !binary |-
13
- MWIxN2ZmZTc2NDE3MTE5NWNmMTY2OWRhYTUyZjcxZTRhZjNiNjU1NDZjMjcw
14
- OTlhYmMyNWRiOWY5NDc5YTUyYzgxMDFlM2MyOWU3MDNlYzgxZTNlMjhkNmMw
15
- NGI2MTRlMjc2MDAzY2YwN2E1MDBlNzQzMTMzMDI3MjRlNjllMjE=
13
+ YzJiNDQwZTY5YTdkMmZmYTU5MTg3MWI5NGJhZjZhNGE0MzJkOGMwZTUxYjk0
14
+ MWQ3MzY0NmQ4MzYyMDc4OTFkYTk2YjlhZDIwYjk4Yjc1MzZhYWYzNjUwNWY1
15
+ MWRhZTFhM2ExNjVlMzJmNmIyMDc0NTMwMmI2YTg0OTQwMzdhYzI=
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # default - History
2
2
  ## Tags
3
- * [LATEST - 15 Jun, 2016 (985fe231)](#LATEST)
3
+ * [LATEST - 11 Jul, 2016 (48b663eb)](#LATEST)
4
+ * [0.5.0 - 15 Jun, 2016 (8f2874fe)](#0.5.0)
4
5
  * [0.4.0 - 1 Jun, 2016 (f5ad1884)](#0.4.0)
5
6
  * [0.3.0 - 26 May, 2016 (0d6b6d4c)](#0.3.0)
6
7
  * [0.2.0 - 18 May, 2016 (a65f2083)](#0.2.0)
@@ -9,7 +10,39 @@
9
10
  * [0.1.0 - 29 Feb, 2016 (4fc88d8c)](#0.1.0)
10
11
 
11
12
  ## Details
12
- ### <a name = "LATEST">LATEST - 15 Jun, 2016 (985fe231)
13
+ ### <a name = "LATEST">LATEST - 11 Jul, 2016 (48b663eb)
14
+
15
+ * (GEM) update beaker-pe version to 0.6.0 (48b663eb)
16
+
17
+ * Merge pull request #14 from ericwilliamson/task/master/PE-16566-download-gpg-key (99c5008f)
18
+
19
+
20
+ ```
21
+ Merge pull request #14 from ericwilliamson/task/master/PE-16566-download-gpg-key
22
+
23
+ (PE-16566) Add method to download life support gpg key
24
+ ```
25
+ * (PE-16566) Add method to download life support gpg key (df1f14bf)
26
+
27
+
28
+ ```
29
+ (PE-16566) Add method to download life support gpg key
30
+
31
+ As of July 8th, 2016 the GPG key that was shipped with and used to sign
32
+ repos inside of PE tarballs expired. A new life support key was created
33
+ that extended the expiration date to Jan 2017. That key shipped with PE
34
+ 3.8.5 and 2016.1.2.
35
+
36
+ apt based platforms appear to be the only package manager failing due to
37
+ an expired key, while rpm is fine.
38
+
39
+ This commit adds a new helper method to additionally download and
40
+ install the extended key for PE versions that have already been released
41
+ and are needing to be tested.
42
+ ```
43
+ ### <a name = "0.5.0">0.5.0 - 15 Jun, 2016 (8f2874fe)
44
+
45
+ * (HISTORY) update beaker-pe history for gem release 0.5.0 (8f2874fe)
13
46
 
14
47
  * (GEM) update beaker-pe version to 0.5.0 (985fe231)
15
48
 
@@ -352,6 +352,11 @@ module Beaker
352
352
  hosts_agent_only, hosts_not_agent_only = [], hosts.dup
353
353
  end
354
354
 
355
+ # On July 8th, 2016, the GPG key used to sign repos inside PE tarballs
356
+ # expired. Add a temporary, extended key to the host first so that it
357
+ # can still install those old PE tarballs.
358
+ add_extended_gpg_key_to_hosts(hosts, opts)
359
+
355
360
  # Set PE distribution for all the hosts, create working dir
356
361
  use_all_tar = ENV['PE_USE_ALL_TAR'] == 'true'
357
362
  hosts.each do |host|
@@ -516,6 +521,26 @@ module Beaker
516
521
  !version_is_less(version, MEEP_CUTOVER_VERSION)
517
522
  end
518
523
 
524
+ # On July 8th, 2016, the gpg key that was shipped and used to sign repos in
525
+ # PE tarballs expired. This affects all PE version earlier then 3.8.5, and
526
+ # versions between 2015.2 to 2016.1.2.
527
+ #
528
+ # PE 3.8.5 and 2016.1.2 shipped with a version of the key that had it's
529
+ # expiration date extended by 6 months (to Janurary 2017).
530
+ def add_extended_gpg_key_to_hosts(hosts, opts)
531
+ hosts.each do |host|
532
+ # RPM based platforms do not seem to be effected by an expired GPG key,
533
+ # while deb based platforms are failing.
534
+ if host['platform'] =~ /debian|ubuntu/
535
+ host_ver = host['pe_ver'] || opts['pe_ver']
536
+
537
+ if version_is_less(host_ver, '3.8.5') || (!version_is_less(host_ver, '2015.2.0') && version_is_less(host_ver, '2016.1.2'))
538
+ on(host, 'curl http://apt.puppetlabs.com/pubkey.gpg | apt-key add -')
539
+ end
540
+ end
541
+ end
542
+ end
543
+
519
544
  # Set installer options on the passed *host* according to current
520
545
  # version.
521
546
  #
@@ -3,7 +3,7 @@ module Beaker
3
3
  module PE
4
4
 
5
5
  module Version
6
- STRING = '0.5.0'
6
+ STRING = '0.6.0'
7
7
  end
8
8
 
9
9
  end
@@ -444,6 +444,79 @@ describe ClassMixedWithDSLInstallUtils do
444
444
  end
445
445
  end
446
446
 
447
+ describe 'add_extended_gpg_key_to_hosts' do
448
+ let(:on_cmd) { 'curl http://apt.puppetlabs.com/pubkey.gpg | apt-key add -' }
449
+ let(:deb_host) do
450
+ host = hosts.first
451
+ host['platform'] = 'debian'
452
+ host
453
+ end
454
+
455
+ context 'mixed platforms' do
456
+ before(:each) do
457
+ hosts[0]['platform'] = 'centos'
458
+ hosts[1]['platform'] = 'debian'
459
+ hosts[2]['platform'] = 'ubuntu'
460
+ end
461
+
462
+ it 'does nothing on el platforms' do
463
+ expect(subject).not_to receive(:on).with(hosts[0], on_cmd)
464
+ subject.add_extended_gpg_key_to_hosts(hosts, opts)
465
+ end
466
+
467
+ it 'installs key on debian based platforms' do
468
+ expect(subject).to receive(:on).with(hosts[1], on_cmd)
469
+ expect(subject).to receive(:on).with(hosts[2], on_cmd)
470
+ subject.add_extended_gpg_key_to_hosts(hosts, opts)
471
+ end
472
+ end
473
+
474
+ context 'mixed pe_versions' do
475
+ before(:each) do
476
+ hosts[0]['platform'] = 'debian'
477
+ hosts[0]['pe_ver'] = '2016.2.0'
478
+ hosts[1]['platform'] = 'debian'
479
+ hosts[1]['pe_ver'] = '3.8.4'
480
+ end
481
+
482
+ it 'adds key to required hosts' do
483
+ expect(subject).not_to receive(:on).with(hosts[0], on_cmd)
484
+ expect(subject).to receive(:on).with(hosts[1], on_cmd)
485
+ subject.add_extended_gpg_key_to_hosts(hosts, opts)
486
+ end
487
+ end
488
+
489
+ context 'PE versions earlier than 3.8.5' do
490
+ ['3.3.2', '3.7.3', '3.8.2'].each do |pe_ver|
491
+ it "Adds key on PE #{pe_ver}" do
492
+ deb_host['pe_ver'] = pe_ver
493
+ expect(subject).to receive(:on).with(deb_host, on_cmd)
494
+ subject.add_extended_gpg_key_to_hosts(hosts, opts)
495
+ end
496
+ end
497
+ end
498
+
499
+ context 'PE versions between 2015.2.0 and 2016.1.1' do
500
+ ['2015.2.0', '2015.3.1', '2016.1.1'].each do |pe_ver|
501
+ it "Adds key on PE #{pe_ver}" do
502
+ deb_host['pe_ver'] = pe_ver
503
+ expect(subject).to receive(:on).with(deb_host, on_cmd)
504
+ subject.add_extended_gpg_key_to_hosts(hosts, opts)
505
+ end
506
+ end
507
+ end
508
+
509
+ ['3.8.5', '3.8.6', '2016.1.2', '2016.2.0'].each do |pe_ver|
510
+ context "PE #{pe_ver}" do
511
+ it 'does nothing' do
512
+ deb_host['pe_ver'] = pe_ver
513
+ expect(subject).not_to receive(:on).with(deb_host, on_cmd)
514
+ subject.add_extended_gpg_key_to_hosts(hosts, opts)
515
+ end
516
+ end
517
+ end
518
+ end
519
+
447
520
  describe 'fetch_pe' do
448
521
 
449
522
  it 'can push a local PE .tar.gz to a host and unpack it' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-pe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-15 00:00:00.000000000 Z
11
+ date: 2016-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec