kitchen-fog 0.6.2 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -45
- data/README.md +16 -13
- data/kitchen-fog.gemspec +1 -1
- data/lib/kitchen/driver/fog.rb +9 -0
- data/lib/kitchen/driver/fog_version.rb +1 -1
- data/spec/kitchen/driver/fog_spec.rb +37 -37
- metadata +25 -7
- checksums.yaml +0 -7
data/CHANGELOG.md
CHANGED
@@ -1,53 +1,13 @@
|
|
1
|
-
# 0.
|
1
|
+
# 0.7.0 / 2013-10-02
|
2
2
|
|
3
3
|
### New Features
|
4
4
|
|
5
|
-
*
|
6
|
-
|
7
|
-
### Improvements
|
8
|
-
|
9
|
-
* PR [#19][] - Don't assume `public` and `private` network names exist
|
10
|
-
* PR [#19][] - Make IPv4 or IPv6 configurable instead of relying on Fog to pick
|
11
|
-
|
12
|
-
### Bug Fixes
|
13
|
-
|
14
|
-
* PR [#20][] - Limit generated hostnames to 64 characters
|
5
|
+
* PR [#2][] - release created floating ips when destroying instance (thanks bkw)
|
6
|
+
* PR [#1][] - bump dependency on test-kitchen to release version 1.1.0 (thanks bkw)
|
15
7
|
|
16
|
-
# 0.
|
8
|
+
# 0.6.2 / 2013-10-02
|
17
9
|
|
18
10
|
### New Features
|
19
11
|
|
20
|
-
*
|
21
|
-
* PR [#11][] - Support `ssh_key` option; via [@saketoba][]
|
22
|
-
|
23
|
-
# 0.2.0 / 2013-05-11
|
24
|
-
|
25
|
-
### Bug Fixes
|
26
|
-
|
27
|
-
* PR [#7][] - `disable_ssl_validation` wasn't being respected on destroy
|
28
|
-
|
29
|
-
### New Features
|
30
|
-
|
31
|
-
* PR [#10][] - Support optional `openstack_region` and `openstack_service_name`
|
32
|
-
* PR [#2][] - Support `key_name:` option; via [@stevendanna][]
|
33
|
-
|
34
|
-
### Improvements
|
35
|
-
|
36
|
-
* PR [#7][] - Clean up/refactor to pass style checks
|
37
|
-
* PR [#9][] - Add some (probably overkill) RSpec tests
|
38
|
-
|
39
|
-
# 0.1.0 / 2013-03-12
|
40
|
-
|
41
|
-
* Initial release! Woo!
|
42
|
-
|
43
|
-
[#20]: https://github.com/RoboticCheese/kitchen-openstack/pull/20
|
44
|
-
[#19]: https://github.com/RoboticCheese/kitchen-openstack/pull/19
|
45
|
-
[#12]: https://github.com/RoboticCheese/kitchen-openstack/pull/12
|
46
|
-
[#11]: https://github.com/RoboticCheese/kitchen-openstack/pull/11
|
47
|
-
[#10]: https://github.com/RoboticCheese/kitchen-openstack/pull/10
|
48
|
-
[#9]: https://github.com/RoboticCheese/kitchen-openstack/pull/9
|
49
|
-
[#7]: https://github.com/RoboticCheese/kitchen-openstack/pull/7
|
50
|
-
[#2]: https://github.com/RoboticCheese/kitchen-openstack/pull/2
|
12
|
+
* Generalize kitchen-openstack to work with other providers
|
51
13
|
|
52
|
-
[@saketoba]: https://github.com/saketoba
|
53
|
-
[@stevendanna]: https://github.com/stevendanna
|
data/README.md
CHANGED
@@ -25,23 +25,26 @@ Or install it yourself as:
|
|
25
25
|
|
26
26
|
Provide, at a minimum, the required driver options in your `.kitchen.yml` file. The authentication and server_create sections are specific to the provider:
|
27
27
|
|
28
|
+
---
|
28
29
|
driver_plugin: fog
|
29
30
|
driver_config:
|
30
31
|
authentication:
|
31
|
-
provider: '
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
version: v2
|
38
|
-
hp_use_upass_auth_style: true
|
32
|
+
provider: 'openstack'
|
33
|
+
openstack_username: 'username'
|
34
|
+
openstack_api_key: 'password'
|
35
|
+
openstack_auth_url: 'https://id.example.com:35357/v2.0/tokens'
|
36
|
+
openstack_tenant: 'tenant_name'
|
37
|
+
openstack_region: 'region-b.geo-1'
|
39
38
|
server_create:
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
39
|
+
flavor_ref: '103'
|
40
|
+
image_ref: '8c096c29-a666-4b82-99c4-c77dc70cfb40'
|
41
|
+
key_name: 'bover'
|
42
|
+
nics: [ 'net_id': '76abe0b1-581a-4698-b200-a2e890f4eb8d' ]
|
43
|
+
floating_ip_create:
|
44
|
+
floating_network_id: '7da74520-9d5e-427b-a508-213c84e69616'
|
45
|
+
require_chef_omnibus: latest
|
46
|
+
public_key_path: /home/terry/.ssh/bover.pub
|
47
|
+
username: ubuntu
|
45
48
|
|
46
49
|
By default, a unique server name will be generated and the current user's SSH
|
47
50
|
key will be used, though that behavior can be overridden with additional
|
data/kitchen-fog.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ['lib']
|
20
20
|
|
21
|
-
spec.add_dependency 'test-kitchen', '~> 1.
|
21
|
+
spec.add_dependency 'test-kitchen', '~> 1.1.0'
|
22
22
|
spec.add_dependency 'fog', '~> 1.15'
|
23
23
|
|
24
24
|
spec.add_development_dependency 'bundler'
|
data/lib/kitchen/driver/fog.rb
CHANGED
@@ -61,6 +61,12 @@ module Kitchen
|
|
61
61
|
server = compute.servers.get(state[:server_id])
|
62
62
|
server.destroy unless server.nil?
|
63
63
|
info "Fog instance <#{state[:server_id]}> destroyed."
|
64
|
+
unless config[:floating_ip_create].nil?
|
65
|
+
network.floating_ips.destroy(state[:floating_ip_id])
|
66
|
+
info "Fog floating ip #{state[:hostname]} " +
|
67
|
+
"<#{state[:floating_ip_id]}> released."
|
68
|
+
state.delete(:floating_ip_id)
|
69
|
+
end
|
64
70
|
state.delete(:server_id)
|
65
71
|
state.delete(:hostname)
|
66
72
|
end
|
@@ -104,6 +110,9 @@ module Kitchen
|
|
104
110
|
floater = network.floating_ips.create(hsh)
|
105
111
|
floating_id = floater.id
|
106
112
|
state[:hostname] = floater.floating_ip_address
|
113
|
+
state[:floating_ip_id] = floating_id
|
114
|
+
info "Fog floating ip #{state[:hostname]} " +
|
115
|
+
"<#{state[:floating_ip_id]}> created."
|
107
116
|
port = network.ports(:filters => { :device_id => server.id }).first
|
108
117
|
network.associate_floating_ip(floating_id, port.id)
|
109
118
|
end
|
@@ -41,29 +41,29 @@ describe Kitchen::Driver::Fog do
|
|
41
41
|
describe '#initialize'do
|
42
42
|
context 'default options' do
|
43
43
|
it 'defaults to no name' do
|
44
|
-
|
44
|
+
driver[:name].should eq(nil)
|
45
45
|
end
|
46
46
|
|
47
47
|
it 'defaults to local user\'s SSH public key' do
|
48
|
-
|
48
|
+
driver[:public_key_path].should eq(File.expand_path(
|
49
49
|
'~/.ssh/id_dsa.pub'))
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'defaults to SSH with root user on port 22' do
|
53
|
-
|
54
|
-
|
53
|
+
driver[:username].should eq('root')
|
54
|
+
driver[:port].should eq('22')
|
55
55
|
end
|
56
56
|
|
57
57
|
it 'defaults to use ipv4' do
|
58
|
-
|
58
|
+
driver[:use_ipv6].should eq(false)
|
59
59
|
end
|
60
60
|
|
61
61
|
it 'defaults to no network name' do
|
62
|
-
|
62
|
+
driver[:network_name].should eq(nil)
|
63
63
|
end
|
64
64
|
|
65
65
|
it 'defaults to no upload_public_ssh_key' do
|
66
|
-
|
66
|
+
driver[:upload_public_ssh_key].should eq(false)
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
@@ -90,12 +90,12 @@ describe Kitchen::Driver::Fog do
|
|
90
90
|
it 'uses all the overridden options' do
|
91
91
|
drv = driver
|
92
92
|
config.each do |k, v|
|
93
|
-
|
93
|
+
drv[k].should eq(v)
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
97
97
|
it 'SSH with user-specified private key' do
|
98
|
-
|
98
|
+
driver[:ssh_key].should eq('/path/to/id_rsa')
|
99
99
|
end
|
100
100
|
end
|
101
101
|
end
|
@@ -134,12 +134,12 @@ describe Kitchen::Driver::Fog do
|
|
134
134
|
|
135
135
|
it 'generates a server name in the absence of one' do
|
136
136
|
driver.create(state)
|
137
|
-
|
137
|
+
driver[:name].should eq('a_monkey!')
|
138
138
|
end
|
139
139
|
|
140
140
|
it 'gets a proper hostname (IP)' do
|
141
141
|
driver.create(state)
|
142
|
-
|
142
|
+
state[:hostname].should eq('1.2.3.4')
|
143
143
|
end
|
144
144
|
|
145
145
|
it 'does not disable SSL validation' do
|
@@ -245,7 +245,7 @@ describe Kitchen::Driver::Fog do
|
|
245
245
|
it 'creates a new compute connection' do
|
246
246
|
Fog::Compute.stub(:new) { |arg| arg }
|
247
247
|
res = config.merge({ :provider => 'fog' })
|
248
|
-
|
248
|
+
driver.send(:compute).should eq(res[:authentication])
|
249
249
|
end
|
250
250
|
end
|
251
251
|
|
@@ -299,8 +299,8 @@ describe Kitchen::Driver::Fog do
|
|
299
299
|
|
300
300
|
it 'creates the server using a compute connection' do
|
301
301
|
state = {}
|
302
|
-
|
303
|
-
|
302
|
+
driver.send(:create_server, state).should eq(server)
|
303
|
+
state.should eq({ :server_id => 'test222' })
|
304
304
|
end
|
305
305
|
end
|
306
306
|
|
@@ -317,8 +317,8 @@ describe Kitchen::Driver::Fog do
|
|
317
317
|
|
318
318
|
it 'passes that public key path to Fog' do
|
319
319
|
state = {}
|
320
|
-
|
321
|
-
|
320
|
+
driver.send(:create_server, state).should eq(server)
|
321
|
+
state.should eq({ :server_id => 'test222' })
|
322
322
|
end
|
323
323
|
end
|
324
324
|
|
@@ -336,8 +336,8 @@ describe Kitchen::Driver::Fog do
|
|
336
336
|
|
337
337
|
it 'passes that key name to Fog' do
|
338
338
|
state = {}
|
339
|
-
|
340
|
-
|
339
|
+
driver.send(:create_server, state).should eq(server)
|
340
|
+
state.should eq({ :server_id => 'test222' })
|
341
341
|
end
|
342
342
|
end
|
343
343
|
end
|
@@ -349,7 +349,7 @@ describe Kitchen::Driver::Fog do
|
|
349
349
|
end
|
350
350
|
|
351
351
|
it 'generates a name' do
|
352
|
-
|
352
|
+
driver.send(:generate_name, 'monkey').should match(
|
353
353
|
/^monkey-user-host-/)
|
354
354
|
end
|
355
355
|
|
@@ -360,7 +360,7 @@ describe Kitchen::Driver::Fog do
|
|
360
360
|
end
|
361
361
|
|
362
362
|
it 'limits the generated name to 64-characters' do
|
363
|
-
|
363
|
+
driver.send(:generate_name, 'long').length.should eq(64)
|
364
364
|
end
|
365
365
|
end
|
366
366
|
end
|
@@ -388,7 +388,7 @@ describe Kitchen::Driver::Fog do
|
|
388
388
|
let(:parsed_ips) { [%w{1.2.3.4}, %w{5.5.5.5}] }
|
389
389
|
|
390
390
|
it 'returns a public IPv4 address' do
|
391
|
-
|
391
|
+
driver.send(:get_ip, server).should eq('1.2.3.4')
|
392
392
|
end
|
393
393
|
end
|
394
394
|
|
@@ -397,7 +397,7 @@ describe Kitchen::Driver::Fog do
|
|
397
397
|
let(:parsed_ips) { [%w{4.3.2.1}, []] }
|
398
398
|
|
399
399
|
it 'returns a public IPv4 address' do
|
400
|
-
|
400
|
+
driver.send(:get_ip, server).should eq('4.3.2.1')
|
401
401
|
end
|
402
402
|
end
|
403
403
|
|
@@ -406,7 +406,7 @@ describe Kitchen::Driver::Fog do
|
|
406
406
|
let(:parsed_ips) { [[], %w{5.5.5.5}] }
|
407
407
|
|
408
408
|
it 'returns a private IPv4 address' do
|
409
|
-
|
409
|
+
driver.send(:get_ip, server).should eq('5.5.5.5')
|
410
410
|
end
|
411
411
|
end
|
412
412
|
|
@@ -422,7 +422,7 @@ describe Kitchen::Driver::Fog do
|
|
422
422
|
end
|
423
423
|
|
424
424
|
it 'returns a IPv4 address in user-defined network group' do
|
425
|
-
|
425
|
+
driver.send(:get_ip, server).should eq('7.7.7.7')
|
426
426
|
end
|
427
427
|
end
|
428
428
|
|
@@ -447,7 +447,7 @@ describe Kitchen::Driver::Fog do
|
|
447
447
|
let(:parsed_ips) { [%w{6.6.6.6 7.7.7.7}, %w{8.8.8.8 9.9.9.9}] }
|
448
448
|
|
449
449
|
it 'selects the first public IP' do
|
450
|
-
|
450
|
+
driver.send(:get_ip, server).should eq('6.6.6.6')
|
451
451
|
end
|
452
452
|
end
|
453
453
|
|
@@ -458,7 +458,7 @@ describe Kitchen::Driver::Fog do
|
|
458
458
|
let(:parsed_ips) { [%w{6.6.6.6 7.7.7.7}, []] }
|
459
459
|
|
460
460
|
it 'selects the first public IP' do
|
461
|
-
|
461
|
+
driver.send(:get_ip, server).should eq('6.6.6.6')
|
462
462
|
end
|
463
463
|
end
|
464
464
|
|
@@ -469,7 +469,7 @@ describe Kitchen::Driver::Fog do
|
|
469
469
|
let(:parsed_ips) { [[], %w{8.8.8.8 9.9.9.9}] }
|
470
470
|
|
471
471
|
it 'selects the first private IP' do
|
472
|
-
|
472
|
+
driver.send(:get_ip, server).should eq('8.8.8.8')
|
473
473
|
end
|
474
474
|
end
|
475
475
|
end
|
@@ -492,7 +492,7 @@ describe Kitchen::Driver::Fog do
|
|
492
492
|
context 'both public and private IPs' do
|
493
493
|
context 'IPv4 (default)' do
|
494
494
|
it 'returns only the v4 IPs' do
|
495
|
-
|
495
|
+
driver.send(:parse_ips, pub, priv).should eq([pub_v4, priv_v4])
|
496
496
|
end
|
497
497
|
end
|
498
498
|
|
@@ -500,7 +500,7 @@ describe Kitchen::Driver::Fog do
|
|
500
500
|
let(:config) { { :use_ipv6 => true } }
|
501
501
|
|
502
502
|
it 'returns only the v6 IPs' do
|
503
|
-
|
503
|
+
driver.send(:parse_ips, pub, priv).should eq([pub_v6, priv_v6])
|
504
504
|
end
|
505
505
|
end
|
506
506
|
end
|
@@ -510,7 +510,7 @@ describe Kitchen::Driver::Fog do
|
|
510
510
|
|
511
511
|
context 'IPv4 (default)' do
|
512
512
|
it 'returns only the v4 IPs' do
|
513
|
-
|
513
|
+
driver.send(:parse_ips, pub, priv).should eq([pub_v4, []])
|
514
514
|
end
|
515
515
|
end
|
516
516
|
|
@@ -518,7 +518,7 @@ describe Kitchen::Driver::Fog do
|
|
518
518
|
let(:config) { { :use_ipv6 => true } }
|
519
519
|
|
520
520
|
it 'returns only the v6 IPs' do
|
521
|
-
|
521
|
+
driver.send(:parse_ips, pub, priv).should eq([pub_v6, []])
|
522
522
|
end
|
523
523
|
end
|
524
524
|
end
|
@@ -528,7 +528,7 @@ describe Kitchen::Driver::Fog do
|
|
528
528
|
|
529
529
|
context 'IPv4 (default)' do
|
530
530
|
it 'returns only the v4 IPs' do
|
531
|
-
|
531
|
+
driver.send(:parse_ips, pub, priv).should eq([[], priv_v4])
|
532
532
|
end
|
533
533
|
end
|
534
534
|
|
@@ -536,7 +536,7 @@ describe Kitchen::Driver::Fog do
|
|
536
536
|
let(:config) { { :use_ipv6 => true } }
|
537
537
|
|
538
538
|
it 'returns only the v6 IPs' do
|
539
|
-
|
539
|
+
driver.send(:parse_ips, pub, priv).should eq([[], priv_v6])
|
540
540
|
end
|
541
541
|
end
|
542
542
|
end
|
@@ -547,7 +547,7 @@ describe Kitchen::Driver::Fog do
|
|
547
547
|
|
548
548
|
context 'IPv4 (default)' do
|
549
549
|
it 'returns empty lists' do
|
550
|
-
|
550
|
+
driver.send(:parse_ips, pub, priv).should eq([[], []])
|
551
551
|
end
|
552
552
|
end
|
553
553
|
|
@@ -555,7 +555,7 @@ describe Kitchen::Driver::Fog do
|
|
555
555
|
let(:config) { { :use_ipv6 => true } }
|
556
556
|
|
557
557
|
it 'returns empty lists' do
|
558
|
-
|
558
|
+
driver.send(:parse_ips, nil, nil).should eq([[], []])
|
559
559
|
end
|
560
560
|
end
|
561
561
|
end
|
@@ -583,13 +583,13 @@ describe Kitchen::Driver::Fog do
|
|
583
583
|
'echo "a_key" >> ~/.ssh/authorized_keys',
|
584
584
|
'passwd -l root'
|
585
585
|
]
|
586
|
-
|
586
|
+
res.should eq(expected)
|
587
587
|
end
|
588
588
|
end
|
589
589
|
|
590
590
|
describe '#disable_ssl_validation' do
|
591
591
|
it 'turns off Excon SSL cert validation' do
|
592
|
-
|
592
|
+
driver.send(:disable_ssl_validation).should eq(false)
|
593
593
|
end
|
594
594
|
end
|
595
595
|
end
|
metadata
CHANGED
@@ -1,32 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-fog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- Jonathan Hartman
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-
|
12
|
+
date: 2013-12-05 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: test-kitchen
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
19
|
- - ~>
|
18
20
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
21
|
+
version: 1.1.0
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
27
|
- - ~>
|
25
28
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
29
|
+
version: 1.1.0
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: fog
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
35
|
- - ~>
|
32
36
|
- !ruby/object:Gem::Version
|
@@ -34,6 +38,7 @@ dependencies:
|
|
34
38
|
type: :runtime
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
43
|
- - ~>
|
39
44
|
- !ruby/object:Gem::Version
|
@@ -41,6 +46,7 @@ dependencies:
|
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: bundler
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
51
|
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
@@ -48,6 +54,7 @@ dependencies:
|
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
59
|
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
@@ -55,6 +62,7 @@ dependencies:
|
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: rake
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
67
|
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
@@ -62,6 +70,7 @@ dependencies:
|
|
62
70
|
type: :development
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
75
|
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
@@ -69,6 +78,7 @@ dependencies:
|
|
69
78
|
- !ruby/object:Gem::Dependency
|
70
79
|
name: tailor
|
71
80
|
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
72
82
|
requirements:
|
73
83
|
- - ! '>='
|
74
84
|
- !ruby/object:Gem::Version
|
@@ -76,6 +86,7 @@ dependencies:
|
|
76
86
|
type: :development
|
77
87
|
prerelease: false
|
78
88
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
79
90
|
requirements:
|
80
91
|
- - ! '>='
|
81
92
|
- !ruby/object:Gem::Version
|
@@ -83,6 +94,7 @@ dependencies:
|
|
83
94
|
- !ruby/object:Gem::Dependency
|
84
95
|
name: cane
|
85
96
|
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
86
98
|
requirements:
|
87
99
|
- - ! '>='
|
88
100
|
- !ruby/object:Gem::Version
|
@@ -90,6 +102,7 @@ dependencies:
|
|
90
102
|
type: :development
|
91
103
|
prerelease: false
|
92
104
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
93
106
|
requirements:
|
94
107
|
- - ! '>='
|
95
108
|
- !ruby/object:Gem::Version
|
@@ -97,6 +110,7 @@ dependencies:
|
|
97
110
|
- !ruby/object:Gem::Dependency
|
98
111
|
name: countloc
|
99
112
|
requirement: !ruby/object:Gem::Requirement
|
113
|
+
none: false
|
100
114
|
requirements:
|
101
115
|
- - ! '>='
|
102
116
|
- !ruby/object:Gem::Version
|
@@ -104,6 +118,7 @@ dependencies:
|
|
104
118
|
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
107
122
|
requirements:
|
108
123
|
- - ! '>='
|
109
124
|
- !ruby/object:Gem::Version
|
@@ -111,6 +126,7 @@ dependencies:
|
|
111
126
|
- !ruby/object:Gem::Dependency
|
112
127
|
name: rspec
|
113
128
|
requirement: !ruby/object:Gem::Requirement
|
129
|
+
none: false
|
114
130
|
requirements:
|
115
131
|
- - ! '>='
|
116
132
|
- !ruby/object:Gem::Version
|
@@ -118,6 +134,7 @@ dependencies:
|
|
118
134
|
type: :development
|
119
135
|
prerelease: false
|
120
136
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
121
138
|
requirements:
|
122
139
|
- - ! '>='
|
123
140
|
- !ruby/object:Gem::Version
|
@@ -144,26 +161,27 @@ files:
|
|
144
161
|
homepage: https://github.com/TerryHowe/kitchen-fog
|
145
162
|
licenses:
|
146
163
|
- Apache
|
147
|
-
metadata: {}
|
148
164
|
post_install_message:
|
149
165
|
rdoc_options: []
|
150
166
|
require_paths:
|
151
167
|
- lib
|
152
168
|
required_ruby_version: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
153
170
|
requirements:
|
154
171
|
- - ! '>='
|
155
172
|
- !ruby/object:Gem::Version
|
156
173
|
version: '0'
|
157
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
158
176
|
requirements:
|
159
177
|
- - ! '>='
|
160
178
|
- !ruby/object:Gem::Version
|
161
179
|
version: '0'
|
162
180
|
requirements: []
|
163
181
|
rubyforge_project:
|
164
|
-
rubygems_version:
|
182
|
+
rubygems_version: 1.8.25
|
165
183
|
signing_key:
|
166
|
-
specification_version:
|
184
|
+
specification_version: 3
|
167
185
|
summary: A Test Kitchen Fog Nova driver
|
168
186
|
test_files:
|
169
187
|
- spec/kitchen/driver/fog_spec.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: e2e1b0a298df449a085cbdbb1efb97fd4ae9d808
|
4
|
-
data.tar.gz: 7151432803cbdec21ee8c0cd4460ccf72fd373cb
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: 1b67603813c60c4c1102f9674a11a7ff95cf163e2c2726493f2f82973e2962e4043bbf54430bf98e9af92b827319579deb39a81e1d7e75ef48256dcd3eebffa2
|
7
|
-
data.tar.gz: c730813645e6ad9c3a1776bde72da9af4a508dd893ed3ccd9150424b51373dd857c14f2a5080c048887b3f5bf7c431cfad887a75bf9be1621919ece8fb59cf1b
|