beaker-pe 1.1.0 → 1.2.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
- 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