beaker-pe 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/beaker-pe/install/pe_utils.rb +7 -2
- data/lib/beaker-pe/version.rb +1 -1
- data/spec/beaker-pe/install/pe_utils_spec.rb +36 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 73d231599095e931cf054b800746fb39665542f8
|
4
|
+
data.tar.gz: bec99267d66d13224c9a8940d968314ad9a3ff28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 137573f028c61d473ff5ff344493bd73cc2849f23d6da2a8fc569930ff4146b69563a2b9d967679d8404e29593d9482f5913a09ac01439ab38c525905cb7b42a
|
7
|
+
data.tar.gz: 2cd43286b2ca2d7c0cac7f451f273b913bdf1db609e346b31c2e1b5fdf5baf91a560d97567d6a1f2b5138b476673d54f3ccb773f75c23615b4f982392b431675
|
@@ -139,7 +139,7 @@ module Beaker
|
|
139
139
|
#Return true if tlsv1 protocol needs to be enforced
|
140
140
|
#param [Host] the host
|
141
141
|
def require_tlsv1?(host)
|
142
|
-
tlsv1_platforms = [/aix/, /el-5/, /solaris10/]
|
142
|
+
tlsv1_platforms = [/aix/, /el-5/, /solaris10/, /windows-2008/]
|
143
143
|
return tlsv1_platforms.any? {|platform_regex| host['platform'] =~ platform_regex}
|
144
144
|
end
|
145
145
|
|
@@ -191,8 +191,13 @@ module Beaker
|
|
191
191
|
else
|
192
192
|
cert_validator = '[Net.ServicePointManager]::ServerCertificateValidationCallback = {\\$true}'
|
193
193
|
end
|
194
|
+
if version_is_less(pe_version, '2019.1.0') || require_tlsv1?(host) then
|
195
|
+
protocol_to_use =''
|
196
|
+
else
|
197
|
+
protocol_to_use = '[System.Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12'
|
198
|
+
end
|
194
199
|
|
195
|
-
cmd = %Q{powershell -c "cd #{host['working_dir']};#{cert_validator};\\$webClient = New-Object System.Net.WebClient;\\$webClient.DownloadFile('https://#{downloadhost}:8140/packages/current/install.ps1', '#{host['working_dir']}/install.ps1');#{host['working_dir']}/install.ps1 -verbose #{frictionless_install_opts.join(' ')}"}
|
200
|
+
cmd = %Q{powershell -c "cd #{host['working_dir']};#{protocol_to_use};#{cert_validator};\\$webClient = New-Object System.Net.WebClient;\\$webClient.DownloadFile('https://#{downloadhost}:8140/packages/current/install.ps1', '#{host['working_dir']}/install.ps1');#{host['working_dir']}/install.ps1 -verbose #{frictionless_install_opts.join(' ')}"}
|
196
201
|
else
|
197
202
|
curl_opts = %w{-O}
|
198
203
|
if version_is_less(pe_version, '2019.1.0') || require_tlsv1?(host)
|
data/lib/beaker-pe/version.rb
CHANGED
@@ -270,9 +270,11 @@ describe ClassMixedWithDSLInstallUtils do
|
|
270
270
|
|
271
271
|
it 'generates a PS1 frictionless install command for windows' do
|
272
272
|
host['platform'] = 'windows-2012-64'
|
273
|
+
protocol = ''
|
273
274
|
expecting = "powershell -c \"" +
|
274
275
|
[
|
275
276
|
"cd /tmp",
|
277
|
+
"#{protocol}",
|
276
278
|
"[Net.ServicePointManager]::ServerCertificateValidationCallback = {\\$true}",
|
277
279
|
"\\$webClient = New-Object System.Net.WebClient",
|
278
280
|
"\\$webClient.DownloadFile('https://testmaster:8140/packages/current/install.ps1', '/tmp/install.ps1')",
|
@@ -286,9 +288,11 @@ describe ClassMixedWithDSLInstallUtils do
|
|
286
288
|
host['platform'] = 'windows-2012-64'
|
287
289
|
host['puppetpath'] = '/PuppetLabs/puppet/etc'
|
288
290
|
host['use_puppet_ca_cert'] = true
|
291
|
+
protocol = ''
|
289
292
|
expecting = "powershell -c \"" +
|
290
293
|
[
|
291
294
|
"cd /tmp",
|
295
|
+
"#{protocol}",
|
292
296
|
"\\$callback = {param(\\$sender,[System.Security.Cryptography.X509Certificates.X509Certificate]\\$certificate,[System.Security.Cryptography.X509Certificates.X509Chain]\\$chain,[System.Net.Security.SslPolicyErrors]\\$sslPolicyErrors)",
|
293
297
|
"\\$CertificateType=[System.Security.Cryptography.X509Certificates.X509Certificate2]",
|
294
298
|
"\\$CACert=\\$CertificateType::CreateFromCertFile('/PuppetLabs/puppet/etc/ssl/certs/ca.pem') -as \\$CertificateType",
|
@@ -303,6 +307,38 @@ describe ClassMixedWithDSLInstallUtils do
|
|
303
307
|
expect( subject.frictionless_agent_installer_cmd( host, {}, '2016.4.0' ) ).to eq(expecting)
|
304
308
|
end
|
305
309
|
|
310
|
+
it 'generates a PS1 frictionless install command for windows with Tls12 protocol' do
|
311
|
+
host['platform'] = 'windows-20012-64'
|
312
|
+
protocol = '[System.Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12'
|
313
|
+
expecting = "powershell -c \"" +
|
314
|
+
[
|
315
|
+
"cd /tmp",
|
316
|
+
"#{protocol}",
|
317
|
+
"[Net.ServicePointManager]::ServerCertificateValidationCallback = {\\$true}",
|
318
|
+
"\\$webClient = New-Object System.Net.WebClient",
|
319
|
+
"\\$webClient.DownloadFile('https://testmaster:8140/packages/current/install.ps1', '/tmp/install.ps1')",
|
320
|
+
"/tmp/install.ps1 -verbose "
|
321
|
+
].join(";") +
|
322
|
+
"\""
|
323
|
+
expect( subject.frictionless_agent_installer_cmd( host, {}, '2019.1.0' ) ).to eq(expecting)
|
324
|
+
end
|
325
|
+
|
326
|
+
it 'generates a PS1 frictionless install command for windows-2008 without Tls12 protocol' do
|
327
|
+
host['platform'] = 'windows-2008-64'
|
328
|
+
protocol = ''
|
329
|
+
expecting = "powershell -c \"" +
|
330
|
+
[
|
331
|
+
"cd /tmp",
|
332
|
+
"#{protocol}",
|
333
|
+
"[Net.ServicePointManager]::ServerCertificateValidationCallback = {\\$true}",
|
334
|
+
"\\$webClient = New-Object System.Net.WebClient",
|
335
|
+
"\\$webClient.DownloadFile('https://testmaster:8140/packages/current/install.ps1', '/tmp/install.ps1')",
|
336
|
+
"/tmp/install.ps1 -verbose "
|
337
|
+
].join(";") +
|
338
|
+
"\""
|
339
|
+
expect( subject.frictionless_agent_installer_cmd( host, {}, '2019.1.0' ) ).to eq(expecting)
|
340
|
+
end
|
341
|
+
|
306
342
|
it 'generates a frictionless install command with loadbalancer as download host' do
|
307
343
|
hosts = lb_test_hosts
|
308
344
|
expect( subject ).to receive( :get_lb_downloadhost ).with(lb_test_hosts[3]).and_return( 'testloadbalancer' )
|
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: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|