beaker 2.29.1 → 2.30.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/.gitignore +1 -0
- data/HISTORY.md +268 -2
- data/Rakefile +5 -4
- data/docs/How-to-Write-a-Beaker-Test-for-a-Module.md +11 -4
- data/lib/beaker/cli.rb +7 -1
- data/lib/beaker/dsl/install_utils/foss_utils.rb +6 -0
- data/lib/beaker/dsl/roles.rb +15 -12
- data/lib/beaker/hypervisor/vagrant.rb +1 -1
- data/lib/beaker/hypervisor/vcloud.rb +6 -1
- data/lib/beaker/options/command_line_parser.rb +6 -0
- data/lib/beaker/options/presets.rb +1 -0
- data/lib/beaker/platform.rb +8 -0
- data/lib/beaker/runner/mini_test/test_suite.rb +58 -0
- data/lib/beaker/runner/native/test_case.rb +193 -0
- data/lib/beaker/runner/native/test_suite.rb +410 -0
- data/lib/beaker/test_case.rb +2 -176
- data/lib/beaker/test_suite.rb +9 -399
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/install_utils/foss_utils_spec.rb +2 -0
- data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +4 -0
- data/spec/beaker/dsl/install_utils/puppet_utils_spec.rb +6 -0
- data/spec/beaker/dsl/roles_spec.rb +118 -0
- data/spec/beaker/hypervisor/vagrant_spec.rb +4 -4
- data/spec/beaker/options/beaker_options_spec.rb +34 -0
- data/spec/beaker/platform_spec.rb +17 -1
- data/spec/beaker/runner/native/test_case_spec.rb +147 -0
- data/spec/beaker/runner/native/test_suite_spec.rb +303 -0
- data/spec/beaker/test_suite_spec.rb +9 -306
- data/spec/helpers.rb +1 -1
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2FjYzE1ZjkzNDBiNTMwOTdjZTFlOTg5OTMzOTgzNDBkMzJlMzRmMA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OTA5NTY5ZTQ5YWE0OWU2NjVlNDVhMDBjYThiZmEwYTg2ODFiMTM3OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YmE0NjFmMmU2ZmU5OWMxMTY2YmI2YWUxOGE3MGVjZmNlYzMzNTgxYjg2Zjc5
|
10
|
+
ZTMwZGQ3OWQ5Y2Q5ZTc0NzgzY2M3NGJlZWE0ZTU4NjQxODA0MjdhNGQyNjE5
|
11
|
+
NDY3YTljMzcwYjJlNTgxOGNiMTAwZDc4NjM2MDVmOGY1NzgyODA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZWJlZmY0NzBlY2Q1ZjYyNDQxMDNmYzg0ZjE0OWE0N2NmMjBjZTVjMmE5OTNh
|
14
|
+
ODhjN2E5ZmYxOTg5ODYyMzQ3NjA5NTkwZDU0MmYxMTMyNTliM2YyNjNiMzUx
|
15
|
+
NzZiOGQ2ZDgyYjYyMWQ2MTc1NDQzOTk2ZTJlNzQ2NGQwZTk4YmM=
|
data/.gitignore
CHANGED
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# default - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 2 Dec, 2015 (bc912e78)](#LATEST)
|
4
|
+
* [2.29.1 - 23 Nov, 2015 (5d824690)](#2.29.1)
|
4
5
|
* [2.29.0 - 18 Nov, 2015 (33fd2399)](#2.29.0)
|
5
6
|
* [2.28.0 - 4 Nov, 2015 (89829551)](#2.28.0)
|
6
7
|
* [2.27.0 - 21 Oct, 2015 (0378d13a)](#2.27.0)
|
@@ -102,7 +103,272 @@
|
|
102
103
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
103
104
|
|
104
105
|
## Details
|
105
|
-
### <a name = "LATEST">LATEST -
|
106
|
+
### <a name = "LATEST">LATEST - 2 Dec, 2015 (bc912e78)
|
107
|
+
|
108
|
+
* (GEM) update beaker version to 2.30.0 (bc912e78)
|
109
|
+
|
110
|
+
* Merge pull request #1013 from puppetlabs/bkr-623/test-runner-reorganization (6c613051)
|
111
|
+
|
112
|
+
|
113
|
+
```
|
114
|
+
Merge pull request #1013 from puppetlabs/bkr-623/test-runner-reorganization
|
115
|
+
|
116
|
+
[BKR-623] Reorganize Beaker test runner classes for introduction of minitest runner
|
117
|
+
```
|
118
|
+
* Merge pull request #1021 from kevpl/yard_gen_fix (5fcdb777)
|
119
|
+
|
120
|
+
|
121
|
+
```
|
122
|
+
Merge pull request #1021 from kevpl/yard_gen_fix
|
123
|
+
|
124
|
+
(MAINT) updated yard doc location
|
125
|
+
```
|
126
|
+
* Merge pull request #1016 from hunner/add_solaris (1245f155)
|
127
|
+
|
128
|
+
|
129
|
+
```
|
130
|
+
Merge pull request #1016 from hunner/add_solaris
|
131
|
+
|
132
|
+
(BKR-472) (BKR-475) Fix solaris for install_pe_on with 2015.2
|
133
|
+
```
|
134
|
+
* Merge pull request #1017 from adrienthebo/ruby-193-p194-platform-yaml-deserialize (d4854de2)
|
135
|
+
|
136
|
+
|
137
|
+
```
|
138
|
+
Merge pull request #1017 from adrienthebo/ruby-193-p194-platform-yaml-deserialize
|
139
|
+
|
140
|
+
(BKR-634) Fix YAML deserialization for Beaker::Platform
|
141
|
+
```
|
142
|
+
* Merge pull request #1008 from developerinlondon/master (6bdb61bc)
|
143
|
+
|
144
|
+
|
145
|
+
```
|
146
|
+
Merge pull request #1008 from developerinlondon/master
|
147
|
+
|
148
|
+
(BKR-622) Fix Regular Expression to give correct Host IP Address
|
149
|
+
```
|
150
|
+
* Merge pull request #1022 from bleach/fix_module_howto (125fd861)
|
151
|
+
|
152
|
+
|
153
|
+
```
|
154
|
+
Merge pull request #1022 from bleach/fix_module_howto
|
155
|
+
|
156
|
+
(BKR-636) Fix module howto
|
157
|
+
```
|
158
|
+
* (BKR-623) Make native runner name consistent (fdd904eb)
|
159
|
+
|
160
|
+
|
161
|
+
```
|
162
|
+
(BKR-623) Make native runner name consistent
|
163
|
+
|
164
|
+
Prior to this we ended up in a state where the beaker native runner
|
165
|
+
was in the Beaker::Runner::Native module namespace, but textual and
|
166
|
+
--runner references to the runner used the name 'beaker'. This makes
|
167
|
+
them consistently 'native'.
|
168
|
+
```
|
169
|
+
* (BKR-623) Stop advertising minitest runner in --help (1164b15c)
|
170
|
+
|
171
|
+
|
172
|
+
```
|
173
|
+
(BKR-623) Stop advertising minitest runner in --help
|
174
|
+
|
175
|
+
We will wait until this is ready for prime time to mention it.
|
176
|
+
```
|
177
|
+
* Merge pull request #1012 from kevpl/bkr609_pever_empty (bff4d847)
|
178
|
+
|
179
|
+
|
180
|
+
```
|
181
|
+
Merge pull request #1012 from kevpl/bkr609_pever_empty
|
182
|
+
|
183
|
+
(BKR-609) added checks to make aio_version? more robust
|
184
|
+
```
|
185
|
+
* (BKR-636) Specify module directory in spec helper (3635726c)
|
186
|
+
|
187
|
+
|
188
|
+
```
|
189
|
+
(BKR-636) Specify module directory in spec helper
|
190
|
+
|
191
|
+
Unless this is specified, the module seems to be installed in
|
192
|
+
/etc/puppetlabs/puppet/modules, where it is not found by puppet.
|
193
|
+
```
|
194
|
+
* (BKR-636) Tell the user to install pry (151d72fe)
|
195
|
+
|
196
|
+
|
197
|
+
```
|
198
|
+
(BKR-636) Tell the user to install pry
|
199
|
+
|
200
|
+
The sample spec_helper requires pry, so we now tell the user to install it.
|
201
|
+
```
|
202
|
+
* Merge pull request #1014 from heathseals/extraConfig (1317b33b)
|
203
|
+
|
204
|
+
|
205
|
+
```
|
206
|
+
Merge pull request #1014 from heathseals/extraConfig
|
207
|
+
|
208
|
+
(BKR-635) Add VM hostname to VMX data during cloning operations
|
209
|
+
```
|
210
|
+
* (MAINT) updated yard doc location (1c51fdee)
|
211
|
+
|
212
|
+
|
213
|
+
```
|
214
|
+
(MAINT) updated yard doc location
|
215
|
+
|
216
|
+
Since moving the wiki docs into the repo itself, there's been
|
217
|
+
an issue where if you ran the yard rake tasks, you'd blow away
|
218
|
+
the in-repo docs, because the default yard doc location is the
|
219
|
+
same as the in-repo docs location: . This change makes
|
220
|
+
yard create the folder, and use it for local doc
|
221
|
+
generation
|
222
|
+
```
|
223
|
+
* (BKR-634) Fix YAML deserialization for Beaker::Platform (2ddd8881)
|
224
|
+
|
225
|
+
|
226
|
+
```
|
227
|
+
(BKR-634) Fix YAML deserialization for Beaker::Platform
|
228
|
+
|
229
|
+
The version of Psych shipped with Ruby 1.9.3-p194 did not support
|
230
|
+
subclasses of String that added additional ivars to the String class.
|
231
|
+
The Beaker::Platform class does just that - subclassing String and
|
232
|
+
additional ivars - which meant that round tripping a Beaker::Platform
|
233
|
+
object would create an object with improperly initialized instance
|
234
|
+
variables. Psych commit e2fcf9af9e95535401f816bc893839b9ad743a9e
|
235
|
+
resolved that issue but we still use platforms that have the old version
|
236
|
+
of psych.
|
237
|
+
|
238
|
+
To resolve this issue, this commit implements a custom #init_with method
|
239
|
+
that explicitly sets all instance variables on the Beaker object that
|
240
|
+
were defined inside of the YAML map instance, and then reconstructs the
|
241
|
+
string value based on those fields.
|
242
|
+
```
|
243
|
+
* (BKR-472) (BKR-475) Fix solaris for install_pe_on with 2015.2 (e27613e1)
|
244
|
+
|
245
|
+
|
246
|
+
```
|
247
|
+
(BKR-472) (BKR-475) Fix solaris for install_pe_on with 2015.2
|
248
|
+
|
249
|
+
When trying to install puppet-agent collection packages through
|
250
|
+
`install_pe_on`, eventually `install_puppet_agent_pe_promoted_repo_on`
|
251
|
+
gets called but has no entry for where the solaris packages are kept.
|
252
|
+
This commit adds the ability for solaris to install PC puppet-agent
|
253
|
+
packages.
|
254
|
+
```
|
255
|
+
* (BKR-623) Remove inheritance from Beaker::TestSuite (c8610167)
|
256
|
+
|
257
|
+
* (BKR-623) migrate TestCase tests into native runner (afc9546a)
|
258
|
+
|
259
|
+
* (BKR-632) Include 'minitest' in --runner options list (e84a4059)
|
260
|
+
|
261
|
+
* (BKR-623) Add barebones minitest test suite class (a33c5ec5)
|
262
|
+
|
263
|
+
* (BKR-623) Migrate TestSuite tests to the native runner (43c7ac77)
|
264
|
+
|
265
|
+
* (BKR-635) Add VM hostname to VMX data during cloning operations (55fb8447)
|
266
|
+
|
267
|
+
|
268
|
+
```
|
269
|
+
(BKR-635) Add VM hostname to VMX data during cloning operations
|
270
|
+
|
271
|
+
This commit adds a custom guestinfo keyword and hostname variable
|
272
|
+
that allows the VMware Tools to query the hostname.
|
273
|
+
```
|
274
|
+
* (BKR-623) Rename runner/beaker to runner/native, ... (7d13665e)
|
275
|
+
|
276
|
+
|
277
|
+
```
|
278
|
+
(BKR-623) Rename runner/beaker to runner/native, ...
|
279
|
+
|
280
|
+
... and bring `Beaker::TestCase` into the fold.
|
281
|
+
|
282
|
+
Prior to this, `Beaker::TestCase` was still global. In moving it to a nested
|
283
|
+
`Beaker::Runner::Beaker::TestCase` I found that a few tests were starting to
|
284
|
+
fail. Further investigation showed that references to `Beaker::*` classes
|
285
|
+
inside tests were being resolved as `Beaker::Runner::Beaker::*`, and throwing
|
286
|
+
constant missing exceptions. Moving `Beaker::Runner::Beaker` to
|
287
|
+
`Beaker::Runner::Native` allows ruby's nested class resolution algorithm
|
288
|
+
to find `::Beaker` instead of a nested `Beaker` module constant.
|
289
|
+
```
|
290
|
+
* (BKR-623) Use --runner to choose test suite (f1aace6b)
|
291
|
+
|
292
|
+
* (BKR-623) Adjust const_set hack names (06469668)
|
293
|
+
|
294
|
+
|
295
|
+
```
|
296
|
+
(BKR-623) Adjust const_set hack names
|
297
|
+
|
298
|
+
Prior to this, old tests which relied on Beaker::Log being set to
|
299
|
+
@logger, would break under our refactorings. For example:
|
300
|
+
https://github.com/puppetlabs/puppet/blob/3.8.3/acceptance/tests/security/cve-2013-1653_puppet_kick.rb#L66
|
301
|
+
|
302
|
+
This should continue the duct-taping of constant names, kicking the can that much further
|
303
|
+
down the road.
|
304
|
+
```
|
305
|
+
* (BKR-623) Add `--runner` option, defaulting to "beaker" (f392f2a3)
|
306
|
+
|
307
|
+
|
308
|
+
```
|
309
|
+
(BKR-623) Add `--runner` option, defaulting to "beaker"
|
310
|
+
|
311
|
+
Note, we are generally not testing our command-line behavior, our presets, etc.
|
312
|
+
This adds a spec that shows how to easily test these sorts of things.
|
313
|
+
```
|
314
|
+
* (BKR-623) Specialize Beaker::TestSuite (1bf1ed77)
|
315
|
+
|
316
|
+
|
317
|
+
```
|
318
|
+
(BKR-623) Specialize Beaker::TestSuite
|
319
|
+
|
320
|
+
This creates a `lib/beaker/runnner` path, a `Beaker::Runner` module namespace,
|
321
|
+
and moves the `Beaker::TestSuite` there, leaving a wrapper subclass behind.
|
322
|
+
|
323
|
+
This allows us to treat the current Beaker test runner as a special case, making
|
324
|
+
space to add support for other test runners. Everything should continue working
|
325
|
+
as before, allowing us to move on to next steps.
|
326
|
+
```
|
327
|
+
* (BKR-609) added checks to make aio_version? more robust (54f79440)
|
328
|
+
|
329
|
+
* {BKR-622} Fix Regular Expression to give correct Host IP Address (5c3331b4)
|
330
|
+
|
331
|
+
|
332
|
+
```
|
333
|
+
{BKR-622} Fix Regular Expression to give correct Host IP Address
|
334
|
+
|
335
|
+
Without this patch applied the hostname can sometimes be incorrectly picked up and this
|
336
|
+
creates problem with all the hostnames getting the same IP addresses on a multi-node setup.
|
337
|
+
|
338
|
+
Example Nodeset that can cause this problem:
|
339
|
+
HOSTS:
|
340
|
+
staging:
|
341
|
+
roles:
|
342
|
+
- sta
|
343
|
+
- master
|
344
|
+
platform: el-6-x86_64
|
345
|
+
box: puppetlabs/centos-6.6-64-puppet
|
346
|
+
box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-puppet
|
347
|
+
hypervisor: vagrant
|
348
|
+
shared_folder: abc
|
349
|
+
NetworkSettings:
|
350
|
+
IPAddress: 10.255.50.100
|
351
|
+
etl:
|
352
|
+
roles:
|
353
|
+
- etl
|
354
|
+
platform: el-6-x86_64
|
355
|
+
box: puppetlabs/centos-6.6-64-puppet
|
356
|
+
box_url: https://vagrantcloud.com/puppetlabs/boxes/centos-6.6-64-puppet
|
357
|
+
hypervisor: vagrant
|
358
|
+
NetworkSettings:
|
359
|
+
IPAddress: 10.255.50.120
|
360
|
+
CONFIG:
|
361
|
+
type: git
|
362
|
+
destroy: no
|
363
|
+
|
364
|
+
In the above scenario, the hostname 'etl' is also available when you search 'puppetlabs'.
|
365
|
+
|
366
|
+
The patch fixes this by changing the regular expression to look for the string 'etl' (including
|
367
|
+
the quote marks).
|
368
|
+
```
|
369
|
+
### <a name = "2.29.1">2.29.1 - 23 Nov, 2015 (5d824690)
|
370
|
+
|
371
|
+
* (HISTORY) update beaker history for gem release 2.29.1 (5d824690)
|
106
372
|
|
107
373
|
* (GEM) update beaker version to 2.29.1 (5781838d)
|
108
374
|
|
data/Rakefile
CHANGED
@@ -75,8 +75,9 @@ end
|
|
75
75
|
# Documentation Tasks
|
76
76
|
#
|
77
77
|
###########################################################
|
78
|
-
|
79
|
-
|
78
|
+
DOCS_DIR = 'yard_docs'
|
79
|
+
DOCS_DAEMON = "yard server --reload --daemon --server thin --docroot #{DOCS_DIR}"
|
80
|
+
FOREGROUND_SERVER = "bundle exec yard server --reload --verbose --server thin lib/beaker --docroot #{DOCS_DIR}"
|
80
81
|
|
81
82
|
def running?( cmdline )
|
82
83
|
ps = `ps -ef`
|
@@ -107,7 +108,7 @@ namespace :docs do
|
|
107
108
|
task :clear do
|
108
109
|
original_dir = Dir.pwd
|
109
110
|
Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
|
110
|
-
sh
|
111
|
+
sh "rm -rf #{DOCS_DIR}"
|
111
112
|
Dir.chdir( original_dir )
|
112
113
|
end
|
113
114
|
|
@@ -115,7 +116,7 @@ namespace :docs do
|
|
115
116
|
task :gen => 'docs:clear' do
|
116
117
|
original_dir = Dir.pwd
|
117
118
|
Dir.chdir( File.expand_path(File.dirname(__FILE__)) )
|
118
|
-
output = `bundle exec yard doc`
|
119
|
+
output = `bundle exec yard doc -o #{DOCS_DIR}`
|
119
120
|
puts output
|
120
121
|
if output =~ /\[warn\]|\[error\]/
|
121
122
|
fail "Errors/Warnings during yard documentation generation"
|
@@ -66,7 +66,8 @@ RSpec.configure do |c|
|
|
66
66
|
# Configure all nodes in nodeset
|
67
67
|
c.before :suite do
|
68
68
|
# Install module
|
69
|
-
puppet_module_install(:source => module_root, :module_name => 'mysql'
|
69
|
+
puppet_module_install(:source => module_root, :module_name => 'mysql',
|
70
|
+
:target_module_path => '/etc/puppet/modules')
|
70
71
|
hosts.each do |host|
|
71
72
|
on host, puppet('module','install','puppetlabs-stdlib'), { :acceptable_exit_codes => [0,1] }
|
72
73
|
end
|
@@ -79,13 +80,19 @@ Update spec_helper_acceptance.rb to reflect the module under test. You will nee
|
|
79
80
|
###Install beaker-rspec
|
80
81
|
####From Gem (preferred)
|
81
82
|
|
82
|
-
gem install beaker-rspec
|
83
|
+
gem install beaker-rspec pry
|
83
84
|
|
84
85
|
###Update the module's Gemfile
|
85
86
|
|
86
|
-
In module's top level directory edit Gemfile.
|
87
|
+
In module's top level directory edit the Gemfile. If there is a section that
|
88
|
+
begins `group :development, :test do`, then add it there.
|
87
89
|
|
88
|
-
|
90
|
+
```ruby
|
91
|
+
gem 'beaker-rspec', :require => false
|
92
|
+
gem 'pry', :require => false
|
93
|
+
```
|
94
|
+
|
95
|
+
Then run
|
89
96
|
|
90
97
|
bundle install
|
91
98
|
|
data/lib/beaker/cli.rb
CHANGED
@@ -154,7 +154,13 @@ module Beaker
|
|
154
154
|
@logger.notify("No tests to run for suite '#{suite_name.to_s}'")
|
155
155
|
return
|
156
156
|
end
|
157
|
-
|
157
|
+
|
158
|
+
unless runner_class = Beaker::TestSuite.runner(@options[:runner])
|
159
|
+
@logger.error "Test runner #{@options[:runner]} is unknown."
|
160
|
+
exit 1
|
161
|
+
end
|
162
|
+
|
163
|
+
runner_class.new(
|
158
164
|
suite_name, @hosts, @options, @timestamp, failure_strategy
|
159
165
|
).run_and_raise_on_failure
|
160
166
|
end
|
@@ -1338,6 +1338,12 @@ NOASK
|
|
1338
1338
|
when /^osx$/
|
1339
1339
|
release_file = "/repos/apple/#{opts[:puppet_collection]}/puppet-agent-*"
|
1340
1340
|
download_file = "puppet-agent-#{variant}-#{version}.tar.gz"
|
1341
|
+
when /^solaris$/
|
1342
|
+
if arch == 'x86_64'
|
1343
|
+
arch = 'i386'
|
1344
|
+
end
|
1345
|
+
release_file = "/repos/solaris/#{version}/#{opts[:puppet_collection]}/puppet-agent-*#{arch}.pkg.gz"
|
1346
|
+
download_file = "puppet-agent-#{varant}-#{version}-#{arch}.tar.gz"
|
1341
1347
|
else
|
1342
1348
|
raise "No pe-promoted installation step for #{variant} yet..."
|
1343
1349
|
end
|
data/lib/beaker/dsl/roles.rb
CHANGED
@@ -119,25 +119,28 @@ module Beaker
|
|
119
119
|
host['roles'].length == 1 && host['roles'].include?('agent')
|
120
120
|
end
|
121
121
|
|
122
|
-
# Determine whether a host has an AIO version or not. If a host :pe_ver or
|
123
|
-
# is not specified, then
|
124
|
-
#
|
122
|
+
# Determine whether a host has an AIO version or not. If a host :pe_ver or
|
123
|
+
# :version is not specified, then either the 'aio' role or type will be
|
124
|
+
# needed for a host to be the AIO version.
|
125
125
|
#
|
126
|
-
# True
|
127
|
-
# *
|
128
|
-
# *
|
129
|
-
# *
|
130
|
-
# *
|
126
|
+
# True if host has
|
127
|
+
# * PE version (:pe_ver) >= 4.0
|
128
|
+
# * FOSS version (:version) >= 4.0
|
129
|
+
# * the role 'aio'
|
130
|
+
# * the type 'aio'
|
131
131
|
#
|
132
132
|
# @note aio version is just a base-line condition. If you want to check
|
133
133
|
# that a host is an aio agent, refer to {#aio_agent?}.
|
134
134
|
#
|
135
135
|
# @return [Boolean] whether or not a host is AIO-capable
|
136
136
|
def aio_version?(host)
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
137
|
+
[:pe_ver, :version].each do |key|
|
138
|
+
version = host[key]
|
139
|
+
return !version_is_less(version, '4.0') if version && !version.empty?
|
140
|
+
end
|
141
|
+
return true if host[:roles] && host[:roles].include?('aio')
|
142
|
+
return true if host[:type] && !!(host[:type] =~ /(\A|-)aio(\Z|-)/ )
|
143
|
+
false
|
141
144
|
end
|
142
145
|
|
143
146
|
# Determine if the host is an AIO agent
|