kitchen-openstack 5.0.1 → 6.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 +4 -4
- data/README.md +29 -17
- data/lib/kitchen/driver/openstack.rb +10 -4
- data/lib/kitchen/driver/openstack/volume.rb +0 -1
- data/lib/kitchen/driver/openstack_version.rb +2 -3
- metadata +7 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d3c139f8629d8896b075e11cb86e24e39895b8d98f82fe252577b781a1181f65
|
|
4
|
+
data.tar.gz: 178e6d4f4fbdc151d8cb90a3a9073f39901aab259b35955a970d1152fc4b3e2f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ab2a070947110663f54193aa73379f5740ec0bc353f962e4523fcc1cd721382f216db25f97a0d1199ba22208126543460fbd76e2da63493c88884f1f956fe6b4
|
|
7
|
+
data.tar.gz: 4d1f3d1d6f753183beabf8493c87335fd7e42485d6e889410ed4e115031c5480e7fab107a7419b6166797a081ff67a293692fd7fc27598368f31eb890377108d
|
data/README.md
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# <a name="title"></a> Kitchen::OpenStack: A Test Kitchen Driver for OpenStack
|
|
2
2
|
|
|
3
3
|
[][gem]
|
|
4
|
-
|
|
5
|
-
[][codeclimate]
|
|
6
|
-
[][coveralls]
|
|
4
|
+

|
|
7
5
|
|
|
8
6
|
A [Test Kitchen][kitchen_ci] Driver for [OpenStack][openstack_web].
|
|
9
7
|
|
|
@@ -21,6 +19,12 @@ There are **no** external system requirements for this driver. However you will
|
|
|
21
19
|
|
|
22
20
|
## Installation and Setup
|
|
23
21
|
|
|
22
|
+
This plugin ships out of the box with Chef Workstation, which is the easiest way to make sure you always have the latest testing dependencies in a single package.
|
|
23
|
+
|
|
24
|
+
[Download Chef Workstation](https://downloads.chef.io/tools/workstation) to get started
|
|
25
|
+
|
|
26
|
+
### Manual Installation
|
|
27
|
+
|
|
24
28
|
Add this line to your application's Gemfile:
|
|
25
29
|
|
|
26
30
|
```ruby
|
|
@@ -39,12 +43,6 @@ Or install it yourself as:
|
|
|
39
43
|
$ gem install kitchen-openstack
|
|
40
44
|
```
|
|
41
45
|
|
|
42
|
-
Or if using [chefdk][chefdk_dl] install with:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
$ chef gem install kitchen-openstack
|
|
46
|
-
```
|
|
47
|
-
|
|
48
46
|
## Minimum Configuration
|
|
49
47
|
|
|
50
48
|
```yaml
|
|
@@ -180,7 +178,7 @@ security_groups:
|
|
|
180
178
|
|
|
181
179
|
### user\_data
|
|
182
180
|
|
|
183
|
-
If your
|
|
181
|
+
If your VMs have `cloud-init` enabled you can use the `user_data` in your
|
|
184
182
|
kitchen.yml to inject commands at boot time.
|
|
185
183
|
|
|
186
184
|
```
|
|
@@ -196,9 +194,28 @@ for example:
|
|
|
196
194
|
echo "do whatever you want to pre-configure your machine"
|
|
197
195
|
```
|
|
198
196
|
|
|
197
|
+
### cloud\_config
|
|
198
|
+
|
|
199
|
+
If your VMs have `cloud-init` enabled you can use `cloud_config` to generate userdata for use by cloud-init in the [cloud-config format](https://cloudinit.readthedocs.io/en/latest/topics/format.html#cloud-config-data). This provides a convenient way to specify cloud-init config inline. As the cloud-config format uses YAML the resulting userdata is essentially a copy+paste of `cloud_config` with the header line '#cloud-config'
|
|
200
|
+
|
|
201
|
+
```
|
|
202
|
+
driver_config:
|
|
203
|
+
cloud_config:
|
|
204
|
+
hostname: my-hostname
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
This will pass the following user data to OpenStack:
|
|
208
|
+
|
|
209
|
+
```
|
|
210
|
+
#cloud-config
|
|
211
|
+
hostname: my-hostname
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
The `cloud_config` and `user_data` options are mutually exclusive.
|
|
215
|
+
|
|
199
216
|
### config\_drive
|
|
200
217
|
|
|
201
|
-
If your
|
|
218
|
+
If your VMs require config drive.
|
|
202
219
|
|
|
203
220
|
```
|
|
204
221
|
config_drive: true
|
|
@@ -452,10 +469,6 @@ Apache 2.0 (see [LICENSE][license])
|
|
|
452
469
|
|
|
453
470
|
|
|
454
471
|
[gem]: https://rubygems.org/gems/kitchen-openstack
|
|
455
|
-
[travis]: https://travis-ci.org/test-kitchen/kitchen-openstack
|
|
456
|
-
[codeclimate]: https://codeclimate.com/github/test-kitchen/kitchen-openstack
|
|
457
|
-
[coveralls]: https://coveralls.io/r/test-kitchen/kitchen-openstack
|
|
458
|
-
[gemnasium]: https://gemnasium.com/test-kitchen/kitchen-openstack
|
|
459
472
|
|
|
460
473
|
[author]: https://github.com/RoboticCheese
|
|
461
474
|
[maintainer]: https://github.com/jjasghar
|
|
@@ -463,8 +476,7 @@ Apache 2.0 (see [LICENSE][license])
|
|
|
463
476
|
[license]: https://github.com/test-kitchen/kitchen-openstack/blob/master/LICENSE.txt
|
|
464
477
|
[repo]: https://github.com/test-kitchen/kitchen-openstack
|
|
465
478
|
[driver_usage]: https://github.com/test-kitchen/kitchen-openstack
|
|
466
|
-
[chef_omnibus_dl]:
|
|
467
|
-
[chefdk_dl]: https://downloads.chef.io/chef-dk
|
|
479
|
+
[chef_omnibus_dl]: https://downloads.chef.io/tools/infra-client
|
|
468
480
|
[kitchen_ci]: http://kitchen.ci
|
|
469
481
|
|
|
470
482
|
[openstack_web]: http://www.openstack.org
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# Encoding: UTF-8
|
|
2
1
|
# frozen_string_literal: true
|
|
3
2
|
|
|
4
3
|
#
|
|
@@ -22,7 +21,8 @@
|
|
|
22
21
|
|
|
23
22
|
require "kitchen"
|
|
24
23
|
require "fog/openstack"
|
|
25
|
-
require "ohai"
|
|
24
|
+
require "ohai" unless defined?(Ohai::System)
|
|
25
|
+
require "yaml"
|
|
26
26
|
require_relative "openstack_version"
|
|
27
27
|
require_relative "openstack/volume"
|
|
28
28
|
|
|
@@ -201,6 +201,12 @@ module Kitchen
|
|
|
201
201
|
server_def[c] = optional_config(c) if config[c]
|
|
202
202
|
end
|
|
203
203
|
|
|
204
|
+
if config[:cloud_config]
|
|
205
|
+
raise(ActionFailed, "Cannot specify both cloud_config and user_data") if config[:user_data]
|
|
206
|
+
|
|
207
|
+
server_def[:user_data] = Kitchen::Util.stringified_hash(config[:cloud_config]).to_yaml.gsub(/^---\n/, "#cloud-config\n")
|
|
208
|
+
end
|
|
209
|
+
|
|
204
210
|
# Can't use the Fog bootstrap and/or setup methods here; they require a
|
|
205
211
|
# public IP address that can't be guaranteed to exist across all
|
|
206
212
|
# OpenStack deployments (e.g. TryStack ARM only has private IPs).
|
|
@@ -412,7 +418,7 @@ module Kitchen
|
|
|
412
418
|
end
|
|
413
419
|
|
|
414
420
|
def disable_ssl_validation
|
|
415
|
-
require "excon"
|
|
421
|
+
require "excon" unless defined?(Excon)
|
|
416
422
|
Excon.defaults[:ssl_verify_peer] = false
|
|
417
423
|
end
|
|
418
424
|
|
|
@@ -442,7 +448,7 @@ module Kitchen
|
|
|
442
448
|
if name.start_with?("/") && name.end_with?("/")
|
|
443
449
|
regex = Regexp.new(name[1...-1])
|
|
444
450
|
# check for regex name match
|
|
445
|
-
collection.each { |single| return single if regex
|
|
451
|
+
collection.each { |single| return single if regex&.match?(single.name) }
|
|
446
452
|
else
|
|
447
453
|
# check for exact id match
|
|
448
454
|
collection.each { |single| return single if single.id == name }
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# Encoding: UTF-8
|
|
2
1
|
# frozen_string_literal: true
|
|
3
2
|
|
|
4
3
|
#
|
|
5
4
|
# Author:: Jonathan Hartman (<j@p4nt5.com>)
|
|
6
5
|
#
|
|
7
6
|
# Copyright (C) 2013-2015, Jonathan Hartman
|
|
8
|
-
# Copyright (C) 2015-
|
|
7
|
+
# Copyright (C) 2015-2021, Chef Software Inc
|
|
9
8
|
#
|
|
10
9
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
10
|
# you may not use this file except in compliance with the License.
|
|
@@ -24,6 +23,6 @@ module Kitchen
|
|
|
24
23
|
#
|
|
25
24
|
# @author Jonathan Hartman <j@p4nt5.com>
|
|
26
25
|
module Driver
|
|
27
|
-
OPENSTACK_VERSION = "
|
|
26
|
+
OPENSTACK_VERSION = "6.0.0"
|
|
28
27
|
end
|
|
29
28
|
end
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kitchen-openstack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 6.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan Hartman
|
|
8
8
|
- JJ Asghar
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2021-02-17 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: test-kitchen
|
|
@@ -159,7 +159,7 @@ homepage: https://github.com/test-kitchen/kitchen-openstack
|
|
|
159
159
|
licenses:
|
|
160
160
|
- Apache-2.0
|
|
161
161
|
metadata: {}
|
|
162
|
-
post_install_message:
|
|
162
|
+
post_install_message:
|
|
163
163
|
rdoc_options: []
|
|
164
164
|
require_paths:
|
|
165
165
|
- lib
|
|
@@ -167,15 +167,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
167
167
|
requirements:
|
|
168
168
|
- - ">="
|
|
169
169
|
- !ruby/object:Gem::Version
|
|
170
|
-
version: 2.
|
|
170
|
+
version: 2.6.0
|
|
171
171
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
172
|
requirements:
|
|
173
173
|
- - ">="
|
|
174
174
|
- !ruby/object:Gem::Version
|
|
175
175
|
version: '0'
|
|
176
176
|
requirements: []
|
|
177
|
-
rubygems_version: 3.1.
|
|
178
|
-
signing_key:
|
|
177
|
+
rubygems_version: 3.1.4
|
|
178
|
+
signing_key:
|
|
179
179
|
specification_version: 4
|
|
180
180
|
summary: A Test Kitchen OpenStack Nova driver
|
|
181
181
|
test_files: []
|