kitchen-openstack 3.3.0 → 3.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -1
- data/README.md +5 -5
- data/lib/kitchen/driver/openstack.rb +15 -7
- data/lib/kitchen/driver/openstack_version.rb +1 -1
- data/spec/kitchen/driver/openstack_spec.rb +7 -3
- 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: 84ee970244371b0d525d62e3de2683562249fc49
|
4
|
+
data.tar.gz: 9fbd1af6fc48fa29385f04c851d92e3ac91aabf0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 480bf5ffa70f5eab36da5c14d4b32a9ae2c841c893af0cda92268bfe193ba35dfc841e12f647791e8da1b88c17484ce806d66b8a9046d17a70ffedf30ce9bd44
|
7
|
+
data.tar.gz: bc296c784c1c1fe36394cd7de4ca636a6f00c350530e677039725133096c9b764d7e45a8fd0cccf3fc3d7a05266f866a0de72def187d5ed797fecf82ef4386be
|
data/CHANGELOG.md
CHANGED
@@ -1,7 +1,22 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
-
## [
|
3
|
+
## [Unreleased](https://github.com/test-kitchen/kitchen-openstack/tree/v3.4.0)
|
4
4
|
|
5
|
+
[Full Changelog](https://github.com/test-kitchen/kitchen-openstack/compare/v3.3.0...v3.4.0)
|
6
|
+
|
7
|
+
**Closed issues:**
|
8
|
+
|
9
|
+
- Multiple networks in network\_id causes error [\#163](https://github.com/test-kitchen/kitchen-openstack/issues/163)
|
10
|
+
- Can't create VM [\#160](https://github.com/test-kitchen/kitchen-openstack/issues/160)
|
11
|
+
- Why is private\_key\_path required? [\#151](https://github.com/test-kitchen/kitchen-openstack/issues/151)
|
12
|
+
- version 3.1.0 does not properly wait for VM to be up before failing [\#147](https://github.com/test-kitchen/kitchen-openstack/issues/147)
|
13
|
+
|
14
|
+
**Merged pull requests:**
|
15
|
+
|
16
|
+
- Fix creation of floating IP to use network ID instead of name [\#162](https://github.com/test-kitchen/kitchen-openstack/pull/162) ([dannytrigo](https://github.com/dannytrigo))
|
17
|
+
- Updated readme with clarity [\#161](https://github.com/test-kitchen/kitchen-openstack/pull/161) ([jjasghar](https://github.com/jjasghar))
|
18
|
+
|
19
|
+
## [v3.3.0](https://github.com/test-kitchen/kitchen-openstack/tree/v3.3.0) (2017-03-13)
|
5
20
|
[Full Changelog](https://github.com/test-kitchen/kitchen-openstack/compare/v3.2.0...v3.3.0)
|
6
21
|
|
7
22
|
**Merged pull requests:**
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ driver:
|
|
49
49
|
name: openstack
|
50
50
|
openstack_username: [YOUR OPENSTACK USERNAME]
|
51
51
|
openstack_api_key: [YOUR OPENSTACK API KEY] # AKA your OpenStack Password
|
52
|
-
openstack_auth_url: [YOUR OPENSTACK AUTH URL]
|
52
|
+
openstack_auth_url: [YOUR OPENSTACK AUTH URL] # if you are using v3, API_URL/v3/auth/tokens
|
53
53
|
require_chef_omnibus: [e.g. 'true' or a version number if you need Chef]
|
54
54
|
image_ref: [SERVER IMAGE ID]
|
55
55
|
flavor_ref: [SERVER FLAVOR ID]
|
@@ -79,7 +79,7 @@ All of Fog's `openstack` options (`openstack_domain_name`, `openstack_project_na
|
|
79
79
|
|
80
80
|
### openstack\_auth\_url
|
81
81
|
|
82
|
-
**Required** Your OpenStack auth url.
|
82
|
+
**Required** Your OpenStack auth url. If you are using ID v3, you'll need to use `API_URL/v3/auth/tokens`.
|
83
83
|
|
84
84
|
### require\_chef_omnibus
|
85
85
|
|
@@ -93,7 +93,7 @@ All of Fog's `openstack` options (`openstack_domain_name`, `openstack_project_na
|
|
93
93
|
|
94
94
|
**image_ref or image_id required** Server Image ID. Specifying the ID instead of reference results in a faster create time.
|
95
95
|
|
96
|
-
**Note** If the image UUID changes this value will need to be updated.
|
96
|
+
**Note** If the image UUID changes this value will need to be updated.
|
97
97
|
|
98
98
|
### flavor\_ref
|
99
99
|
|
@@ -214,7 +214,7 @@ network_ref:
|
|
214
214
|
|
215
215
|
A list of network ids to create instances with. Specifying the id instead of reference results in a faster create time.
|
216
216
|
|
217
|
-
**Note** If the network UUID changes this value will need to be updated.
|
217
|
+
**Note** If the network UUID changes this value will need to be updated.
|
218
218
|
|
219
219
|
```yaml
|
220
220
|
network_ref:
|
@@ -339,7 +339,7 @@ assuming that test network is configured as private.
|
|
339
339
|
### use_ipv6
|
340
340
|
|
341
341
|
If true use IPv6 addresses to for SSH connections. If false, the default, use
|
342
|
-
IPv4 addresses for SSH connections.
|
342
|
+
IPv4 addresses for SSH connections.
|
343
343
|
|
344
344
|
### network\_ref
|
345
345
|
|
@@ -109,11 +109,17 @@ module Kitchen
|
|
109
109
|
|
110
110
|
unless server.nil?
|
111
111
|
if config[:floating_ip_pool] && config[:allocate_floating_ip]
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
112
|
+
info 'Retrieve the floating IP'
|
113
|
+
pub, priv = get_public_private_ips(server)
|
114
|
+
pub, = parse_ips(pub, priv)
|
115
|
+
pub_ip = pub[config[:public_ip_order].to_i] || nil
|
116
|
+
if pub_ip
|
117
|
+
info "Retrieve the ID of floating IP <#{pub_ip}>"
|
118
|
+
floating_ip_id = network.list_floating_ips(floating_ip_address: pub_ip) # rubocop:disable Metrics/LineLength
|
119
|
+
.body['floatingips'][0]['id']
|
120
|
+
network.delete_floating_ip(floating_ip_id)
|
121
|
+
info "OpenStack Floating IP <#{pub_ip}> released."
|
122
|
+
end
|
117
123
|
end
|
118
124
|
server.destroy
|
119
125
|
end
|
@@ -289,9 +295,11 @@ module Kitchen
|
|
289
295
|
@@ip_pool_lock.synchronize do
|
290
296
|
info "Attaching floating IP from <#{pool}> pool"
|
291
297
|
if config[:allocate_floating_ip]
|
292
|
-
|
298
|
+
network_id = network.list_networks(name: pool)
|
299
|
+
.body['networks'][0]['id']
|
300
|
+
resp = network.create_floating_ip(network_id)
|
293
301
|
ip = resp.body['floatingip']['floating_ip_address']
|
294
|
-
info "
|
302
|
+
info "Created floating IP <#{ip}> from <#{pool}> pool"
|
295
303
|
config[:floating_ip] = ip
|
296
304
|
else
|
297
305
|
free_addrs = compute.addresses.map do |i|
|
@@ -293,7 +293,7 @@ describe Kitchen::Driver::Openstack do
|
|
293
293
|
|
294
294
|
let(:driver) do
|
295
295
|
d = super()
|
296
|
-
allow(d).to receive(:
|
296
|
+
allow(d).to receive(:get_public_private_ips).and_return([ip, nil])
|
297
297
|
allow(d).to receive(:compute).and_return(compute)
|
298
298
|
allow(d).to receive(:network).and_return(network)
|
299
299
|
d
|
@@ -952,14 +952,18 @@ describe Kitchen::Driver::Openstack do
|
|
952
952
|
let(:server) { nil }
|
953
953
|
let(:pool) { 'swimmers' }
|
954
954
|
let(:config) { { allocate_floating_ip: true } }
|
955
|
+
let(:network_id) { 123 }
|
955
956
|
let(:ip) { '1.1.1.1' }
|
956
957
|
let(:address) do
|
957
958
|
double(ip: ip, fixed_ip: nil, instance_id: nil, pool: pool)
|
958
959
|
end
|
959
|
-
let(:
|
960
|
+
let(:list_networks_response) do
|
961
|
+
double(body: { 'networks' => [{ 'name' => pool, 'id' => network_id }] })
|
962
|
+
end
|
963
|
+
let(:create_ip_network_response) do
|
960
964
|
double(body: { 'floatingip' => { 'floating_ip_address' => ip } })
|
961
965
|
end
|
962
|
-
let(:network) { double(create_floating_ip:
|
966
|
+
let(:network) { double(list_networks: list_networks_response, create_floating_ip: create_ip_network_response) } # rubocop:disable Metrics/LineLength
|
963
967
|
|
964
968
|
before(:each) do
|
965
969
|
allow(driver).to receive(:attach_ip).with(server, ip).and_return('bing!')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kitchen-openstack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Hartman
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-03-
|
12
|
+
date: 2017-03-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: test-kitchen
|