kitchen-openstack 1.6.1 → 1.7.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 +4 -4
- data/CHANGELOG.md +13 -0
- data/README.md +9 -0
- data/lib/kitchen/driver/openstack.rb +55 -4
- data/lib/kitchen/driver/openstack_version.rb +1 -1
- data/spec/kitchen/driver/openstack_spec.rb +132 -0
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e6059fb2f510144b58793252bb820a17f15b60e1
|
|
4
|
+
data.tar.gz: 1839ff785f4c4864ecee83317e6849c13bf96919
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6237abba4531cb071ea8681478a3069cdc5605c8ba60bef2f9defa56a3a5519699343d000f7ed4805b825867c6123ffcd19e358760a20944529993588599f346
|
|
7
|
+
data.tar.gz: 52857088b9f309bcbe3178912f0be5318be8eb0cc587ed16b3500ea8709d415e1cd3fe8a6f6c16728e7f6537732d27bf05ace5edf9b1e8000acfde69e61c56d1
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
# 1.7.0 / 2014-10-25
|
|
2
|
+
|
|
3
|
+
### New Features
|
|
4
|
+
|
|
5
|
+
* PR [#66][] - Allow setting a timed sleep for SSH check edge cases
|
|
6
|
+
* PR [#63][] - Add support for a static server name prefix; via [@ftclausen][]
|
|
7
|
+
* PR [#62][] - Add availability zone support; via [@fortable1999][]
|
|
8
|
+
|
|
1
9
|
# 1.6.1 / 2014-10-07
|
|
2
10
|
|
|
3
11
|
### Bug Fixes
|
|
@@ -126,6 +134,9 @@ certain specified NICs; via [@monsterzz][]
|
|
|
126
134
|
|
|
127
135
|
* Initial release! Woo!
|
|
128
136
|
|
|
137
|
+
[#66]: https://github.com/test-kitchen/kitchen-openstack/pull/66
|
|
138
|
+
[#63]: https://github.com/test-kitchen/kitchen-openstack/pull/63
|
|
139
|
+
[#62]: https://github.com/test-kitchen/kitchen-openstack/pull/62
|
|
129
140
|
[#60]: https://github.com/test-kitchen/kitchen-openstack/pull/60
|
|
130
141
|
[#58]: https://github.com/test-kitchen/kitchen-openstack/pull/58
|
|
131
142
|
[#56]: https://github.com/test-kitchen/kitchen-openstack/pull/56
|
|
@@ -154,6 +165,8 @@ certain specified NICs; via [@monsterzz][]
|
|
|
154
165
|
[#7]: https://github.com/test-kitchen/kitchen-openstack/pull/7
|
|
155
166
|
[#2]: https://github.com/test-kitchen/kitchen-openstack/pull/2
|
|
156
167
|
|
|
168
|
+
[@ftclausen]: https://github.com/ftclausen
|
|
169
|
+
[@fortable1999]: https://github.com/fortable1999
|
|
157
170
|
[@stevejmason]: https://github.com/stevejmason
|
|
158
171
|
[@StaymanHou]: https://github.com/StaymanHou
|
|
159
172
|
[@jer]: https://github.com/jer
|
data/README.md
CHANGED
|
@@ -46,6 +46,7 @@ key will be used (with an RSA key taking precedence over a DSA), though that
|
|
|
46
46
|
behavior can be overridden with additional options:
|
|
47
47
|
|
|
48
48
|
server_name: [A UNIQUE SERVER NAME]
|
|
49
|
+
server_name_prefix: [STATIC PREFIX FOR RANDOM SERVER NAME]
|
|
49
50
|
private_key_path: [PATH TO YOUR PRIVATE SSH KEY]
|
|
50
51
|
public_key_path: [PATH TO YOUR SSH PUBLIC KEY]
|
|
51
52
|
username: [SSH USER]
|
|
@@ -53,6 +54,7 @@ behavior can be overridden with additional options:
|
|
|
53
54
|
key_name: [SSH KEY NAME]
|
|
54
55
|
openstack_tenant: [YOUR OPENSTACK TENANT ID]
|
|
55
56
|
openstack_region: [A VALID OPENSTACK REGION]
|
|
57
|
+
availability_zone: [AN OPENSTACK AVAILABILITY ZONE]
|
|
56
58
|
openstack_service_name: [YOUR OPENSTACK COMPUTE SERVICE NAME]
|
|
57
59
|
openstack_network_name: [YOUR OPENSTACK NETWORK NAME USED TO CONNECT]
|
|
58
60
|
security_groups:
|
|
@@ -61,6 +63,13 @@ behavior can be overridden with additional options:
|
|
|
61
63
|
network_ref:
|
|
62
64
|
- [OPENSTACK NETWORK NAMES OR...]
|
|
63
65
|
- [...ID TO CREATE INSTANCE WITH]
|
|
66
|
+
no_ssh_tcp_check: [DEFAULTS TO false, SKIPS TCP CHECK WHEN true]
|
|
67
|
+
no_ssh_tcp_check_sleep: [NUM OF SECONDS TO SLEEP IF no_ssh_tcp_check IS SET]
|
|
68
|
+
|
|
69
|
+
If a `server_name_prefix` is specified then this prefix will be used when
|
|
70
|
+
generating random names of the form `<NAME PREFIX>-<RANDOM STRING>` e.g.
|
|
71
|
+
`myproject-asdfghjk`. If both `server_name_prefix` and `server_name` are
|
|
72
|
+
specified then the `server_name` takes precedence.
|
|
64
73
|
|
|
65
74
|
If a `key_name` is provided it will be used instead of any
|
|
66
75
|
`public_key_path` that is specified.
|
|
@@ -33,6 +33,7 @@ module Kitchen
|
|
|
33
33
|
@@ip_pool_lock = Mutex.new
|
|
34
34
|
|
|
35
35
|
default_config :server_name, nil
|
|
36
|
+
default_config :server_name_prefix, nil
|
|
36
37
|
default_config :key_name, nil
|
|
37
38
|
default_config :private_key_path do
|
|
38
39
|
%w(id_rsa id_dsa).map do |k|
|
|
@@ -52,11 +53,22 @@ module Kitchen
|
|
|
52
53
|
default_config :openstack_network_name, nil
|
|
53
54
|
default_config :floating_ip_pool, nil
|
|
54
55
|
default_config :floating_ip, nil
|
|
56
|
+
default_config :availability_zone, nil
|
|
55
57
|
default_config :security_groups, nil
|
|
56
58
|
default_config :network_ref, nil
|
|
59
|
+
default_config :no_ssh_tcp_check, false
|
|
60
|
+
default_config :no_ssh_tcp_check_sleep, 120
|
|
57
61
|
|
|
58
62
|
def create(state)
|
|
59
|
-
config[:server_name]
|
|
63
|
+
unless config[:server_name]
|
|
64
|
+
if config[:server_name_prefix]
|
|
65
|
+
config[:server_name] = server_name_prefix(
|
|
66
|
+
config[:server_name_prefix]
|
|
67
|
+
)
|
|
68
|
+
else
|
|
69
|
+
config[:server_name] = default_name
|
|
70
|
+
end
|
|
71
|
+
end
|
|
60
72
|
config[:disable_ssl_validation] && disable_ssl_validation
|
|
61
73
|
server = create_server
|
|
62
74
|
state[:server_id] = server.id
|
|
@@ -145,7 +157,8 @@ module Kitchen
|
|
|
145
157
|
{
|
|
146
158
|
name: config[:server_name],
|
|
147
159
|
image_ref: find_image(config[:image_ref]).id,
|
|
148
|
-
flavor_ref: find_flavor(config[:flavor_ref]).id
|
|
160
|
+
flavor_ref: find_flavor(config[:flavor_ref]).id,
|
|
161
|
+
availability_zone: config[:availability_zone]
|
|
149
162
|
}
|
|
150
163
|
end
|
|
151
164
|
|
|
@@ -198,6 +211,32 @@ module Kitchen
|
|
|
198
211
|
].join('-')
|
|
199
212
|
end
|
|
200
213
|
|
|
214
|
+
def server_name_prefix(server_name_prefix)
|
|
215
|
+
# Generate what should be a unique server name with given prefix
|
|
216
|
+
# of up to 63 total chars
|
|
217
|
+
#
|
|
218
|
+
# Provided prefix: variable, max 54
|
|
219
|
+
# Separator: 1
|
|
220
|
+
# Random string: 8
|
|
221
|
+
# ===================
|
|
222
|
+
# Max: 63
|
|
223
|
+
#
|
|
224
|
+
if server_name_prefix.length > 54
|
|
225
|
+
warn 'Server name prefix too long, truncated to 54 characters'
|
|
226
|
+
server_name_prefix = server_name_prefix[0..53]
|
|
227
|
+
end
|
|
228
|
+
|
|
229
|
+
server_name_prefix.gsub!(/\W/, '')
|
|
230
|
+
|
|
231
|
+
if server_name_prefix.empty?
|
|
232
|
+
warn 'Server name prefix empty or invalid; using fully generated name'
|
|
233
|
+
default_name
|
|
234
|
+
else
|
|
235
|
+
random_suffix = ('a'..'z').to_a.shuffle[0, 8].join
|
|
236
|
+
server_name_prefix + '-' + random_suffix
|
|
237
|
+
end
|
|
238
|
+
end
|
|
239
|
+
|
|
201
240
|
def attach_ip_from_pool(server, pool)
|
|
202
241
|
@@ip_pool_lock.synchronize do
|
|
203
242
|
info "Attaching floating IP from <#{pool}> pool"
|
|
@@ -265,8 +304,7 @@ module Kitchen
|
|
|
265
304
|
end
|
|
266
305
|
|
|
267
306
|
def setup_ssh(server, state)
|
|
268
|
-
|
|
269
|
-
info '(ssh ready)'
|
|
307
|
+
tcp_check(state)
|
|
270
308
|
if config[:key_name]
|
|
271
309
|
info "Using OpenStack keypair <#{config[:key_name]}>"
|
|
272
310
|
end
|
|
@@ -289,6 +327,19 @@ module Kitchen
|
|
|
289
327
|
])
|
|
290
328
|
end
|
|
291
329
|
|
|
330
|
+
def tcp_check(state)
|
|
331
|
+
# allow driver config to bypass SSH tcp check -- because
|
|
332
|
+
# it doesn't respect ssh_config values that might be required
|
|
333
|
+
if config[:no_ssh_tcp_check]
|
|
334
|
+
sleep(config[:no_ssh_tcp_check_sleep])
|
|
335
|
+
else
|
|
336
|
+
wait_for_sshd(state[:hostname],
|
|
337
|
+
config[:username],
|
|
338
|
+
port: config[:port])
|
|
339
|
+
end
|
|
340
|
+
info '(ssh ready)'
|
|
341
|
+
end
|
|
342
|
+
|
|
292
343
|
def disable_ssl_validation
|
|
293
344
|
require 'excon'
|
|
294
345
|
Excon.defaults[:ssl_verify_peer] = false
|
|
@@ -53,6 +53,14 @@ describe Kitchen::Driver::Openstack do
|
|
|
53
53
|
|
|
54
54
|
describe '#initialize'do
|
|
55
55
|
context 'default options' do
|
|
56
|
+
it 'uses the normal SSH status check' do
|
|
57
|
+
expect(driver[:no_ssh_tcp_check]).to eq(false)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it 'sets a default TCP check wait time' do
|
|
61
|
+
expect(driver[:no_ssh_tcp_check_sleep]).to eq(120)
|
|
62
|
+
end
|
|
63
|
+
|
|
56
64
|
context 'both DSA and RSA SSH keys available for the user' do
|
|
57
65
|
it 'prefers the local user\'s RSA private key' do
|
|
58
66
|
expect(driver[:private_key_path]).to eq(rsa)
|
|
@@ -105,6 +113,8 @@ describe Kitchen::Driver::Openstack do
|
|
|
105
113
|
:openstack_service_name,
|
|
106
114
|
:floating_ip_pool,
|
|
107
115
|
:floating_ip,
|
|
116
|
+
:availability_zone,
|
|
117
|
+
:security_groups,
|
|
108
118
|
:network_ref
|
|
109
119
|
]
|
|
110
120
|
nils.each do |i|
|
|
@@ -123,6 +133,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
123
133
|
username: 'admin',
|
|
124
134
|
port: '2222',
|
|
125
135
|
server_name: 'puppy',
|
|
136
|
+
server_name_prefix: 'parsnip',
|
|
126
137
|
openstack_tenant: 'that_one',
|
|
127
138
|
openstack_region: 'atlantis',
|
|
128
139
|
openstack_service_name: 'the_service',
|
|
@@ -139,6 +150,10 @@ describe Kitchen::Driver::Openstack do
|
|
|
139
150
|
expect(drv[k]).to eq(v)
|
|
140
151
|
end
|
|
141
152
|
end
|
|
153
|
+
|
|
154
|
+
it 'overrides server name prefix with explicit server name, if given' do
|
|
155
|
+
expect(driver[:server_name]).to eq(config[:server_name])
|
|
156
|
+
end
|
|
142
157
|
end
|
|
143
158
|
end
|
|
144
159
|
|
|
@@ -354,6 +369,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
354
369
|
server_name: 'hello',
|
|
355
370
|
image_ref: '111',
|
|
356
371
|
flavor_ref: '1',
|
|
372
|
+
availability_zone: nil,
|
|
357
373
|
public_key_path: 'tarpals'
|
|
358
374
|
}
|
|
359
375
|
end
|
|
@@ -403,6 +419,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
403
419
|
server_name: 'hello',
|
|
404
420
|
image_ref: '111',
|
|
405
421
|
flavor_ref: '1',
|
|
422
|
+
availability_zone: nil,
|
|
406
423
|
public_key_path: 'tarpals'
|
|
407
424
|
}
|
|
408
425
|
end
|
|
@@ -422,6 +439,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
422
439
|
server_name: 'hello',
|
|
423
440
|
image_ref: '111',
|
|
424
441
|
flavor_ref: '1',
|
|
442
|
+
availability_zone: nil,
|
|
425
443
|
public_key_path: 'montgomery',
|
|
426
444
|
key_name: 'tarpals'
|
|
427
445
|
}
|
|
@@ -443,6 +461,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
443
461
|
server_name: 'hello',
|
|
444
462
|
image_ref: '111',
|
|
445
463
|
flavor_ref: '1',
|
|
464
|
+
availability_zone: nil,
|
|
446
465
|
public_key_path: 'montgomery',
|
|
447
466
|
key_name: 'tarpals',
|
|
448
467
|
security_groups: ['ping-and-ssh']
|
|
@@ -459,6 +478,28 @@ describe Kitchen::Driver::Openstack do
|
|
|
459
478
|
end
|
|
460
479
|
end
|
|
461
480
|
|
|
481
|
+
context 'a provided availability zone' do
|
|
482
|
+
let(:config) do
|
|
483
|
+
{
|
|
484
|
+
server_name: 'hello',
|
|
485
|
+
image_ref: '111',
|
|
486
|
+
flavor_ref: '1',
|
|
487
|
+
availability_zone: 'elsewhere',
|
|
488
|
+
public_key_path: 'montgomery',
|
|
489
|
+
key_name: 'tarpals'
|
|
490
|
+
}
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
before(:each) do
|
|
494
|
+
@expected = config.merge(name: config[:server_name])
|
|
495
|
+
@expected.delete_if { |k, _| k == :server_name }
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
it 'passes that availability zone to Fog' do
|
|
499
|
+
expect(driver.send(:create_server)).to eq(@expected)
|
|
500
|
+
end
|
|
501
|
+
end
|
|
502
|
+
|
|
462
503
|
context 'image/flavor specifies id' do
|
|
463
504
|
let(:config) do
|
|
464
505
|
{
|
|
@@ -473,6 +514,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
473
514
|
expect(servers).to receive(:create).with(name: 'hello',
|
|
474
515
|
image_ref: '111',
|
|
475
516
|
flavor_ref: '1',
|
|
517
|
+
availability_zone: nil,
|
|
476
518
|
public_key_path: 'tarpals')
|
|
477
519
|
driver.send(:create_server)
|
|
478
520
|
end
|
|
@@ -492,6 +534,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
492
534
|
expect(servers).to receive(:create).with(name: 'hello',
|
|
493
535
|
image_ref: '222',
|
|
494
536
|
flavor_ref: '2',
|
|
537
|
+
availability_zone: nil,
|
|
495
538
|
public_key_path: 'tarpals')
|
|
496
539
|
driver.send(:create_server)
|
|
497
540
|
end
|
|
@@ -512,6 +555,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
512
555
|
expect(servers).to receive(:create).with(name: 'hello',
|
|
513
556
|
image_ref: '222',
|
|
514
557
|
flavor_ref: '1',
|
|
558
|
+
availability_zone: nil,
|
|
515
559
|
public_key_path: 'tarpals')
|
|
516
560
|
driver.send(:create_server)
|
|
517
561
|
end
|
|
@@ -536,6 +580,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
536
580
|
name: 'hello',
|
|
537
581
|
image_ref: '111',
|
|
538
582
|
flavor_ref: '1',
|
|
583
|
+
availability_zone: nil,
|
|
539
584
|
public_key_path: 'tarpals',
|
|
540
585
|
nics: networks
|
|
541
586
|
)
|
|
@@ -562,6 +607,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
562
607
|
name: 'hello',
|
|
563
608
|
image_ref: '111',
|
|
564
609
|
flavor_ref: '1',
|
|
610
|
+
availability_zone: nil,
|
|
565
611
|
public_key_path: 'tarpals',
|
|
566
612
|
nics: networks
|
|
567
613
|
)
|
|
@@ -589,6 +635,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
589
635
|
name: 'hello',
|
|
590
636
|
image_ref: '111',
|
|
591
637
|
flavor_ref: '1',
|
|
638
|
+
availability_zone: nil,
|
|
592
639
|
public_key_path: 'tarpals',
|
|
593
640
|
nics: networks
|
|
594
641
|
)
|
|
@@ -618,6 +665,7 @@ describe Kitchen::Driver::Openstack do
|
|
|
618
665
|
name: 'hello',
|
|
619
666
|
image_ref: '111',
|
|
620
667
|
flavor_ref: '1',
|
|
668
|
+
availability_zone: nil,
|
|
621
669
|
public_key_path: 'tarpals',
|
|
622
670
|
user_data: data)
|
|
623
671
|
driver.send(:create_server)
|
|
@@ -679,6 +727,53 @@ describe Kitchen::Driver::Openstack do
|
|
|
679
727
|
end
|
|
680
728
|
end
|
|
681
729
|
|
|
730
|
+
describe '#server_name_prefix' do
|
|
731
|
+
let(:login) { 'user' }
|
|
732
|
+
let(:hostname) { 'host' }
|
|
733
|
+
let(:prefix) { 'parsnip' }
|
|
734
|
+
|
|
735
|
+
# These are still used in the "blank prefix" test
|
|
736
|
+
before(:each) do
|
|
737
|
+
allow(Etc).to receive(:getlogin).and_return(login)
|
|
738
|
+
allow(Socket).to receive(:gethostname).and_return(hostname)
|
|
739
|
+
end
|
|
740
|
+
|
|
741
|
+
it 'generates a name with the selected prefix' do
|
|
742
|
+
expect(driver.send(:server_name_prefix, prefix))
|
|
743
|
+
.to match(/^parsnip-(\S*)/)
|
|
744
|
+
end
|
|
745
|
+
|
|
746
|
+
context 'very long prefix provided' do
|
|
747
|
+
let(:long_prefix) { 'a' * 70 }
|
|
748
|
+
|
|
749
|
+
it 'limits the generated name to 63 characters' do
|
|
750
|
+
expect(driver.send(:server_name_prefix, long_prefix).length)
|
|
751
|
+
.to be <= (63)
|
|
752
|
+
end
|
|
753
|
+
end
|
|
754
|
+
|
|
755
|
+
context 'a prefix with punctuation' do
|
|
756
|
+
let(:bad_char_prefix) { 'pa-rsn.ip' }
|
|
757
|
+
|
|
758
|
+
it 'strips out the dots to prevent bad server names' do
|
|
759
|
+
expect(driver.send(:server_name_prefix, bad_char_prefix))
|
|
760
|
+
.to_not include('.')
|
|
761
|
+
end
|
|
762
|
+
|
|
763
|
+
it 'strips out all but the one hyphen separator' do
|
|
764
|
+
expect(driver.send(:server_name_prefix, bad_char_prefix)
|
|
765
|
+
.count('-')).to eq(1)
|
|
766
|
+
end
|
|
767
|
+
end
|
|
768
|
+
|
|
769
|
+
context 'blank prefix' do
|
|
770
|
+
it 'generates fully random server name' do
|
|
771
|
+
expect(driver.send(:server_name_prefix, ''))
|
|
772
|
+
.to match(/potatoes-user-host-(\S*)/)
|
|
773
|
+
end
|
|
774
|
+
end
|
|
775
|
+
end
|
|
776
|
+
|
|
682
777
|
describe '#attach_ip_from_pool' do
|
|
683
778
|
let(:server) { nil }
|
|
684
779
|
let(:pool) { 'swimmers' }
|
|
@@ -978,6 +1073,43 @@ describe Kitchen::Driver::Openstack do
|
|
|
978
1073
|
end
|
|
979
1074
|
end
|
|
980
1075
|
|
|
1076
|
+
describe '#setup_ssh' do
|
|
1077
|
+
let(:server) { double }
|
|
1078
|
+
before(:each) do
|
|
1079
|
+
[:tcp_check, :do_ssh_setup].each do |m|
|
|
1080
|
+
allow_any_instance_of(described_class).to receive(m)
|
|
1081
|
+
end
|
|
1082
|
+
end
|
|
1083
|
+
|
|
1084
|
+
it 'calls the TCP check' do
|
|
1085
|
+
expect_any_instance_of(described_class).to receive(:tcp_check).with(state)
|
|
1086
|
+
driver.send(:setup_ssh, server, state)
|
|
1087
|
+
end
|
|
1088
|
+
end
|
|
1089
|
+
|
|
1090
|
+
describe '#tcp_check' do
|
|
1091
|
+
let(:state) { { hostname: 'hostname' } }
|
|
1092
|
+
|
|
1093
|
+
context 'standard SSH check' do
|
|
1094
|
+
it 'calls the normal Kitchen SSH wait' do
|
|
1095
|
+
expect_any_instance_of(described_class).not_to receive(:sleep)
|
|
1096
|
+
expect_any_instance_of(described_class).to receive(:wait_for_sshd)
|
|
1097
|
+
.with('hostname', 'root', port: '22')
|
|
1098
|
+
driver.send(:tcp_check, state)
|
|
1099
|
+
end
|
|
1100
|
+
end
|
|
1101
|
+
|
|
1102
|
+
context 'override SSH wait' do
|
|
1103
|
+
let(:config) { { no_ssh_tcp_check: true } }
|
|
1104
|
+
|
|
1105
|
+
it 'sleeps instead of monitoring the SSH port' do
|
|
1106
|
+
expect_any_instance_of(described_class).not_to receive(:wait_for_sshd)
|
|
1107
|
+
expect_any_instance_of(described_class).to receive(:sleep).with(120)
|
|
1108
|
+
driver.send(:tcp_check, state)
|
|
1109
|
+
end
|
|
1110
|
+
end
|
|
1111
|
+
end
|
|
1112
|
+
|
|
981
1113
|
describe '#disable_ssl_validation' do
|
|
982
1114
|
it 'turns off Excon SSL cert validation' do
|
|
983
1115
|
expect(driver.send(:disable_ssl_validation)).to eq(false)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchen-openstack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.7.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan Hartman
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-10-
|
|
11
|
+
date: 2014-10-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: test-kitchen
|