beaker 2.52.0 → 3.0.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 +27034 -2
- data/acceptance/tests/base/external_resources_test.rb +7 -25
- data/acceptance/tests/base/host/host_test.rb +106 -0
- data/beaker.gemspec +13 -12
- data/docs/concepts/shared_options_for_executing_beaker_commands.md +1 -1
- data/docs/how_to/hypervisors/openstack.md +9 -0
- data/docs/how_to/test_arbitrary_beaker_versions.md +46 -0
- data/docs/how_to/upgrade_from_2_to_3.md +76 -0
- data/docs/tutorials/README.md +82 -0
- data/lib/beaker/dsl.rb +0 -2
- data/lib/beaker/dsl/helpers/puppet_helpers.rb +2 -1
- data/lib/beaker/dsl/install_utils/windows_utils.rb +27 -1
- data/lib/beaker/host.rb +16 -1
- data/lib/beaker/host/unix/exec.rb +4 -4
- data/lib/beaker/host/unix/pkg.rb +3 -2
- data/lib/beaker/host_prebuilt_steps.rb +2 -46
- data/lib/beaker/hypervisor.rb +1 -1
- data/lib/beaker/hypervisor/openstack.rb +19 -34
- data/lib/beaker/options/presets.rb +1 -5
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/dsl/helpers/puppet_helpers_spec.rb +18 -4
- data/spec/beaker/dsl/helpers/web_helpers_spec.rb +26 -4
- data/spec/beaker/dsl/install_utils/windows_utils_spec.rb +47 -1
- data/spec/beaker/host/unix/pkg_spec.rb +1 -0
- data/spec/beaker/host_prebuilt_steps_spec.rb +2 -33
- data/spec/beaker/host_spec.rb +14 -2
- data/spec/beaker/hypervisor/hypervisor_spec.rb +0 -15
- data/spec/beaker/hypervisor/openstack_spec.rb +5 -0
- data/spec/helpers.rb +1 -0
- metadata +15 -105
- data/lib/beaker/hypervisor/aixer.rb +0 -48
- data/lib/beaker/hypervisor/solaris.rb +0 -59
- data/spec/beaker/hypervisor/aixer_spec.rb +0 -34
- data/spec/beaker/hypervisor/solaris_spec.rb +0 -40
@@ -341,6 +341,7 @@ module Beaker
|
|
341
341
|
if version == 10
|
342
342
|
allow( instance ).to receive( :noask_file_text )
|
343
343
|
allow( instance ).to receive( :create_remote_file )
|
344
|
+
allow( instance ).to receive( :execute ).with('/opt/csw/bin/pkgutil -y -i pkgutil')
|
344
345
|
end
|
345
346
|
# only expect diff in the last line: .not_to vs .to raise_error
|
346
347
|
expect{
|
@@ -163,37 +163,6 @@ describe Beaker do
|
|
163
163
|
end
|
164
164
|
end
|
165
165
|
|
166
|
-
context "epel_info_for!" do
|
167
|
-
subject { dummy_class.new }
|
168
|
-
|
169
|
-
it "can return the correct url for an el-7 host" do
|
170
|
-
host = make_host( 'testhost', { :platform => Beaker::Platform.new('el-7-platform') } )
|
171
|
-
|
172
|
-
expect( subject.epel_info_for( host, options )).to be === ["http://dl.fedoraproject.org/pub/epel/7", "x86_64", "epel-release-7-8.noarch.rpm"]
|
173
|
-
end
|
174
|
-
|
175
|
-
it "can return the correct url for an el-6 host" do
|
176
|
-
host = make_host( 'testhost', { :platform => Beaker::Platform.new('el-6-platform') } )
|
177
|
-
|
178
|
-
expect( subject.epel_info_for( host, options )).to be === ["http://dl.fedoraproject.org/pub/epel/6", "i386", "epel-release-6-8.noarch.rpm"]
|
179
|
-
end
|
180
|
-
|
181
|
-
it "can return the correct url for an el-5 host" do
|
182
|
-
host = make_host( 'testhost', { :platform => Beaker::Platform.new('el-5-platform') } )
|
183
|
-
|
184
|
-
expect( subject.epel_info_for( host, options )).to be === ["http://dl.fedoraproject.org/pub/epel/5", "i386", "epel-release-5-4.noarch.rpm"]
|
185
|
-
|
186
|
-
end
|
187
|
-
|
188
|
-
it "raises an error on non el-5/6 host" do
|
189
|
-
host = make_host( 'testhost', { :platform => Beaker::Platform.new('el-4-platform') } )
|
190
|
-
|
191
|
-
expect{ subject.epel_info_for( host, options )}.to raise_error(ArgumentError, /epel_info_for does not support el version/)
|
192
|
-
|
193
|
-
end
|
194
|
-
|
195
|
-
end
|
196
|
-
|
197
166
|
context "apt_get_update" do
|
198
167
|
subject { dummy_class.new }
|
199
168
|
|
@@ -335,8 +304,8 @@ describe Beaker do
|
|
335
304
|
hosts[4][:platform] = Beaker::Platform.new('oracle-5-arch')
|
336
305
|
|
337
306
|
expect( Beaker::Command ).to receive( :new ).with("rpm -qa | grep epel-release").exactly( 6 ).times
|
338
|
-
expect( Beaker::Command ).to receive( :new ).with("rpm -i http://dl.fedoraproject.org/pub/epel/
|
339
|
-
expect( Beaker::Command ).to receive( :new ).with("rpm -i http://dl.fedoraproject.org/pub/epel/
|
307
|
+
expect( Beaker::Command ).to receive( :new ).with("rpm -i http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm").exactly( 4 ).times
|
308
|
+
expect( Beaker::Command ).to receive( :new ).with("rpm -i http://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm").exactly( 2 ).times
|
340
309
|
expect( Beaker::Command ).to receive( :new ).with("sed -i -e 's;#baseurl.*$;baseurl=http://dl\\.fedoraproject\\.org/pub/epel/6/$basearch;' /etc/yum.repos.d/epel.repo").exactly( 4 ).times
|
341
310
|
expect( Beaker::Command ).to receive( :new ).with("sed -i -e 's;#baseurl.*$;baseurl=http://dl\\.fedoraproject\\.org/pub/epel/5/$basearch;' /etc/yum.repos.d/epel.repo").exactly( 2 ).times
|
342
311
|
expect( Beaker::Command ).to receive( :new ).with("sed -i -e '/mirrorlist/d' /etc/yum.repos.d/epel.repo").exactly( 6 ).times
|
data/spec/beaker/host_spec.rb
CHANGED
@@ -197,7 +197,7 @@ module Beaker
|
|
197
197
|
result.exit_code = 1
|
198
198
|
expect( Beaker::Command ).to receive(:new).with("grep ^key=.*\\/my\\/first\\/value ~/.ssh/environment")
|
199
199
|
expect( host ).to receive(:exec).and_return(result)
|
200
|
-
expect( Beaker::Command ).to receive(:new).with(/grep \^key ~\/\.ssh\/environment/)
|
200
|
+
expect( Beaker::Command ).to receive(:new).with(/grep \^key= ~\/\.ssh\/environment/)
|
201
201
|
expect( host ).to receive(:exec).and_return(result)
|
202
202
|
expect( Beaker::Command ).to receive(:new).with("echo \"key=/my/first/value\" >> ~/.ssh/environment")
|
203
203
|
host.add_env_var('key', '/my/first/value')
|
@@ -210,7 +210,7 @@ module Beaker
|
|
210
210
|
expect( host ).to receive(:exec).and_return(result)
|
211
211
|
result = Beaker::Result.new(host, '')
|
212
212
|
result.exit_code = 0
|
213
|
-
expect( Beaker::Command ).to receive(:new).with(/grep \^key ~\/\.ssh\/environment/)
|
213
|
+
expect( Beaker::Command ).to receive(:new).with(/grep \^key= ~\/\.ssh\/environment/)
|
214
214
|
expect( host ).to receive(:exec).and_return(result)
|
215
215
|
expect( Beaker::SedCommand ).to receive(:new).with('unix', 's/^key=/key=\\/my\\/first\\/value:/', '~/.ssh/environment')
|
216
216
|
host.add_env_var('key', '/my/first/value')
|
@@ -740,5 +740,17 @@ module Beaker
|
|
740
740
|
expect(host.ip).to eq('127.0.0.1')
|
741
741
|
end
|
742
742
|
end
|
743
|
+
|
744
|
+
describe "#wait_for_port" do
|
745
|
+
it 'returns true when port is open' do
|
746
|
+
allow(host).to receive(:repeat_fibonacci_style_for).and_return(true)
|
747
|
+
expect(host.wait_for_port(22, 0)).to be true
|
748
|
+
end
|
749
|
+
|
750
|
+
it 'returns false when port is not open' do
|
751
|
+
allow(host).to receive(:repeat_fibonacci_style_for).and_return(false)
|
752
|
+
expect(host.wait_for_port(22, 0)).to be false
|
753
|
+
end
|
754
|
+
end
|
743
755
|
end
|
744
756
|
end
|
@@ -4,21 +4,6 @@ module Beaker
|
|
4
4
|
describe Hypervisor do
|
5
5
|
let( :hypervisor ) { Beaker::Hypervisor }
|
6
6
|
|
7
|
-
it "creates an aix hypervisor for aix hosts" do
|
8
|
-
aix = double( 'aix' )
|
9
|
-
allow( aix ).to receive( :provision ).and_return( true )
|
10
|
-
|
11
|
-
expect( Aixer ).to receive( :new ).once.and_return( aix )
|
12
|
-
expect( hypervisor.create( 'aix', [], make_opts() ) ).to be === aix
|
13
|
-
end
|
14
|
-
|
15
|
-
it "creates a solaris hypervisor for solaris hosts" do
|
16
|
-
solaris = double( 'solaris' )
|
17
|
-
allow( solaris ).to receive( :provision ).and_return( true )
|
18
|
-
expect( Solaris ).to receive( :new ).once.and_return( solaris )
|
19
|
-
expect( hypervisor.create( 'solaris', [], make_opts() ) ).to be === solaris
|
20
|
-
end
|
21
|
-
|
22
7
|
it "creates a vsphere hypervisor for vsphere hosts" do
|
23
8
|
vsphere = double( 'vsphere' )
|
24
9
|
allow( vsphere ).to receive( :provision ).and_return( true )
|
@@ -29,6 +29,7 @@ module Beaker
|
|
29
29
|
expect(options['openstack_network']).to eq('testing')
|
30
30
|
expect(options['openstack_keyname']).to eq('nopass')
|
31
31
|
expect(options['security_group']).to eq(['my_sg', 'default'])
|
32
|
+
expect(options['floating_ip_pool']).to eq('my_pool')
|
32
33
|
end
|
33
34
|
|
34
35
|
it 'check hosts options during initialization' do
|
@@ -61,6 +62,10 @@ module Beaker
|
|
61
62
|
:image_ref => 54321)
|
62
63
|
)
|
63
64
|
|
65
|
+
@hosts.each do |host|
|
66
|
+
allow(host).to receive(:wait_for_port).and_return(true)
|
67
|
+
end
|
68
|
+
|
64
69
|
openstack.provision
|
65
70
|
end
|
66
71
|
|
data/spec/helpers.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '11.2'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '11.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +156,14 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - ~>
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: '2
|
159
|
+
version: '3.2'
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - ~>
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: '2
|
166
|
+
version: '3.2'
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: net-scp
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,20 +234,6 @@ dependencies:
|
|
234
234
|
- - ~>
|
235
235
|
- !ruby/object:Gem::Version
|
236
236
|
version: '0.1'
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: beaker-answers
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - ~>
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: '0.0'
|
244
|
-
type: :runtime
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - ~>
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: '0.0'
|
251
237
|
- !ruby/object:Gem::Dependency
|
252
238
|
name: stringify-hash
|
253
239
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,20 +262,6 @@ dependencies:
|
|
276
262
|
- - ~>
|
277
263
|
- !ruby/object:Gem::Version
|
278
264
|
version: '0.0'
|
279
|
-
- !ruby/object:Gem::Dependency
|
280
|
-
name: beaker-pe
|
281
|
-
requirement: !ruby/object:Gem::Requirement
|
282
|
-
requirements:
|
283
|
-
- - ~>
|
284
|
-
- !ruby/object:Gem::Version
|
285
|
-
version: '0.0'
|
286
|
-
type: :runtime
|
287
|
-
prerelease: false
|
288
|
-
version_requirements: !ruby/object:Gem::Requirement
|
289
|
-
requirements:
|
290
|
-
- - ~>
|
291
|
-
- !ruby/object:Gem::Version
|
292
|
-
version: '0.0'
|
293
265
|
- !ruby/object:Gem::Dependency
|
294
266
|
name: beaker-hostgenerator
|
295
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -310,20 +282,14 @@ dependencies:
|
|
310
282
|
requirements:
|
311
283
|
- - ~>
|
312
284
|
- !ruby/object:Gem::Version
|
313
|
-
version: '1.
|
314
|
-
- - <
|
315
|
-
- !ruby/object:Gem::Version
|
316
|
-
version: 1.9.0
|
285
|
+
version: '1.9'
|
317
286
|
type: :runtime
|
318
287
|
prerelease: false
|
319
288
|
version_requirements: !ruby/object:Gem::Requirement
|
320
289
|
requirements:
|
321
290
|
- - ~>
|
322
291
|
- !ruby/object:Gem::Version
|
323
|
-
version: '1.
|
324
|
-
- - <
|
325
|
-
- !ruby/object:Gem::Version
|
326
|
-
version: 1.9.0
|
292
|
+
version: '1.9'
|
327
293
|
- !ruby/object:Gem::Dependency
|
328
294
|
name: fission
|
329
295
|
requirement: !ruby/object:Gem::Requirement
|
@@ -344,20 +310,14 @@ dependencies:
|
|
344
310
|
requirements:
|
345
311
|
- - ~>
|
346
312
|
- !ruby/object:Gem::Version
|
347
|
-
version: '0.
|
348
|
-
- - <
|
349
|
-
- !ruby/object:Gem::Version
|
350
|
-
version: 0.9.5
|
313
|
+
version: '0.9'
|
351
314
|
type: :runtime
|
352
315
|
prerelease: false
|
353
316
|
version_requirements: !ruby/object:Gem::Requirement
|
354
317
|
requirements:
|
355
318
|
- - ~>
|
356
319
|
- !ruby/object:Gem::Version
|
357
|
-
version: '0.
|
358
|
-
- - <
|
359
|
-
- !ruby/object:Gem::Version
|
360
|
-
version: 0.9.5
|
320
|
+
version: '0.9'
|
361
321
|
- !ruby/object:Gem::Dependency
|
362
322
|
name: aws-sdk-v1
|
363
323
|
requirement: !ruby/object:Gem::Requirement
|
@@ -386,54 +346,20 @@ dependencies:
|
|
386
346
|
- - ! '>='
|
387
347
|
- !ruby/object:Gem::Version
|
388
348
|
version: '0'
|
389
|
-
- !ruby/object:Gem::Dependency
|
390
|
-
name: mime-types
|
391
|
-
requirement: !ruby/object:Gem::Requirement
|
392
|
-
requirements:
|
393
|
-
- - ~>
|
394
|
-
- !ruby/object:Gem::Version
|
395
|
-
version: '2.99'
|
396
|
-
type: :runtime
|
397
|
-
prerelease: false
|
398
|
-
version_requirements: !ruby/object:Gem::Requirement
|
399
|
-
requirements:
|
400
|
-
- - ~>
|
401
|
-
- !ruby/object:Gem::Version
|
402
|
-
version: '2.99'
|
403
|
-
- !ruby/object:Gem::Dependency
|
404
|
-
name: fog-google
|
405
|
-
requirement: !ruby/object:Gem::Requirement
|
406
|
-
requirements:
|
407
|
-
- - ~>
|
408
|
-
- !ruby/object:Gem::Version
|
409
|
-
version: 0.0.9
|
410
|
-
type: :runtime
|
411
|
-
prerelease: false
|
412
|
-
version_requirements: !ruby/object:Gem::Requirement
|
413
|
-
requirements:
|
414
|
-
- - ~>
|
415
|
-
- !ruby/object:Gem::Version
|
416
|
-
version: 0.0.9
|
417
349
|
- !ruby/object:Gem::Dependency
|
418
350
|
name: fog
|
419
351
|
requirement: !ruby/object:Gem::Requirement
|
420
352
|
requirements:
|
421
353
|
- - ~>
|
422
354
|
- !ruby/object:Gem::Version
|
423
|
-
version: '1.
|
424
|
-
- - <
|
425
|
-
- !ruby/object:Gem::Version
|
426
|
-
version: 1.35.0
|
355
|
+
version: '1.38'
|
427
356
|
type: :runtime
|
428
357
|
prerelease: false
|
429
358
|
version_requirements: !ruby/object:Gem::Requirement
|
430
359
|
requirements:
|
431
360
|
- - ~>
|
432
361
|
- !ruby/object:Gem::Version
|
433
|
-
version: '1.
|
434
|
-
- - <
|
435
|
-
- !ruby/object:Gem::Version
|
436
|
-
version: 1.35.0
|
362
|
+
version: '1.38'
|
437
363
|
- !ruby/object:Gem::Dependency
|
438
364
|
name: unf
|
439
365
|
requirement: !ruby/object:Gem::Requirement
|
@@ -448,20 +374,6 @@ dependencies:
|
|
448
374
|
- - ~>
|
449
375
|
- !ruby/object:Gem::Version
|
450
376
|
version: '0.1'
|
451
|
-
- !ruby/object:Gem::Dependency
|
452
|
-
name: public_suffix
|
453
|
-
requirement: !ruby/object:Gem::Requirement
|
454
|
-
requirements:
|
455
|
-
- - <
|
456
|
-
- !ruby/object:Gem::Version
|
457
|
-
version: 1.5.0
|
458
|
-
type: :runtime
|
459
|
-
prerelease: false
|
460
|
-
version_requirements: !ruby/object:Gem::Requirement
|
461
|
-
requirements:
|
462
|
-
- - <
|
463
|
-
- !ruby/object:Gem::Version
|
464
|
-
version: 1.5.0
|
465
377
|
description: Puppetlabs accceptance testing harness
|
466
378
|
email:
|
467
379
|
- delivery@puppetlabs.com
|
@@ -477,7 +389,6 @@ files:
|
|
477
389
|
- CONTRIBUTING.md
|
478
390
|
- DOCUMENTING.md
|
479
391
|
- Gemfile
|
480
|
-
- Gemfile.lock
|
481
392
|
- HISTORY.md
|
482
393
|
- LICENSE
|
483
394
|
- MAINTAINERS
|
@@ -625,9 +536,12 @@ files:
|
|
625
536
|
- docs/how_to/recipes.md
|
626
537
|
- docs/how_to/run_in_parallel.md
|
627
538
|
- docs/how_to/ssh_agent_forwarding.md
|
539
|
+
- docs/how_to/test_arbitrary_beaker_versions.md
|
628
540
|
- docs/how_to/the_beaker_dsl.md
|
541
|
+
- docs/how_to/upgrade_from_2_to_3.md
|
629
542
|
- docs/how_to/use_user_password_authentication.md
|
630
543
|
- docs/how_to/write_a_beaker_test_for_a_module.md
|
544
|
+
- docs/tutorials/README.md
|
631
545
|
- docs/tutorials/creating_a_test_environment.md
|
632
546
|
- docs/tutorials/how_to_beaker.md
|
633
547
|
- docs/tutorials/installation.md
|
@@ -700,7 +614,6 @@ files:
|
|
700
614
|
- lib/beaker/host/windows/user.rb
|
701
615
|
- lib/beaker/host_prebuilt_steps.rb
|
702
616
|
- lib/beaker/hypervisor.rb
|
703
|
-
- lib/beaker/hypervisor/aixer.rb
|
704
617
|
- lib/beaker/hypervisor/aws_sdk.rb
|
705
618
|
- lib/beaker/hypervisor/docker.rb
|
706
619
|
- lib/beaker/hypervisor/ec2_helper.rb
|
@@ -709,7 +622,6 @@ files:
|
|
709
622
|
- lib/beaker/hypervisor/google_compute_helper.rb
|
710
623
|
- lib/beaker/hypervisor/noop.rb
|
711
624
|
- lib/beaker/hypervisor/openstack.rb
|
712
|
-
- lib/beaker/hypervisor/solaris.rb
|
713
625
|
- lib/beaker/hypervisor/vagrant.rb
|
714
626
|
- lib/beaker/hypervisor/vagrant_custom.rb
|
715
627
|
- lib/beaker/hypervisor/vagrant_fusion.rb
|
@@ -792,7 +704,6 @@ files:
|
|
792
704
|
- spec/beaker/host/windows_spec.rb
|
793
705
|
- spec/beaker/host_prebuilt_steps_spec.rb
|
794
706
|
- spec/beaker/host_spec.rb
|
795
|
-
- spec/beaker/hypervisor/aixer_spec.rb
|
796
707
|
- spec/beaker/hypervisor/aws_sdk_spec.rb
|
797
708
|
- spec/beaker/hypervisor/docker_spec.rb
|
798
709
|
- spec/beaker/hypervisor/ec2_helper_spec.rb
|
@@ -800,7 +711,6 @@ files:
|
|
800
711
|
- spec/beaker/hypervisor/hypervisor_spec.rb
|
801
712
|
- spec/beaker/hypervisor/hypervisor_spec.rb.orig
|
802
713
|
- spec/beaker/hypervisor/openstack_spec.rb
|
803
|
-
- spec/beaker/hypervisor/solaris_spec.rb
|
804
714
|
- spec/beaker/hypervisor/vagrant_custom_spec.rb
|
805
715
|
- spec/beaker/hypervisor/vagrant_fusion_spec.rb
|
806
716
|
- spec/beaker/hypervisor/vagrant_libvirt_spec.rb
|
@@ -1,48 +0,0 @@
|
|
1
|
-
module Beaker
|
2
|
-
class Aixer < Beaker::Hypervisor
|
3
|
-
|
4
|
-
def initialize(aix_hosts, options)
|
5
|
-
@options = options
|
6
|
-
@logger = options[:logger]
|
7
|
-
@hosts = aix_hosts
|
8
|
-
#aix machines are reverted to known state, not a snapshot
|
9
|
-
@fog_file = nil
|
10
|
-
if File.exists?( @options[:dot_fog] )
|
11
|
-
@fog_file = YAML.load_file( @options[:dot_fog] )
|
12
|
-
end
|
13
|
-
raise "Cant load #{@options[:dot_fog]} config" unless @fog_file
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
def provision
|
18
|
-
# Running the rake task on rpm-builder
|
19
|
-
hypername = @fog_file[:default][:aix_hypervisor_server]
|
20
|
-
hyperopts = @options.dup
|
21
|
-
hyperopts['HOSTS'] = {
|
22
|
-
hypername => { 'platform' => 'el-6-x86_64' }
|
23
|
-
}
|
24
|
-
|
25
|
-
@logger.notify "Connecting to hypervisor at #{hypername}"
|
26
|
-
hypervisor = Beaker::Host.create( hypername, hyperopts, @options )
|
27
|
-
hypervisor[:user] = @fog_file[:default][:aix_hypervisor_username] || hypervisor[:user]
|
28
|
-
hypervisor[:ssh][:keys] = [@fog_file[:default][:aix_hypervisor_keyfile]] || hypervisor[:ssh][:keys]
|
29
|
-
|
30
|
-
@hosts.each do |host|
|
31
|
-
vm_name = host['vmname'] || host.name
|
32
|
-
|
33
|
-
@logger.notify "Reverting #{vm_name} to aix clean state"
|
34
|
-
start = Time.now
|
35
|
-
# Restore AIX image, ID'd by the hostname
|
36
|
-
hypervisor.exec(Command.new("cd pe-aix && rake restore:#{host.name}"))
|
37
|
-
time = Time.now - start
|
38
|
-
@logger.notify "Spent %.2f seconds reverting" % time
|
39
|
-
end
|
40
|
-
hypervisor.close
|
41
|
-
end
|
42
|
-
|
43
|
-
def cleanup
|
44
|
-
@logger.notify "No cleanup for aix boxes"
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|