beaker-pe 1.1.0 → 1.2.0

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Y2MxN2YxODgwZTUxYjExMTljZGJlYzY4ZmU0MjgzNjM2NTQ1MzM3Yw==
4
+ YzQyMzM2ZjYxMWQxOGQwNjk4MDI3MmQ3ZWE5MTk2N2U2ODE0ZDljYQ==
5
5
  data.tar.gz: !binary |-
6
- OGQ5YTEyNGU2YTUyZjZjMWQwYTBhZmRiZmNmMmU3ZDdiMGM4MWVjZA==
6
+ N2E2OGVlZmY5MjRjZTE2NmEwMTU5MDYyZThmMTEyM2E5ZDcwYmE5Ng==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzVlM2Y1MDZlYzhjNDc5ZjAyZGI1N2I2NjE4NTdkOTk1YWYyMTU3NDg4YjQx
10
- ODk3OGU2ZTNlMTZjYWM3ZTJhNmQxMDY1MmJhYWQwNzI1MGQ1NDkyZTBmMjA0
11
- MjcwMTQ4MGE4MGZlYjE4M2UxNmU0YTUxZGI1NDFiZGM2MDdjYjY=
9
+ ODJlZWViYWFkYWE1NGY3ZjE2OGJlYjU1ZGU1ZWJkODMwMTk2M2Y3MjBkOTc2
10
+ YmFlYzRjYTc5NGM5Y2NiYTAwNWFhZGM4MWU1ZjkzMDBlMDE3MGZmN2UxYmJj
11
+ NGVkMmJkZmEwYWE1NjhjNmQ1ZGFkYmJlNzJhZDljN2E2YWRmYzI=
12
12
  data.tar.gz: !binary |-
13
- MTRlYjU2ZjljZjFhZGY3NjUyN2M2ZGU5M2E5ODY1ZjRjMDM0N2M1MjcyMjRk
14
- ZTE4NWM2ZGY4Y2E4ODRmYTQ2MTFiMzg5MTFkZTBjOTYzNTQwYTlhMmU1YmFi
15
- ZjNiNjRlYTcxZmE4ZGE0OTgxNGY5OTc3ZTc1MzBhYTFlODY5OTQ=
13
+ MmIzOTYxYzY0ZGY5MzgyYTlkMzc3NjJiMjhiMjljNzY2ZDVmOGRiMWM0MmFl
14
+ ZWFkMWVjOWY2MGM0YTdhNDU2OWFhMTBhOTJmYWY3OGU3NWM1OTVjNGY4N2Y2
15
+ NTRlMjlkYTlkNGM5Yjc2NDQwYWRmMmRiMGQ4NjE5MGJiOGZkNTQ=
data/HISTORY.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # default - History
2
2
  ## Tags
3
- * [LATEST - 29 Sep, 2016 (e4576973)](#LATEST)
3
+ * [LATEST - 4 Oct, 2016 (bab690e0)](#LATEST)
4
+ * [1.1.0 - 29 Sep, 2016 (5b9f2600)](#1.1.0)
4
5
  * [1.0.0 - 26 Sep, 2016 (84a5b56b)](#1.0.0)
5
6
  * [0.12.0 - 16 Sep, 2016 (81e5a0b0)](#0.12.0)
6
7
  * [0.11.0 - 25 Aug, 2016 (7167f39e)](#0.11.0)
@@ -19,7 +20,25 @@
19
20
  * [0.1.0 - 29 Feb, 2016 (4fc88d8c)](#0.1.0)
20
21
 
21
22
  ## Details
22
- ### <a name = "LATEST">LATEST - 29 Sep, 2016 (e4576973)
23
+ ### <a name = "LATEST">LATEST - 4 Oct, 2016 (bab690e0)
24
+
25
+ * (GEM) update beaker-pe version to 1.2.0 (bab690e0)
26
+
27
+ * (PE-17359) Adding Windows frictionless agent support (#28) (f4b72e18)
28
+
29
+
30
+ ```
31
+ (PE-17359) Adding Windows frictionless agent support (#28)
32
+
33
+ This commit adds support for windows frictionless agent.
34
+ There was a change to the pe_repo logic, to make sure the master
35
+ downloads the new windows script.
36
+ Also there is the addition of a powershell script, which is the
37
+ direct equivlant of curl | bash.
38
+ ```
39
+ ### <a name = "1.1.0">1.1.0 - 29 Sep, 2016 (5b9f2600)
40
+
41
+ * (HISTORY) update beaker-pe history for gem release 1.1.0 (5b9f2600)
23
42
 
24
43
  * (GEM) update beaker-pe version to 1.1.0 (e4576973)
25
44
 
@@ -96,12 +96,15 @@ module Beaker
96
96
  end
97
97
 
98
98
  pe_debug = host[:pe_debug] || opts[:pe_debug] ? ' -x' : ''
99
- if host['platform'] =~ /aix/ then
99
+ if host['platform'] =~ /windows/ then
100
+ "powershell -c \"cd #{host['working_dir']};[Net.ServicePointManager]::ServerCertificateValidationCallback = {\\$true};\\$webClient = New-Object System.Net.WebClient;\\$webClient.DownloadFile('https://#{master}:8140/packages/#{version}/install.ps1', '#{host['working_dir']}/install.ps1');#{host['working_dir']}/install.ps1 -verbose #{frictionless_install_opts.join(' ')}\""
101
+ elsif host['platform'] =~ /aix/ then
100
102
  curl_opts = '--tlsv1 -O'
103
+ "cd #{host['working_dir']} && curl #{curl_opts} https://#{master}:8140/packages/#{version}/install.bash && bash#{pe_debug} install.bash #{frictionless_install_opts.join(' ')}".strip
101
104
  else
102
105
  curl_opts = '--tlsv1 -kO'
106
+ "cd #{host['working_dir']} && curl #{curl_opts} https://#{master}:8140/packages/#{version}/install.bash && bash#{pe_debug} install.bash #{frictionless_install_opts.join(' ')}".strip
103
107
  end
104
- "cd #{host['working_dir']} && curl #{curl_opts} https://#{master}:8140/packages/#{version}/install.bash && bash#{pe_debug} install.bash #{frictionless_install_opts.join(' ')}".strip
105
108
  elsif host['platform'] =~ /osx/
106
109
  version = host['pe_ver'] || opts[:pe_ver]
107
110
  pe_debug = host[:pe_debug] || opts[:pe_debug] ? ' -verboseR' : ''
@@ -283,7 +286,15 @@ module Beaker
283
286
  # @api private
284
287
  def deploy_frictionless_to_master(host)
285
288
  klass = host['platform'].gsub(/-/, '_').gsub(/\./,'')
286
- klass = "pe_repo::platform::#{klass}"
289
+ if host['platform'] =~ /windows/
290
+ if host['template'] =~ /i386/
291
+ klass = "pe_repo::platform::windows_i386"
292
+ else
293
+ klass = "pe_repo::platform::windows_x86_64"
294
+ end
295
+ else
296
+ klass = "pe_repo::platform::#{klass}"
297
+ end
287
298
  if version_is_less(host['pe_ver'], '3.8')
288
299
  # use the old rake tasks
289
300
  on dashboard, "cd /opt/puppet/share/puppet-dashboard && /opt/puppet/bin/bundle exec /opt/puppet/bin/rake nodeclass:add[#{klass},skip]"
@@ -414,7 +425,10 @@ module Beaker
414
425
  end
415
426
 
416
427
  install_hosts.each do |host|
417
- if agent_only_check_needed && hosts_agent_only.include?(host)
428
+ #windows agents from 4.0 -> 2016.1.2 were only installable via aio method
429
+ is_windows_msi_and_aio = (host['platform'] =~ /windows/ && (version_is_less(host['pe_ver'], '2016.3.0') && !version_is_less(host['pe_ver'], '3.99') && !(host['roles'].include?('frictionless'))))
430
+
431
+ if agent_only_check_needed && hosts_agent_only.include?(host) || is_windows_msi_and_aio
418
432
  host['type'] = 'aio'
419
433
  install_puppet_agent_pe_promoted_repo_on(host, { :puppet_agent_version => host[:puppet_agent_version] || opts[:puppet_agent_version],
420
434
  :puppet_agent_sha => host[:puppet_agent_sha] || opts[:puppet_agent_sha],
@@ -424,7 +438,8 @@ module Beaker
424
438
  acceptable_exit_codes = [0, 1]
425
439
  acceptable_exit_codes << 2 if opts[:type] == :upgrade
426
440
  setup_defaults_and_config_helper_on(host, master, acceptable_exit_codes)
427
- elsif host['platform'] =~ /windows/
441
+ #Windows allows frictionless installs starting with PE Davis, if frictionless we need to skip this step
442
+ elsif (host['platform'] =~ /windows/ && !(host['roles'].include?('frictionless')))
428
443
  opts = { :debug => host[:pe_debug] || opts[:pe_debug] }
429
444
  msi_path = "#{host['working_dir']}\\#{host['dist']}.msi"
430
445
  install_msi_on(host, msi_path, {}, opts)
@@ -460,7 +475,6 @@ module Beaker
460
475
  configure_type_defaults_on(host)
461
476
  end
462
477
  end
463
-
464
478
  # On each agent, we ensure the certificate is signed
465
479
  if !masterless
466
480
  if [master, database, dashboard].include?(host) && use_meep?(host['pe_ver'])
@@ -498,6 +512,11 @@ module Beaker
498
512
  if host == dashboard
499
513
  check_console_status_endpoint(host)
500
514
  end
515
+ #Workaround for windows frictionless install, see BKR-943 for the reason
516
+ if (host['platform'] =~ /windows/) and (host['roles'].include? 'frictionless')
517
+ client_datadir = host.puppet['client_datadir']
518
+ on(host , puppet("resource file \"#{client_datadir}\" ensure=absent force=true"))
519
+ end
501
520
  end
502
521
  end
503
522
 
@@ -3,7 +3,7 @@ module Beaker
3
3
  module PE
4
4
 
5
5
  module Version
6
- STRING = '1.1.0'
6
+ STRING = '1.2.0'
7
7
  end
8
8
 
9
9
  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.1.0
4
+ version: 1.2.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-09-29 00:00:00.000000000 Z
11
+ date: 2016-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec