beaker 2.10.0 → 2.11.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 +292 -4
- data/acceptance/tests/base/host.rb +1 -0
- data/lib/beaker/answers/version30.rb +10 -10
- data/lib/beaker/cli.rb +10 -8
- data/lib/beaker/command.rb +1 -1
- data/lib/beaker/dsl/helpers/facter_helpers.rb +10 -1
- data/lib/beaker/dsl/helpers/hiera_helpers.rb +0 -11
- data/lib/beaker/dsl/helpers/host_helpers.rb +12 -3
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +11 -3
- data/lib/beaker/dsl/helpers/tk_helpers.rb +0 -12
- data/lib/beaker/dsl/helpers/web_helpers.rb +0 -12
- data/lib/beaker/dsl/install_utils/module_utils.rb +9 -6
- data/lib/beaker/dsl/install_utils/pe_utils.rb +60 -8
- data/lib/beaker/dsl/install_utils/puppet_utils.rb +15 -2
- data/lib/beaker/host.rb +11 -145
- data/lib/beaker/host/mac.rb +3 -7
- data/lib/beaker/host/mac/pkg.rb +43 -0
- data/lib/beaker/host/pswindows.rb +1 -1
- data/lib/beaker/host/pswindows/exec.rb +83 -2
- data/lib/beaker/host/pswindows/pkg.rb +9 -6
- data/lib/beaker/host/unix/exec.rb +105 -0
- data/lib/beaker/host/unix/pkg.rb +22 -9
- data/lib/beaker/host/windows.rb +2 -1
- data/lib/beaker/host/windows/exec.rb +1 -1
- data/lib/beaker/host/windows/pkg.rb +4 -7
- data/lib/beaker/host_prebuilt_steps.rb +14 -14
- data/lib/beaker/hypervisor/aws_sdk.rb +198 -114
- data/lib/beaker/hypervisor/openstack.rb +48 -25
- data/lib/beaker/shared/host_manager.rb +11 -2
- data/lib/beaker/ssh_connection.rb +26 -0
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/answers_spec.rb +56 -0
- data/spec/beaker/cli_spec.rb +16 -12
- data/spec/beaker/command_spec.rb +3 -0
- data/spec/beaker/dsl/install_utils/module_utils_spec.rb +2 -2
- data/spec/beaker/dsl/install_utils/pe_utils_spec.rb +71 -3
- data/spec/beaker/dsl/install_utils/puppet_utils_spec.rb +4 -1
- data/spec/beaker/host/unix/pkg_spec.rb +10 -10
- data/spec/beaker/host_prebuilt_steps_spec.rb +3 -1
- data/spec/beaker/host_spec.rb +8 -2
- data/spec/beaker/hypervisor/vagrant_spec.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjcxZmM2NGE2YTM1ZjAwZmU4MDI4M2U0NzZmOTk4MzMxZDg3NDRiOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Y2M3MmViODg0MTdiZDIxZWZjNjIyYmExMWMwMGFkMzA4OTViZmQxOQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
N2VjY2E2NmM2N2E3MGUyOTBkY2FlZTM3MjUwZjY5YjE0OGU4N2JjYTI1OWNi
|
10
|
+
MWM1YzIyYzgzOWM2ZWJhNjdjNmIxMzAyMmZkMzk3Njk3Mzc4ZWQwM2ZjYWZj
|
11
|
+
MzhiZTVmYTQ0NzE0YTU2MTVhZjg4NDBjYjlhNTk0YTQ4ZGNjMDk=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZmRjZDhkNjU5ODQyMjY3YjZlNTc2NTIyYmYwMzNlOTA1YmJhZmFhZmQ2Y2Y3
|
14
|
+
ODEyODVkMzZhMjcxMTQ0NTYzYjNmYmVlZThjZWMzNmQwNWJkMTAyY2RlYzVk
|
15
|
+
MTNkYmQ3NjE5OTNkMTJkODk5ZGE0ZWFmNjVlODI4YjYyMTUyNzk=
|
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# default - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 6 May, 2015 (50128ac0)](#LATEST)
|
4
|
+
* [2.10.0 - 22 Apr, 2015 (c4f37479)](#2.10.0)
|
4
5
|
* [2.9.0 - 9 Apr, 2015 (b161d325)](#2.9.0)
|
5
6
|
* [beaker2.8.0 - 26 Mar, 2015 (2d25d06d)](#beaker2.8.0)
|
6
7
|
* [beaker2.7.1 - 19 Mar, 2015 (45b2bf10)](#beaker2.7.1)
|
@@ -78,7 +79,294 @@
|
|
78
79
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
79
80
|
|
80
81
|
## Details
|
81
|
-
### <a name = "LATEST">LATEST -
|
82
|
+
### <a name = "LATEST">LATEST - 6 May, 2015 (50128ac0)
|
83
|
+
|
84
|
+
* (GEM) update beaker version to 2.11.0 (50128ac0)
|
85
|
+
|
86
|
+
* Merge pull request #806 from kevpl/bkr240_windows_rebootfix (7455593a)
|
87
|
+
|
88
|
+
|
89
|
+
```
|
90
|
+
Merge pull request #806 from kevpl/bkr240_windows_rebootfix
|
91
|
+
|
92
|
+
(BKR-240) added a reason code on reboot for windows
|
93
|
+
```
|
94
|
+
* Merge pull request #803 from puppetlabs/fix/qeng-2009_3.99_windows_msi_name (4098e30c)
|
95
|
+
|
96
|
+
|
97
|
+
```
|
98
|
+
Merge pull request #803 from puppetlabs/fix/qeng-2009_3.99_windows_msi_name
|
99
|
+
|
100
|
+
(QENG-2009) Fix windows MSI name for 3.99
|
101
|
+
```
|
102
|
+
* Merge pull request #804 from davemcdonnell/fix_pty_typo_el7 (0de90408)
|
103
|
+
|
104
|
+
|
105
|
+
```
|
106
|
+
Merge pull request #804 from davemcdonnell/fix_pty_typo_el7
|
107
|
+
|
108
|
+
Fix typo ptry => pty, sudo failing on el7
|
109
|
+
```
|
110
|
+
* Merge pull request #802 from anodelman/win-fix (d17a309e)
|
111
|
+
|
112
|
+
|
113
|
+
```
|
114
|
+
Merge pull request #802 from anodelman/win-fix
|
115
|
+
|
116
|
+
(BKR-191) replace is_cygwin? with a more understandable name
|
117
|
+
```
|
118
|
+
* Merge pull request #808 from kevpl/bkr235_answers_puppetdbcustomize (441bf997)
|
119
|
+
|
120
|
+
|
121
|
+
```
|
122
|
+
Merge pull request #808 from kevpl/bkr235_answers_puppetdbcustomize
|
123
|
+
|
124
|
+
(BKR-235) Added Customization for External Postgres
|
125
|
+
```
|
126
|
+
* Merge pull request #807 from kevpl/bkr241_windows_install32bitpuppetagent (cacb37e0)
|
127
|
+
|
128
|
+
|
129
|
+
```
|
130
|
+
Merge pull request #807 from kevpl/bkr241_windows_install32bitpuppetagent
|
131
|
+
|
132
|
+
Bkr241 windows install32bitpuppetagent
|
133
|
+
```
|
134
|
+
* Merge pull request #809 from kevpl/bkr243_preservedhosts_v2 (5d74773c)
|
135
|
+
|
136
|
+
|
137
|
+
```
|
138
|
+
Merge pull request #809 from kevpl/bkr243_preservedhosts_v2
|
139
|
+
|
140
|
+
(BKR-243) improved preserved-hosts file saving
|
141
|
+
```
|
142
|
+
* (BKR-243) improved preserved-hosts file saving (282bb9e4)
|
143
|
+
|
144
|
+
* (BKR-240) added a reason code on reboot for windows (24fc8038)
|
145
|
+
|
146
|
+
* Merge pull request #791 from rbrw/ticket/master/bkr-217-rotate-ec2-subnets (61b3b1bd)
|
147
|
+
|
148
|
+
|
149
|
+
```
|
150
|
+
Merge pull request #791 from rbrw/ticket/master/bkr-217-rotate-ec2-subnets
|
151
|
+
|
152
|
+
(BKR-217) aws_sdk: given CONFIG subnet_ids, try each in turn
|
153
|
+
```
|
154
|
+
* Merge pull request #793 from kevpl/bkr180_install_middleman (90eb818e)
|
155
|
+
|
156
|
+
|
157
|
+
```
|
158
|
+
Merge pull request #793 from kevpl/bkr180_install_middleman
|
159
|
+
|
160
|
+
(BKR-180) added ability to use Beaker machine as scp middle-man for PE
|
161
|
+
```
|
162
|
+
* Merge pull request #797 from anodelman/sweep (f40ed598)
|
163
|
+
|
164
|
+
|
165
|
+
```
|
166
|
+
Merge pull request #797 from anodelman/sweep
|
167
|
+
|
168
|
+
(BKR-224) on(node, 'puppet agent -t') raises no warning when node = []
|
169
|
+
```
|
170
|
+
* Merge pull request #798 from fiddyspence/bug/move_round_openstack_address_assignments (30019ce0)
|
171
|
+
|
172
|
+
|
173
|
+
```
|
174
|
+
Merge pull request #798 from fiddyspence/bug/move_round_openstack_address_assignments
|
175
|
+
|
176
|
+
(BKR-223) Change order of how we assign IPs to openstack instances
|
177
|
+
```
|
178
|
+
* Merge pull request #801 from anodelman/maint (40b18ed0)
|
179
|
+
|
180
|
+
|
181
|
+
```
|
182
|
+
Merge pull request #801 from anodelman/maint
|
183
|
+
|
184
|
+
(BKR-215) Document all of the options to #on and friends
|
185
|
+
```
|
186
|
+
* BKR-245 Fix typo ptry => pty, restart sshd failing on el7 when running sudo (07f69955)
|
187
|
+
|
188
|
+
* (QENG-2009) Update beaker specs for 3.99 windows msi fix (8b5401f7)
|
189
|
+
|
190
|
+
* (QENG-2009) Fix windows MSI name for 3.99 (cd07eb83)
|
191
|
+
|
192
|
+
|
193
|
+
```
|
194
|
+
(QENG-2009) Fix windows MSI name for 3.99
|
195
|
+
|
196
|
+
We were only using puppet-agent for 4.0, this
|
197
|
+
commit bumps that down to 3.99.
|
198
|
+
```
|
199
|
+
* (BKR-235) all necessary answers to use an external postgres host are now customizable (493fea00)
|
200
|
+
|
201
|
+
* (BKR-191) replace is_cygwin? with a more understandable name (2c67d735)
|
202
|
+
|
203
|
+
|
204
|
+
```
|
205
|
+
(BKR-191) replace is_cygwin? with a more understandable name
|
206
|
+
|
207
|
+
- create is_powershell?, update usages of is_cygwin as appropriate
|
208
|
+
- move powershell only code into pswindows host object
|
209
|
+
- fixes related to breakages discovered when this code was moved
|
210
|
+
```
|
211
|
+
* (BKR-215) Document all of the options to #on and friends (1dda76e3)
|
212
|
+
|
213
|
+
|
214
|
+
```
|
215
|
+
(BKR-215) Document all of the options to #on and friends
|
216
|
+
|
217
|
+
- updates shared options to be current (with info for
|
218
|
+
accept_all_exit_codes and friends)
|
219
|
+
- yard doc does a single pass and you can't guarantee file ordering, so
|
220
|
+
you have to have the common options macro in each file that needs it -
|
221
|
+
duplication yay!
|
222
|
+
```
|
223
|
+
* (MAINT) update acceptable_exit_codes usage to accept_all_exit_codes (402b4d85)
|
224
|
+
|
225
|
+
|
226
|
+
```
|
227
|
+
(MAINT) update acceptable_exit_codes usage to accept_all_exit_codes
|
228
|
+
|
229
|
+
- we are abusing acceptable_exit_codes all over the place by giving it a
|
230
|
+
mega-array, basically recreating the functionality of
|
231
|
+
accept_all_exit_codes
|
232
|
+
```
|
233
|
+
* (BKR-235) added ability to customize puppetdb_hostname answer (3d5d5b64)
|
234
|
+
|
235
|
+
* (BKR-223) Change order of how we assign IPs to openstack instances (f6d2c521)
|
236
|
+
|
237
|
+
* (BKR-224) on(node, 'puppet agent -t') raises no warning when node = [] (69315874)
|
238
|
+
|
239
|
+
|
240
|
+
```
|
241
|
+
(BKR-224) on(node, 'puppet agent -t') raises no warning when node = []
|
242
|
+
|
243
|
+
- if a logger is defined then send a warning message if attempting to
|
244
|
+
run a command against an array of 0 nodes
|
245
|
+
```
|
246
|
+
* Merge pull request #794 from kevpl/bkr199_cumulus_packageupdate (4e556c5b)
|
247
|
+
|
248
|
+
|
249
|
+
```
|
250
|
+
Merge pull request #794 from kevpl/bkr199_cumulus_packageupdate
|
251
|
+
|
252
|
+
(BKR-199) updated cumulus packages required to reflect current package structure
|
253
|
+
```
|
254
|
+
* Merge pull request #795 from fiddyspence/bug/rsync_source_always_nil (7bc2c62e)
|
255
|
+
|
256
|
+
|
257
|
+
```
|
258
|
+
Merge pull request #795 from fiddyspence/bug/rsync_source_always_nil
|
259
|
+
|
260
|
+
(BKR-225) rsync module_utils method source is always nil
|
261
|
+
```
|
262
|
+
* Merge pull request #788 from fiddyspence/feature/do_you_want_openstack_region_support_this_time (c35ec983)
|
263
|
+
|
264
|
+
|
265
|
+
```
|
266
|
+
Merge pull request #788 from fiddyspence/feature/do_you_want_openstack_region_support_this_time
|
267
|
+
|
268
|
+
[openstack] enable support for multiple regions
|
269
|
+
```
|
270
|
+
* (BKR-225) rsync module_utils method source is always nil (e3db6871)
|
271
|
+
|
272
|
+
|
273
|
+
```
|
274
|
+
(BKR-225) rsync module_utils method source is always nil
|
275
|
+
|
276
|
+
sadfs
|
277
|
+
```
|
278
|
+
* (BKR-199) updated cumulus packages required to reflect current package structure (790c5d44)
|
279
|
+
|
280
|
+
* (BKR-180) added ability to use Beaker machine as scp middle-man for PE (b97640c0)
|
281
|
+
|
282
|
+
* (BKR-217) aws_sdk: given CONFIG subnet_ids, try each in turn (08e4f79d)
|
283
|
+
|
284
|
+
|
285
|
+
```
|
286
|
+
(BKR-217) aws_sdk: given CONFIG subnet_ids, try each in turn
|
287
|
+
|
288
|
+
This should help alleviate the EC2 InsufficientInstanceCapacity.
|
289
|
+
|
290
|
+
The new policy will only be applied to a host if there isn't a CONFIG
|
291
|
+
subnet_id and there isn't a host-specific subnet_id. When it does
|
292
|
+
apply, try each subnet in subnet_ids once for each relevant host.
|
293
|
+
|
294
|
+
The new option can be used like this:
|
295
|
+
|
296
|
+
CONFIG
|
297
|
+
vpc_id: foo
|
298
|
+
subnet_ids:
|
299
|
+
- x
|
300
|
+
- y
|
301
|
+
- z
|
302
|
+
```
|
303
|
+
* (BKR-27)[openstack] enable support for multiple regions (e32e0b54)
|
304
|
+
|
305
|
+
* (BKR-217) aws_sdk: Kill EC2 instances on exception (6b0cf490)
|
306
|
+
|
307
|
+
|
308
|
+
```
|
309
|
+
(BKR-217) aws_sdk: Kill EC2 instances on exception
|
310
|
+
|
311
|
+
Move EC2 cleanup code to kill_instances() and call that from cleanup(),
|
312
|
+
and from a new exception handler in launch_all_nodes(), to be sure we
|
313
|
+
don't leave instances running when something goes wrong.
|
314
|
+
|
315
|
+
Adjust wait_for_status() to handle a specific list of hosts rather than
|
316
|
+
just @hosts.
|
317
|
+
```
|
318
|
+
* (BKR-217) aws_sdk: add create_instance() (d4d6521d)
|
319
|
+
|
320
|
+
|
321
|
+
```
|
322
|
+
(BKR-217) aws_sdk: add create_instance()
|
323
|
+
|
324
|
+
Move the per-host core of launch_all_nodes() to create_instance() to
|
325
|
+
prepare for the addition of launch exception
|
326
|
+
handlers (InsufficientCapacity, etc.).
|
327
|
+
```
|
328
|
+
* (BKR-217) aws_sdk: move wait_for_status() to launch_all_nodes() (023437e1)
|
329
|
+
|
330
|
+
* (maint) Allow :ruby_arch to select Windows builds (a0d76866)
|
331
|
+
|
332
|
+
|
333
|
+
```
|
334
|
+
(maint) Allow :ruby_arch to select Windows builds
|
335
|
+
|
336
|
+
- Puppet puppetlabs/puppet@92c539f8626467690321c875d5f2746f56fec6ac
|
337
|
+
added :ruby_arch to support the notion of choosing a Windows
|
338
|
+
installer architecture. A node could set :ruby_arch to either
|
339
|
+
x64 or x86 to choose to install a 64-bit or 32-bit Ruby MSI on a
|
340
|
+
64-bit version of Windows.
|
341
|
+
|
342
|
+
When similar behavior was introduced to Beaker, it didn't follow
|
343
|
+
prior art, and a new setting called :install_32 was introduced to
|
344
|
+
manage this functionality in 6f8deb7dbc7bc75b8624df754c261f4d2b58b999
|
345
|
+
|
346
|
+
This commit adds in :ruby_arch, with the hope that :install_32 will
|
347
|
+
be deprecated on a future major version boundary to simplify the
|
348
|
+
logic around settings evaluation here.
|
349
|
+
```
|
350
|
+
* (maint) Allow installing 32-bit Puppet Agent (23c06fa9)
|
351
|
+
|
352
|
+
|
353
|
+
```
|
354
|
+
(maint) Allow installing 32-bit Puppet Agent
|
355
|
+
|
356
|
+
- Previously, install_utils was modified to be able to install PE
|
357
|
+
based on a configuration switch called `install_32` in
|
358
|
+
6f8deb7dbc7bc75b8624df754c261f4d2b58b999
|
359
|
+
|
360
|
+
This allows a 64-bit Windows OS to ask to install a 32-bit Ruby /
|
361
|
+
Puppet version. This is important given 64-bit support wasn't
|
362
|
+
added to Puppet or PE until 3.7.
|
363
|
+
|
364
|
+
When installing the puppet-agent through install_puppetagent_dev_repo
|
365
|
+
helper, allow for selecting the build in a similar fashion.
|
366
|
+
```
|
367
|
+
### <a name = "2.10.0">2.10.0 - 22 Apr, 2015 (c4f37479)
|
368
|
+
|
369
|
+
* (HISTORY) update beaker history for gem release 2.10.0 (c4f37479)
|
82
370
|
|
83
371
|
* (GEM) update beaker version to 2.10.0 (2f834676)
|
84
372
|
|
@@ -250,8 +538,6 @@ Further reading if interested:
|
|
250
538
|
http://www.secnetix.de/olli/FreeBSD/mnamelen.hawk
|
251
539
|
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=167105
|
252
540
|
```
|
253
|
-
* (MAINT) Changes msi install commands run when on non-cygwin (89dabc69)
|
254
|
-
|
255
541
|
* (MAINT) Changes msi install commands ran... (effcde41)
|
256
542
|
|
257
543
|
|
@@ -260,6 +546,8 @@ https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=167105
|
|
260
546
|
|
261
547
|
When on non-cygwin Windows, use `start` not cmd
|
262
548
|
```
|
549
|
+
* (MAINT) Changes msi install commands run when on non-cygwin (89dabc69)
|
550
|
+
|
263
551
|
* (gh-732) Better Openstack IP address assignment (e1fcd580)
|
264
552
|
|
265
553
|
* (gh-687) [openstack] Previously, the method attemped to set root on all nodes, even if the node was not up yet (802db0e9)
|
@@ -50,8 +50,8 @@ module Beaker
|
|
50
50
|
|
51
51
|
# Master/dashboard answers
|
52
52
|
master_console_a = {
|
53
|
-
:q_puppetdb_hostname
|
54
|
-
:q_puppetdb_port
|
53
|
+
:q_puppetdb_hostname => answer_for(options, :q_puppetdb_hostname, database),
|
54
|
+
:q_puppetdb_port => answer_for(options, :q_puppetdb_port, 8081)
|
55
55
|
}
|
56
56
|
|
57
57
|
# Master only answers
|
@@ -76,16 +76,16 @@ module Beaker
|
|
76
76
|
|
77
77
|
console_database_a = {
|
78
78
|
:q_puppetdb_database_name => database_name,
|
79
|
-
:q_puppetdb_database_user => database_user,
|
80
|
-
:q_puppetdb_database_password => puppetdb_password,
|
79
|
+
:q_puppetdb_database_user => answer_for(options, :q_puppetdb_database_user, database_user),
|
80
|
+
:q_puppetdb_database_password => answer_for(options, :q_puppetdb_database_password, puppetdb_password),
|
81
81
|
:q_puppet_enterpriseconsole_auth_database_name => auth_database_name,
|
82
82
|
:q_puppet_enterpriseconsole_auth_database_user => auth_database_user,
|
83
|
-
:q_puppet_enterpriseconsole_auth_database_password => dashboard_password,
|
83
|
+
:q_puppet_enterpriseconsole_auth_database_password => answer_for(options, :q_puppet_enterpriseconsole_auth_database_password, dashboard_password),
|
84
84
|
:q_puppet_enterpriseconsole_database_name => console_database_name,
|
85
|
-
:q_puppet_enterpriseconsole_database_user => console_database_user,
|
86
|
-
:q_puppet_enterpriseconsole_database_password => dashboard_password,
|
85
|
+
:q_puppet_enterpriseconsole_database_user => answer_for(options, :q_puppet_enterpriseconsole_database_user, console_database_user),
|
86
|
+
:q_puppet_enterpriseconsole_database_password => answer_for(options, :q_puppet_enterpriseconsole_database_password, dashboard_password),
|
87
87
|
|
88
|
-
:q_database_host => database,
|
88
|
+
:q_database_host => answer_for(options, :q_database_host, database),
|
89
89
|
:q_database_port => database_port,
|
90
90
|
}
|
91
91
|
|
@@ -130,7 +130,7 @@ module Beaker
|
|
130
130
|
# Database only answers
|
131
131
|
database_a = {
|
132
132
|
:q_puppetdb_install => 'y',
|
133
|
-
:q_database_install => 'y',
|
133
|
+
:q_database_install => answer_for(options, :q_database_install, 'y'),
|
134
134
|
:q_database_root_password => "'#{answer_for(options, :q_database_root_password, '=ZYdjiP3jCwV5eo9s1MBd')}'",
|
135
135
|
:q_database_root_user => answer_for(options, :q_database_root_user, 'pe-postgres'),
|
136
136
|
}
|
@@ -158,7 +158,7 @@ module Beaker
|
|
158
158
|
if host == dashboard
|
159
159
|
answers.merge! master_console_a
|
160
160
|
answers.merge! console_database_a
|
161
|
-
answers[:q_pe_database] = 'y'
|
161
|
+
answers[:q_pe_database] = answer_for(options, :q_pe_database, 'y')
|
162
162
|
unless options[:type] == :upgrade
|
163
163
|
answers.merge! console_a
|
164
164
|
else
|
data/lib/beaker/cli.rb
CHANGED
@@ -111,6 +111,8 @@ module Beaker
|
|
111
111
|
if @network_manager
|
112
112
|
@network_manager.cleanup
|
113
113
|
end
|
114
|
+
else
|
115
|
+
preserve_hosts_file
|
114
116
|
end
|
115
117
|
|
116
118
|
@perf.print_perf_info if @options[:collect_perf_data]
|
@@ -127,7 +129,7 @@ module Beaker
|
|
127
129
|
@network_manager.cleanup
|
128
130
|
end
|
129
131
|
else
|
130
|
-
preserve_hosts_file
|
132
|
+
preserve_hosts_file
|
131
133
|
end
|
132
134
|
|
133
135
|
if @logger.is_debug?
|
@@ -159,7 +161,7 @@ module Beaker
|
|
159
161
|
#
|
160
162
|
# @return nil
|
161
163
|
def preserve_hosts_file
|
162
|
-
preserved_hosts_filename = File.join(@options[:log_dated_dir],
|
164
|
+
preserved_hosts_filename = File.join(@options[:log_dated_dir], 'hosts_preserved.yml')
|
163
165
|
FileUtils.cp(@options[:hosts_file], preserved_hosts_filename)
|
164
166
|
hosts_yaml = YAML.load_file(preserved_hosts_filename)
|
165
167
|
newly_keyed_hosts_entries = {}
|
@@ -172,6 +174,8 @@ module Beaker
|
|
172
174
|
end
|
173
175
|
end
|
174
176
|
hosts_yaml['HOSTS'] = newly_keyed_hosts_entries
|
177
|
+
hosts_yaml['CONFIG'] ||= {}
|
178
|
+
hosts_yaml['CONFIG']['provision'] = false
|
175
179
|
File.open(preserved_hosts_filename, 'w') do |file|
|
176
180
|
YAML.dump(hosts_yaml, file)
|
177
181
|
end
|
@@ -253,8 +257,9 @@ module Beaker
|
|
253
257
|
|
254
258
|
# provides a new version of the command given, edited for re-use with a
|
255
259
|
# preserved host. It does this by swapping the hosts file out for the
|
256
|
-
# new_hostsfile argument and
|
257
|
-
#
|
260
|
+
# new_hostsfile argument and removing any previously set provisioning
|
261
|
+
# flags that it finds
|
262
|
+
# (we add +:provision => false+ in the new_hostsfile itself).
|
258
263
|
#
|
259
264
|
# @param [String] command Command line parameters to edit.
|
260
265
|
# @param [String] new_hostsfile Path to the new hosts file to use.
|
@@ -262,7 +267,6 @@ module Beaker
|
|
262
267
|
# @return [String] The command line parameters edited for re-use
|
263
268
|
def build_hosts_preserved_reproducing_command(command, new_hostsfile)
|
264
269
|
command_parts = command.split(' ')
|
265
|
-
has_no_provision_flag = false
|
266
270
|
replace_hosts_file_next = false
|
267
271
|
reproducing_command = []
|
268
272
|
command_parts.each do |part|
|
@@ -271,14 +275,12 @@ module Beaker
|
|
271
275
|
replace_hosts_file_next = false
|
272
276
|
next
|
273
277
|
elsif part == '--provision' || part == '--no-provision'
|
274
|
-
|
275
|
-
next
|
278
|
+
next # skip any provisioning flag. This is handled in the new_hostsfile itself
|
276
279
|
elsif part == '--hosts'
|
277
280
|
replace_hosts_file_next = true
|
278
281
|
end
|
279
282
|
reproducing_command << part
|
280
283
|
end
|
281
|
-
reproducing_command << '--no-provision' unless has_no_provision_flag
|
282
284
|
reproducing_command.join(' ')
|
283
285
|
end
|
284
286
|
end
|