beaker-pe 1.15.0 → 1.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/HISTORY.md +34 -2
- data/lib/beaker-pe/install/pe_utils.rb +11 -1
- data/lib/beaker-pe/version.rb +1 -1
- data/spec/beaker-pe/install/pe_utils_spec.rb +26 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
Yjg5OTg2MGZkMzdlYzY5ZTljN2JkMWY2NmFmNGI4ZDQxZDZmMGQ2OA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGQyNmZiMzU3MTAyZTY1MTYwYTE2NTNkZmMxYzI1ZDc1Yzk1NzM1Nw==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NTk0NTliMmU2ZTJhNDdmNmQ2NGU1ODBmZjZjNjc5NGY2OGVmZmY1YzQyYTZm
|
10
|
+
NmFmM2ViMzNjYTMwOTNkZmE1MDQ5YjAwNmZjMmZhNzQ4N2U5MGVhODRiOGY5
|
11
|
+
MGRjNmViZDdjY2Y5MWQ2ZDQ4NGE2OWVkMTcyNTA1NTdiZGZlMDM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OTgyNDI0ZjQxNGYxNWI5MzZmNTA0NzA5MjJkMmUzY2UwMmNhOTBjNjNhMGQx
|
14
|
+
OTI3Y2JiYThmNDFhMDkxYjZjMGM5NjI5ZWU5NWY2MjkxYmFjNWMzZDdjMTc2
|
15
|
+
M2I1Yzk1NzUyNDA0YzM5N2YyZjU2OTFjODc3OWU0MTY4ZWRiZDk=
|
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# worker - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 26 May, 2017 (053b1ab7)](#LATEST)
|
4
|
+
* [1.15.0 - 11 May, 2017 (0fddaad5)](#1.15.0)
|
4
5
|
* [1.14.0 - 10 May, 2017 (874a7998)](#1.14.0)
|
5
6
|
* [1.13.0 - 6 Apr, 2017 (a3c5d641)](#1.13.0)
|
6
7
|
* [1.12.1 - 29 Mar, 2017 (fe8bbc82)](#1.12.1)
|
@@ -38,7 +39,38 @@
|
|
38
39
|
* [0.1.0 - 29 Feb, 2016 (4fc88d8c)](#0.1.0)
|
39
40
|
|
40
41
|
## Details
|
41
|
-
### <a name = "LATEST">LATEST -
|
42
|
+
### <a name = "LATEST">LATEST - 26 May, 2017 (053b1ab7)
|
43
|
+
|
44
|
+
* (GEM) update beaker-pe version to 1.16.0 (053b1ab7)
|
45
|
+
|
46
|
+
* PE-20610 Fix install failure on windows for old pe versions (6c5c6143)
|
47
|
+
|
48
|
+
|
49
|
+
```
|
50
|
+
PE-20610 Fix install failure on windows for old pe versions
|
51
|
+
|
52
|
+
Added logic to use the old generic_install method on windows when
|
53
|
+
installing old pe versions that requires an msi install because of
|
54
|
+
powershell2 issue PE-18351. The newly added simple_monolithic_install
|
55
|
+
does not have a check for those conditions and proceeds with
|
56
|
+
frictionless installation on those hosts which fails.
|
57
|
+
```
|
58
|
+
* (PE-20589) After a simple monolithic install run puppet on non-infrastructure agents (d69499ee)
|
59
|
+
|
60
|
+
|
61
|
+
```
|
62
|
+
(PE-20589) After a simple monolithic install run puppet on non-infrastructure agents
|
63
|
+
|
64
|
+
Previously after agents were installed via simple mono install, we ran the agents
|
65
|
+
all at once. This include the master. Occasionaly there would be a change done to
|
66
|
+
the console services that would require a restart.
|
67
|
+
This would cause other agent runs to fail. So to not have that happen, we will run
|
68
|
+
only the non-infrastructure agents. That should be fine since part of the process
|
69
|
+
of installing PE should have the puppet runs included there.
|
70
|
+
```
|
71
|
+
### <a name = "1.15.0">1.15.0 - 11 May, 2017 (0fddaad5)
|
72
|
+
|
73
|
+
* (HISTORY) update beaker-pe history for gem release 1.15.0 (0fddaad5)
|
42
74
|
|
43
75
|
* (GEM) update beaker-pe version to 1.15.0 (6cdb9055)
|
44
76
|
|
@@ -423,6 +423,8 @@ module Beaker
|
|
423
423
|
return :generic if hosts.map {|host| host['pe_ver']}.uniq.length > 1
|
424
424
|
return :generic if opts[:type] == :upgrade
|
425
425
|
return :generic if version_is_less(opts[:pe_ver] || hosts.first['pe_ver'], '2016.4')
|
426
|
+
#PE-20610 Do a generic install for old versions on windows that needs msi install because of PE-18351
|
427
|
+
return :generic if hosts.any? {|host| host['platform'] =~ /windows/ && install_via_msi?(host)}
|
426
428
|
|
427
429
|
mono_roles = ['master', 'database', 'dashboard']
|
428
430
|
if has_all_roles?(hosts.first, mono_roles) && hosts.drop(1).all? {|host| host['roles'].include?('frictionless')}
|
@@ -483,7 +485,7 @@ module Beaker
|
|
483
485
|
end
|
484
486
|
|
485
487
|
step "Run puppet to setup mcollective and pxp-agent" do
|
486
|
-
|
488
|
+
run_puppet_on_non_infrastructure_nodes(all_hosts)
|
487
489
|
|
488
490
|
#Workaround for windows frictionless install, see BKR-943 for the reason
|
489
491
|
agents.select {|agent| agent['platform'] =~ /windows/}.each do |agent|
|
@@ -771,6 +773,14 @@ module Beaker
|
|
771
773
|
(host['platform'] =~ /windows-2008r2/ && (!version_is_less(host['pe_ver'], '2016.4.99') && version_is_less(host['pe_ver'], '2016.5.99') && !version_is_less(host['pe_ver'], '3.99')))
|
772
774
|
end
|
773
775
|
|
776
|
+
# Runs puppet on all nodes, unless they have the roles: master,database,console/dashboard
|
777
|
+
# @param [Array<Host>] hosts The sorted hosts to install or upgrade PE on
|
778
|
+
def run_puppet_on_non_infrastructure_nodes(all_hosts)
|
779
|
+
pe_infrastructure = select_hosts({:roles => ['master', 'compile_master', 'dashboard', 'database']}, all_hosts)
|
780
|
+
non_infrastructure = all_hosts.reject{|host| pe_infrastructure.include? host}
|
781
|
+
on non_infrastructure, puppet_agent('-t'), :acceptable_exit_codes => [0,2], :run_in_parallel => true
|
782
|
+
end
|
783
|
+
|
774
784
|
# True if version is greater than or equal to MEEP_CLASSIFICATION_VERSION
|
775
785
|
# (PE-18718) AND the temporary feature flag is true.
|
776
786
|
#
|
data/lib/beaker-pe/version.rb
CHANGED
@@ -254,6 +254,27 @@ describe ClassMixedWithDSLInstallUtils do
|
|
254
254
|
end
|
255
255
|
end
|
256
256
|
|
257
|
+
describe 'run_puppet_on_non_infrastructure_nodes' do
|
258
|
+
let(:monolithic) { make_host('monolithic', :pe_ver => '2016.4', :platform => 'el-7-x86_64', :roles => [ 'master', 'database', 'dashboard' ]) }
|
259
|
+
let(:el_agent) { make_host('agent', :pe_ver => '2016.4', :platform => 'el-7-x86_64', :roles => ['frictionless']) }
|
260
|
+
let(:deb_agent) { make_host('agent', :pe_ver => '2016.4', :platform => 'debian-7-x86_64', :roles => ['frictionless']) }
|
261
|
+
let(:master) { make_host('master', :pe_ver => '2016.4', :platform => 'el-7-x86_64', :roles => [ 'master']) }
|
262
|
+
let(:database) { make_host('database', :pe_ver => '2016.4', :platform => 'el-7-x86_64', :roles => [ 'database']) }
|
263
|
+
let(:dashboard) { make_host('dashboard', :pe_ver => '2016.4', :platform => 'el-7-x86_64', :roles => [ 'dashboard']) }
|
264
|
+
it 'runs puppet on non-infra nodes with a monolithic master' do
|
265
|
+
expect(subject).to receive(:on).with([el_agent, deb_agent], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).once
|
266
|
+
expect(subject).to receive(:on).with([monolithic], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).never
|
267
|
+
subject.run_puppet_on_non_infrastructure_nodes([monolithic, el_agent, deb_agent])
|
268
|
+
end
|
269
|
+
it 'runs puppet on non-infra nodes with a split topology' do
|
270
|
+
expect(subject).to receive(:on).with([el_agent, deb_agent], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).once
|
271
|
+
expect(subject).to receive(:on).with([master], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).never
|
272
|
+
expect(subject).to receive(:on).with([database], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).never
|
273
|
+
expect(subject).to receive(:on).with([dashboard], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).never
|
274
|
+
subject.run_puppet_on_non_infrastructure_nodes([master, database, dashboard, el_agent, deb_agent])
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
257
278
|
describe 'install_via_msi?' do
|
258
279
|
it 'returns true if pe_version is before PE 2016.4.0' do
|
259
280
|
the_host = winhost.dup
|
@@ -943,6 +964,11 @@ describe ClassMixedWithDSLInstallUtils do
|
|
943
964
|
hosts = [monolithic, master, agent, agent, agent]
|
944
965
|
expect(subject.determine_install_type(hosts, {})).to eq(:generic)
|
945
966
|
end
|
967
|
+
it 'identifies an install that requires windows msi install as generic' do
|
968
|
+
win_agent = make_host('agent', :pe_ver => '2016.4.0', :platform => 'win-2008r2', :roles => ['frictionless'])
|
969
|
+
hosts = [monolithic, agent, win_agent]
|
970
|
+
expect(subject.determine_install_type(hosts, {})).to eq(:generic)
|
971
|
+
end
|
946
972
|
end
|
947
973
|
|
948
974
|
describe '#deploy_frictionless_to_master' do
|
@@ -1351,13 +1377,6 @@ describe ClassMixedWithDSLInstallUtils do
|
|
1351
1377
|
subject.simple_monolithic_install(monolithic, agents)
|
1352
1378
|
end
|
1353
1379
|
|
1354
|
-
it 'runs agents in parallel, only one time' do
|
1355
|
-
agents = [el_agent, el_agent, deb_agent, deb_agent]
|
1356
|
-
expect(subject).to receive(:on).with([monolithic, *agents], proc {|cmd| cmd.command == "puppet agent"}, hash_including(:run_in_parallel => true)).once
|
1357
|
-
|
1358
|
-
subject.simple_monolithic_install(monolithic, agents)
|
1359
|
-
end
|
1360
|
-
|
1361
1380
|
it "calls prepare_hosts on all hosts instead of just master" do
|
1362
1381
|
expect(subject).to receive(:prepare_hosts).with([monolithic] + [el_agent, el_agent, el_agent], {})
|
1363
1382
|
subject.simple_monolithic_install(monolithic, [el_agent, el_agent, el_agent])
|
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
|
+
version: 1.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|