beaker 2.29.1 → 2.30.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|