beaker-pe 1.4.0 → 1.5.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
- ZjU5MmM4NjRiY2U4OGZhZWVjYzJjYTQ5OWU5MmQ5ZWZmMmRhYTVkNg==
4
+ NjM1NWI4YTRlNTU0OTY1MjI4MDgxNTgwZTRkNGZmMzJiM2Y2YjE3MQ==
5
5
  data.tar.gz: !binary |-
6
- OGFhZjgwYjVjNmQwYjc4NTNmMjdjZmFkM2UzM2Y4ZTE0YjliZTgxNg==
6
+ YTQ0NjYzNzBmM2I4Y2RhY2IwMmQwYWJmMTMxYzQxYzE5MGZjMGVlOQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzgzODgwNzk4NDU0NzlkNTQ1OGFhY2M1Yzk0NjM0OGRkNDFmNDUzZDRkMGQx
10
- Y2RiYWY3YzA4NmU4ZTllMzM1ODUzYmU4MWY1NGQ1MWYxMDBjMDVhZWQyZTYz
11
- NjhkMjc2MGQwODM3YzhlZTMyZDNmNDIxYWE0ZmEzNDE2YTRjY2U=
9
+ ZTVjOTQyMWIzM2Q2ZGUzNTIzNTdkYWNlODM1YjA0ZDgxNzhkOTYzYmYzNTM2
10
+ MTZmNWI1ZTQzZTJmMDExZTc4NmFmOGJjOGI5NTk1OTIxNjJlYWNlZTkyMjM2
11
+ ZjE5MjAwYzJmZmM5ZjJmNjlkOWIwYTkzNmIzNzMxNjdhZThkM2E=
12
12
  data.tar.gz: !binary |-
13
- ZjVkZGEzNzVkM2IyZjM4OGFjYjEwOTg4MjcxZDNjZjU3MjMyZDE1OGYxMzYz
14
- OTIwYzNiNzQ3OWMxYTJjNjk5ZWU4YTdhNmVmNWQxN2EzMjA0NTQ5ZTJlOGNi
15
- YmI3MjkzMDYyNzlkMDY5YmJiODI3ZmFhNGI0MzY5OTJhZjk3ZTU=
13
+ MGIyYTBmYzg2Yjc2Yzk1ZTJiZTkyZWNkZDc2OGU0OTgxMDkzOTgyYzNkNThh
14
+ ODk5NmRjZmQ1MzllNWU1ZjcxNDQyYTJiMGE2MjI4MjhkODFjZWZmMjJhMmUx
15
+ ODY3NTRiMTg2MjY1NjA4NjFiZmU5OWY4YmViNzlkYWFkZTIwZmE=
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # default - History
2
2
  ## Tags
3
- * [LATEST - 11 Oct, 2016 (2c31bfcb)](#LATEST)
3
+ * [LATEST - 7 Nov, 2016 (614c736b)](#LATEST)
4
+ * [1.4.0 - 11 Oct, 2016 (6becdbb2)](#1.4.0)
4
5
  * [1.3.0 - 6 Oct, 2016 (97f781bb)](#1.3.0)
5
6
  * [1.2.0 - 4 Oct, 2016 (7362ab78)](#1.2.0)
6
7
  * [1.1.0 - 29 Sep, 2016 (5b9f2600)](#1.1.0)
@@ -22,7 +23,30 @@
22
23
  * [0.1.0 - 29 Feb, 2016 (4fc88d8c)](#0.1.0)
23
24
 
24
25
  ## Details
25
- ### <a name = "LATEST">LATEST - 11 Oct, 2016 (2c31bfcb)
26
+ ### <a name = "LATEST">LATEST - 7 Nov, 2016 (614c736b)
27
+
28
+ * (GEM) update beaker-pe version to 1.5.0 (614c736b)
29
+
30
+ * Merge pull request #36 from james-stocks/BKR-967 (e4a48b7c)
31
+
32
+
33
+ ```
34
+ Merge pull request #36 from james-stocks/BKR-967
35
+
36
+ (BKR-967) Add :disable_analytics option
37
+ ```
38
+ * (BKR-967) Add :disable_analytics option (c9e25658)
39
+
40
+
41
+ ```
42
+ (BKR-967) Add :disable_analytics option
43
+
44
+ Allow :disable_analytics to be set in beaker options, allowing us to block
45
+ traffic to Google Analytics.
46
+ ```
47
+ ### <a name = "1.4.0">1.4.0 - 11 Oct, 2016 (6becdbb2)
48
+
49
+ * (HISTORY) update beaker-pe history for gem release 1.4.0 (6becdbb2)
26
50
 
27
51
  * (GEM) update beaker-pe version to 1.4.0 (2c31bfcb)
28
52
 
@@ -1,9 +1,12 @@
1
1
  [ 'aio_defaults', 'pe_defaults', 'puppet_utils', 'windows_utils' ].each do |lib|
2
2
  require "beaker/dsl/install_utils/#{lib}"
3
3
  end
4
+ require "beaker/host_prebuilt_steps"
4
5
  require "beaker-answers"
5
6
  require "timeout"
6
7
  require "json"
8
+ require "beaker-pe/options/presets"
9
+
7
10
  module Beaker
8
11
  module DSL
9
12
  module InstallUtils
@@ -22,6 +25,7 @@ module Beaker
22
25
  include PEDefaults
23
26
  include PuppetUtils
24
27
  include WindowsUtils
28
+ include HostPrebuiltSteps
25
29
 
26
30
  # Version of PE when we switched from legacy installer to MEEP.
27
31
  MEEP_CUTOVER_VERSION = '2016.2.0'
@@ -705,6 +709,12 @@ module Beaker
705
709
  install_pe_on(hosts, options)
706
710
  end
707
711
 
712
+ def disable_analytics(hosts)
713
+ logger.info("Disabling analytics on dashboard host(s)")
714
+ set_etc_hosts(hosts, "127.0.0.1\tgoogle-analytics.com\n")
715
+ set_etc_hosts(hosts, "127.0.0.1\twww.google-analytics.com\n")
716
+ end
717
+
708
718
  def check_puppetdb_status_endpoint(host)
709
719
  if version_is_less(host['pe_ver'], '2016.1.0')
710
720
  return true
@@ -774,6 +784,8 @@ module Beaker
774
784
  # options, refer to {#do_install} documentation
775
785
  #
776
786
  def install_pe_on(install_hosts, opts)
787
+ opts = pe_presets.merge(opts)
788
+
777
789
  confine_block(:to, {}, install_hosts) do
778
790
  sorted_hosts.each do |host|
779
791
  #process the version files if necessary
@@ -791,6 +803,11 @@ module Beaker
791
803
  host['pe_ver'] ||= Beaker::Options::PEVersionScraper.load_pe_version(host[:pe_dir] || opts[:pe_dir], opts[:pe_version_file])
792
804
  end
793
805
  end
806
+
807
+ if opts[:disable_analytics] then
808
+ disable_analytics(dashboard)
809
+ end
810
+
794
811
  do_install sorted_hosts, opts
795
812
  end
796
813
  end
@@ -0,0 +1,9 @@
1
+ # Generates an OptionsHash of preset values for Beaker options relating to PE
2
+ #
3
+ # @return [OptionsHash] The supported arguments in an OptionsHash
4
+ def pe_presets
5
+ h = Beaker::Options::OptionsHash.new
6
+ h.merge({
7
+ :disable_analytics => true,
8
+ })
9
+ end
@@ -3,7 +3,7 @@ module Beaker
3
3
  module PE
4
4
 
5
5
  module Version
6
- STRING = '1.4.0'
6
+ STRING = '1.5.0'
7
7
  end
8
8
 
9
9
  end
@@ -1,5 +1,6 @@
1
1
  require 'spec_helper'
2
2
  require 'beaker'
3
+ require 'beaker-pe/options/presets'
3
4
 
4
5
  class ClassMixedWithDSLInstallUtils
5
6
  include Beaker::DSL::InstallUtils
@@ -283,6 +284,7 @@ describe ClassMixedWithDSLInstallUtils do
283
284
  context 'the do_higgs_install' do
284
285
  it 'submits the correct installer cmd to invoke Higgs' do
285
286
  prep_host(host)
287
+ allow( subject ).to receive( :options ).and_return( {} )
286
288
  subject.do_higgs_install(host, opts)
287
289
  end
288
290
  end
@@ -305,6 +307,7 @@ describe ClassMixedWithDSLInstallUtils do
305
307
  context 'the do_higgs_install' do
306
308
  it 'submits the correct installer cmd to invoke Higgs' do
307
309
  prep_host(host)
310
+ allow( subject ).to receive( :options ).and_return( {} )
308
311
  subject.do_higgs_install(host, opts)
309
312
  end
310
313
  end
@@ -889,6 +892,7 @@ describe ClassMixedWithDSLInstallUtils do
889
892
  end
890
893
 
891
894
  allow( subject ).to receive( :hosts ).and_return( hosts )
895
+ allow( subject ).to receive( :options ).and_return( {} )
892
896
  #create answers file per-host, except windows
893
897
  allow( subject ).to receive( :create_remote_file ).with( hosts[0], /answers/, /q/ )
894
898
  #run installer on all hosts
@@ -944,6 +948,7 @@ describe ClassMixedWithDSLInstallUtils do
944
948
  allow( subject ).to receive( :sleep ).and_return( true )
945
949
 
946
950
  allow( subject ).to receive( :hosts ).and_return( hosts )
951
+ allow( subject ).to receive( :options ).and_return( {} )
947
952
 
948
953
  #run higgs installer command
949
954
  expect( subject ).to receive( :on ).with( hosts[0],
@@ -959,6 +964,7 @@ describe ClassMixedWithDSLInstallUtils do
959
964
  allow( subject ).to receive( :sleep ).and_return( true )
960
965
 
961
966
  allow( subject ).to receive( :hosts ).and_return( hosts )
967
+ allow( subject ).to receive( :options ).and_return( {} )
962
968
 
963
969
  #run higgs installer command
964
970
  expect( subject ).to receive( :on ).with( hosts[0],
@@ -977,7 +983,35 @@ describe ClassMixedWithDSLInstallUtils do
977
983
  allow( subject ).to receive( :options ).and_return( {} )
978
984
  allow( subject ).to receive( :hosts ).and_return( hosts_sorted )
979
985
  allow( subject ).to receive( :do_install ).and_return( true )
980
- expect( subject ).to receive( :do_install ).with( hosts, {} )
986
+ allow( subject ).to receive( :set_etc_hosts )
987
+ expect( subject ).to receive( :do_install ).with( hosts, pe_presets )
988
+ subject.install_pe
989
+ end
990
+
991
+ it 'blocks analytics by default' do
992
+ allow( subject ).to receive( :options ).and_return( {} )
993
+ allow( subject ).to receive( :hosts ).and_return( hosts_sorted )
994
+ allow( subject ).to receive( :do_install ).and_return( true )
995
+ allow( subject ).to receive( :set_etc_hosts )
996
+ expect( subject ).to receive( :do_install ).with( hosts, pe_presets )
997
+ subject.install_pe
998
+ end
999
+
1000
+ it 'blocks analytics when disable_analytics is true' do
1001
+ allow( subject ).to receive( :options ).and_return( {:disable_analytics => true} )
1002
+ allow( subject ).to receive( :hosts ).and_return( hosts_sorted )
1003
+ allow( subject ).to receive( :do_install ).and_return( true )
1004
+ allow( subject ).to receive( :set_etc_hosts )
1005
+ expect( subject ).to receive( :do_install ).with( hosts, {:disable_analytics => true} )
1006
+ subject.install_pe
1007
+ end
1008
+
1009
+ it 'does not block analytics when disable_analytics is false' do
1010
+ allow( subject ).to receive( :options ).and_return( {:disable_analytics => false} )
1011
+ allow( subject ).to receive( :hosts ).and_return( hosts_sorted )
1012
+ allow( subject ).to receive( :do_install ).and_return( true )
1013
+ expect( subject ).to_not receive( :set_etc_hosts )
1014
+ expect( subject ).to receive( :do_install ).with( hosts, {:disable_analytics => false} )
981
1015
  subject.install_pe
982
1016
  end
983
1017
 
@@ -989,7 +1023,8 @@ describe ClassMixedWithDSLInstallUtils do
989
1023
  allow( subject ).to receive( :hosts ).and_return( hosts_sorted )
990
1024
  allow( subject ).to receive( :options ).and_return( {} )
991
1025
  allow( subject ).to receive( :do_install ).and_return( true )
992
- expect( subject ).to receive( :do_install ).with( hosts, {} )
1026
+ allow( subject ).to receive( :set_etc_hosts )
1027
+ expect( subject ).to receive( :do_install ).with( hosts, pe_presets )
993
1028
  subject.install_pe
994
1029
  hosts.each do |h|
995
1030
  expect( h['pe_ver'] ).to be === '2.8'
@@ -998,8 +1033,10 @@ describe ClassMixedWithDSLInstallUtils do
998
1033
 
999
1034
  it 'can act upon a single host' do
1000
1035
  allow( subject ).to receive( :hosts ).and_return( hosts )
1036
+ allow( subject ).to receive( :options ).and_return( {} )
1001
1037
  allow( subject ).to receive( :sorted_hosts ).and_return( [hosts[0]] )
1002
- expect( subject ).to receive( :do_install ).with( [hosts[0]], {} )
1038
+ allow( subject ).to receive( :set_etc_hosts )
1039
+ expect( subject ).to receive( :do_install ).with( [hosts[0]], pe_presets )
1003
1040
  subject.install_pe_on(hosts[0], {})
1004
1041
  end
1005
1042
  end
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: 1.4.0
4
+ version: 1.5.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-10-12 00:00:00.000000000 Z
11
+ date: 2016-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -190,6 +190,7 @@ files:
190
190
  - lib/beaker-pe.rb
191
191
  - lib/beaker-pe/install/pe_utils.rb
192
192
  - lib/beaker-pe/options/pe_version_scraper.rb
193
+ - lib/beaker-pe/options/presets.rb
193
194
  - lib/beaker-pe/pe-client-tools/config_file_helper.rb
194
195
  - lib/beaker-pe/pe-client-tools/executable_helper.rb
195
196
  - lib/beaker-pe/pe-client-tools/install_helper.rb