beaker-pe 1.15.0 → 1.16.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 +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
|