kitchen-rackspace 0.21.2 → 0.22.1
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/.github/workflows/publish.yaml +1 -1
- data/.release-please-manifest.json +1 -1
- data/.rspec +1 -0
- data/.rubocop.yml +1 -3
- data/.yamllint +6 -0
- data/.yardopts +11 -0
- data/CHANGELOG.md +111 -3
- data/CONTRIBUTING.md +207 -0
- data/Gemfile +7 -5
- data/README.md +327 -58
- data/Rakefile +18 -2
- data/helpers/dump_flavor_list.rb +46 -0
- data/helpers/dump_image_list.rb +97 -66
- data/kitchen-rackspace.gemspec +6 -4
- data/lib/kitchen/driver/rackspace.rb +201 -12
- data/lib/kitchen/driver/rackspace_version.rb +4 -1
- data/spec/kitchen/driver/rackspace/compute_spec.rb +162 -0
- data/spec/kitchen/driver/rackspace/configuration_spec.rb +210 -0
- data/spec/kitchen/driver/rackspace/create_spec.rb +150 -0
- data/spec/kitchen/driver/rackspace/destroy_spec.rb +63 -0
- data/spec/kitchen/driver/rackspace/image_spec.rb +58 -0
- data/spec/kitchen/driver/rackspace/plugin_spec.rb +14 -0
- data/spec/kitchen/driver/rackspace/server_name_spec.rb +63 -0
- data/spec/kitchen/driver/rackspace/status_spec.rb +151 -0
- data/spec/kitchen/driver/rackspace/tcp_check_spec.rb +37 -0
- data/spec/spec_helper.rb +21 -5
- data/spec/support/driver_context.rb +51 -0
- data/spec/support/rackspace_environment.rb +27 -0
- metadata +24 -12
- data/.github/dependabot.yml +0 -8
- data/spec/kitchen/driver/rackspace_spec.rb +0 -664
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e15a887394d3ed26e459527e63a809e9cc8e0ac881c831eab8b71a9a585d5833
|
|
4
|
+
data.tar.gz: 23b98c7da4db1e2361bf0734069a6303ed1d976334977e296bb6e2935420d2b5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '059d13472f0a85ce909b4ca0ad5b14873f19c88e7b8709d4181e9980d2e0663735d3512e9d61ca1e366a6bce1b0d96599b8e4975f242275e7b6779ca5d035a3f'
|
|
7
|
+
data.tar.gz: 365fead87993ea3f203f48de1512e747eb6cbe8d5de7746db9a025fce7ee570065d3eba539535978823391115b84f199f07ab809e2e0427db267f01b4819caa9
|
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--require spec_helper
|
data/.rubocop.yml
CHANGED
data/.yamllint
ADDED
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,47 @@
|
|
|
1
1
|
# Kitchen-rackspace Changelog
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
* Update actions/checkout action to v7 ([#118](https://github.com/test-kitchen/kitchen-rackspace/pull/118)) ([ffe0696](https://github.com/test-kitchen/kitchen-rackspace/commit/ffe0696))
|
|
6
|
+
* Update googleapis/release-please-action action to v5 ([#117](https://github.com/test-kitchen/kitchen-rackspace/pull/117)) ([836d55b](https://github.com/test-kitchen/kitchen-rackspace/commit/836d55b))
|
|
7
|
+
* Require Ruby 3.1+ and modernize CI ([#119](https://github.com/test-kitchen/kitchen-rackspace/pull/119)) ([d277ba1](https://github.com/test-kitchen/kitchen-rackspace/commit/d277ba1))
|
|
8
|
+
* Let cookstyle decide which files to lint ([#120](https://github.com/test-kitchen/kitchen-rackspace/pull/120)) ([80d515c](https://github.com/test-kitchen/kitchen-rackspace/commit/80d515c))
|
|
9
|
+
* Docs: rewrite README for new users and split contributor docs ([#121](https://github.com/test-kitchen/kitchen-rackspace/pull/121)) ([638440a](https://github.com/test-kitchen/kitchen-rackspace/commit/638440a))
|
|
10
|
+
* Remove dependabot config in favor of renovate ([#122](https://github.com/test-kitchen/kitchen-rackspace/pull/122)) ([92dcec9](https://github.com/test-kitchen/kitchen-rackspace/commit/92dcec9))
|
|
11
|
+
|
|
12
|
+
## [0.22.1](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.22.0...v0.22.1) (2026-08-30)
|
|
4
13
|
|
|
5
14
|
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* check credentials with a call fog-rackspace actually implements ([#133](https://github.com/test-kitchen/kitchen-rackspace/issues/133)) ([a3b35fb](https://github.com/test-kitchen/kitchen-rackspace/commit/a3b35fb72290a2372d32f9b2e1156d49742ebaef))
|
|
18
|
+
|
|
19
|
+
## [0.22.0](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.2...v0.22.0) (2026-08-24)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* implement the driver api version, plugin version, status, and doctor hooks ([#128](https://github.com/test-kitchen/kitchen-rackspace/issues/128)) ([5dcd484](https://github.com/test-kitchen/kitchen-rackspace/commit/5dcd484b352f0394feea9a634525a50d5e15b01c))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
* default to the general1-2 flavor instead of the retired performance1-1 ([#130](https://github.com/test-kitchen/kitchen-rackspace/issues/130)) ([5228814](https://github.com/test-kitchen/kitchen-rackspace/commit/52288148a5d177c67be1cdeb98d06aef94a5bf97))
|
|
30
|
+
* require test-kitchen 3.0 or newer ([#125](https://github.com/test-kitchen/kitchen-rackspace/issues/125)) ([37c1753](https://github.com/test-kitchen/kitchen-rackspace/commit/37c1753de5e63d5d2bb3772c19912b443328a41b))
|
|
31
|
+
|
|
32
|
+
## [0.21.2](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.1...v0.21.2) (2026-01-22)
|
|
33
|
+
|
|
6
34
|
### Bug Fixes
|
|
7
35
|
|
|
8
36
|
* bump tk dep to allow tk 4 ([#115](https://github.com/test-kitchen/kitchen-rackspace/issues/115)) ([c6bc76c](https://github.com/test-kitchen/kitchen-rackspace/commit/c6bc76c10f4b4cd66c8b429ae50a713ff63dbe46))
|
|
9
37
|
|
|
10
|
-
|
|
38
|
+
### Other Changes
|
|
11
39
|
|
|
40
|
+
* chore(deps): update actions/checkout action to v5 ([#113](https://github.com/test-kitchen/kitchen-rackspace/pull/113)) ([76a0e97](https://github.com/test-kitchen/kitchen-rackspace/commit/76a0e97))
|
|
41
|
+
* Update fog-core requirement from >= 1.35, < 2.1.1 to >= 1.35, < 2.6.1 ([#112](https://github.com/test-kitchen/kitchen-rackspace/pull/112)) ([f2765bb](https://github.com/test-kitchen/kitchen-rackspace/commit/f2765bb))
|
|
42
|
+
* chore(deps): update actions/checkout action to v6 ([#114](https://github.com/test-kitchen/kitchen-rackspace/pull/114)) ([c1e87f1](https://github.com/test-kitchen/kitchen-rackspace/commit/c1e87f1))
|
|
43
|
+
|
|
44
|
+
## [0.21.1](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.0...v0.21.1) (2024-07-01)
|
|
12
45
|
|
|
13
46
|
### Features
|
|
14
47
|
|
|
@@ -19,11 +52,42 @@
|
|
|
19
52
|
|
|
20
53
|
* release please configs ([#108](https://github.com/test-kitchen/kitchen-rackspace/issues/108)) ([e8773c1](https://github.com/test-kitchen/kitchen-rackspace/commit/e8773c18e89d8dde724bfa06028678fb43da18a0))
|
|
21
54
|
|
|
55
|
+
### Other Changes
|
|
56
|
+
|
|
57
|
+
* Image data update and script fixes ([#72](https://github.com/test-kitchen/kitchen-rackspace/pull/72)) ([8048e4a](https://github.com/test-kitchen/kitchen-rackspace/commit/8048e4a))
|
|
58
|
+
* Add support for setting region via ENV ([#62](https://github.com/test-kitchen/kitchen-rackspace/pull/62)) ([da415e9](https://github.com/test-kitchen/kitchen-rackspace/commit/da415e9))
|
|
59
|
+
* Add support for user_data and config_drive options ([#75](https://github.com/test-kitchen/kitchen-rackspace/pull/75)) ([569de68](https://github.com/test-kitchen/kitchen-rackspace/commit/569de68))
|
|
60
|
+
* Drop Ruby 1.9/2.0 support and get the build green ([#77](https://github.com/test-kitchen/kitchen-rackspace/pull/77)) ([169da5d](https://github.com/test-kitchen/kitchen-rackspace/commit/169da5d))
|
|
61
|
+
* Remove gemnasium badge ([#76](https://github.com/test-kitchen/kitchen-rackspace/pull/76)) ([564dd7b](https://github.com/test-kitchen/kitchen-rackspace/commit/564dd7b))
|
|
62
|
+
* Update README.md ([d954a2d](https://github.com/test-kitchen/kitchen-rackspace/commit/d954a2d))
|
|
63
|
+
* Unpin the bundler dev dep ([#82](https://github.com/test-kitchen/kitchen-rackspace/pull/82)) ([c0ca2b6](https://github.com/test-kitchen/kitchen-rackspace/commit/c0ca2b6))
|
|
64
|
+
* Test on modern ruby releases ([#83](https://github.com/test-kitchen/kitchen-rackspace/pull/83)) ([0f3ba1e](https://github.com/test-kitchen/kitchen-rackspace/commit/0f3ba1e))
|
|
65
|
+
* Update test-kitchen requirement from ~> 1.1 to >= 1.1, < 3.0 ([#78](https://github.com/test-kitchen/kitchen-rackspace/pull/78)) ([4c0a9a2](https://github.com/test-kitchen/kitchen-rackspace/commit/4c0a9a2))
|
|
66
|
+
* Update rake requirement from ~> 11.0 to ~> 12.3 ([#79](https://github.com/test-kitchen/kitchen-rackspace/pull/79)) ([2335fc7](https://github.com/test-kitchen/kitchen-rackspace/commit/2335fc7))
|
|
67
|
+
* Optimize our requires ([#84](https://github.com/test-kitchen/kitchen-rackspace/pull/84)) ([7e2f55e](https://github.com/test-kitchen/kitchen-rackspace/commit/7e2f55e))
|
|
68
|
+
* Upgrade to GitHub-native Dependabot ([#85](https://github.com/test-kitchen/kitchen-rackspace/pull/85)) ([3dbf701](https://github.com/test-kitchen/kitchen-rackspace/commit/3dbf701))
|
|
69
|
+
* Support Test Kitchen 3.0 and require Ruby 2.5+ ([#86](https://github.com/test-kitchen/kitchen-rackspace/pull/86)) ([f64d95a](https://github.com/test-kitchen/kitchen-rackspace/commit/f64d95a))
|
|
70
|
+
* Update rake requirement from ~> 12.3 to ~> 13.0 ([#88](https://github.com/test-kitchen/kitchen-rackspace/pull/88)) ([a964c1c](https://github.com/test-kitchen/kitchen-rackspace/commit/a964c1c))
|
|
71
|
+
* Update rubocop requirement from ~> 0.57.2 to ~> 1.18.2 ([#87](https://github.com/test-kitchen/kitchen-rackspace/pull/87)) ([5c255ad](https://github.com/test-kitchen/kitchen-rackspace/commit/5c255ad))
|
|
72
|
+
* Update rubocop requirement from ~> 1.18.2 to ~> 1.19.0 ([#89](https://github.com/test-kitchen/kitchen-rackspace/pull/89)) ([ecf7239](https://github.com/test-kitchen/kitchen-rackspace/commit/ecf7239))
|
|
73
|
+
* Update rubocop requirement from ~> 1.19.0 to ~> 1.22.0 ([#92](https://github.com/test-kitchen/kitchen-rackspace/pull/92)) ([a6db161](https://github.com/test-kitchen/kitchen-rackspace/commit/a6db161))
|
|
74
|
+
* Update rubocop requirement from ~> 1.22.0 to ~> 1.25.0 ([#96](https://github.com/test-kitchen/kitchen-rackspace/pull/96)) ([aedff22](https://github.com/test-kitchen/kitchen-rackspace/commit/aedff22))
|
|
75
|
+
* Update rubocop requirement from ~> 1.25.0 to ~> 1.26.0 ([#97](https://github.com/test-kitchen/kitchen-rackspace/pull/97)) ([f08f440](https://github.com/test-kitchen/kitchen-rackspace/commit/f08f440))
|
|
76
|
+
* Update rubocop requirement from ~> 1.26.0 to ~> 1.27.0 ([#98](https://github.com/test-kitchen/kitchen-rackspace/pull/98)) ([c5ec7a8](https://github.com/test-kitchen/kitchen-rackspace/commit/c5ec7a8))
|
|
77
|
+
* Update rubocop requirement from ~> 1.27.0 to ~> 1.28.2 ([#100](https://github.com/test-kitchen/kitchen-rackspace/pull/100)) ([b97a0f4](https://github.com/test-kitchen/kitchen-rackspace/commit/b97a0f4))
|
|
78
|
+
* Reuse the exising workflows ([#101](https://github.com/test-kitchen/kitchen-rackspace/pull/101)) ([d9d983b](https://github.com/test-kitchen/kitchen-rackspace/commit/d9d983b))
|
|
79
|
+
* Remove old badges ([12fc6ef](https://github.com/test-kitchen/kitchen-rackspace/commit/12fc6ef))
|
|
80
|
+
* Delete .travis.yml ([19e58bc](https://github.com/test-kitchen/kitchen-rackspace/commit/19e58bc))
|
|
81
|
+
* Remove travis badge ([8c154d6](https://github.com/test-kitchen/kitchen-rackspace/commit/8c154d6))
|
|
82
|
+
|
|
22
83
|
## 0.21.0 / 2016-05-31
|
|
23
84
|
|
|
24
85
|
* PR [#67] - Update image IDS; via [@martinb3]
|
|
25
86
|
* PR [#65] - Add Ubuntu 16.04; via [@coderanger]
|
|
26
87
|
|
|
88
|
+
* Fix rubocop ([#66](https://github.com/test-kitchen/kitchen-rackspace/pull/66)) ([3908cec](https://github.com/test-kitchen/kitchen-rackspace/commit/3908cec))
|
|
89
|
+
* Adding Ubuntu 16.04. ([#68](https://github.com/test-kitchen/kitchen-rackspace/pull/68)) ([e1884a2](https://github.com/test-kitchen/kitchen-rackspace/commit/e1884a2))
|
|
90
|
+
|
|
27
91
|
## 0.20.0 / 2016-01-15
|
|
28
92
|
|
|
29
93
|
* PR [#63] - Update image IDs, add Ubuntu 15.10, drop Ubuntu 15.04; via
|
|
@@ -35,6 +99,9 @@
|
|
|
35
99
|
* PR [#57] - Add `servicelevel_wait` option; via [@martinb3]
|
|
36
100
|
* PR [#56] - Add `no_passwd_lock` option; via [@martinb3]
|
|
37
101
|
|
|
102
|
+
* Update image list ([#53](https://github.com/test-kitchen/kitchen-rackspace/pull/53)) ([735aadd](https://github.com/test-kitchen/kitchen-rackspace/commit/735aadd))
|
|
103
|
+
* Drop the Ruby 1.9 CI build ([#58](https://github.com/test-kitchen/kitchen-rackspace/pull/58)) ([14a5b8b](https://github.com/test-kitchen/kitchen-rackspace/commit/14a5b8b))
|
|
104
|
+
|
|
38
105
|
## 0.18.0 / 2015-08-28
|
|
39
106
|
|
|
40
107
|
* PR [#53] - Update image IDs, update Arch to 2015.7, drop Fedora 20, add
|
|
@@ -50,17 +117,26 @@ drop Ubuntu 14.10
|
|
|
50
117
|
* PR [#50] - Update image IDs, support 'centos-7.0' in addition to
|
|
51
118
|
'centos-7'; via [@martinb3]
|
|
52
119
|
|
|
120
|
+
* Update badge URLs ([8edf7d0](https://github.com/test-kitchen/kitchen-rackspace/commit/8edf7d0))
|
|
121
|
+
|
|
53
122
|
## 0.15.1 / 2015-04-03
|
|
54
123
|
|
|
55
124
|
* PR [#49] - Update image IDs, re-add CentOS point release numbers; via
|
|
56
125
|
[@martinb3]
|
|
57
126
|
|
|
127
|
+
* Enable Travis containers and gemset caching ([8cad60c](https://github.com/test-kitchen/kitchen-rackspace/commit/8cad60c))
|
|
128
|
+
|
|
58
129
|
## 0.15.0 / 2015-04-02
|
|
59
130
|
|
|
60
131
|
* PR [#48] - Drop references to retired Ubuntu 10.04 image
|
|
61
132
|
* PR [#46] - Update all image IDs, add Scientific 7, remove references to
|
|
62
133
|
point releases that Rackspace no longer uses in image names; via [@martinb3]
|
|
63
134
|
|
|
135
|
+
* Fix unit tests ([#47](https://github.com/test-kitchen/kitchen-rackspace/pull/47)) ([23de895](https://github.com/test-kitchen/kitchen-rackspace/commit/23de895))
|
|
136
|
+
* s/2014/2015 ([4ee45e1](https://github.com/test-kitchen/kitchen-rackspace/commit/4ee45e1))
|
|
137
|
+
* Fix bad syntax in gemspec ([9883188](https://github.com/test-kitchen/kitchen-rackspace/commit/9883188))
|
|
138
|
+
* Add dev dep gem constraints to satisfy warnings ([46540ad](https://github.com/test-kitchen/kitchen-rackspace/commit/46540ad))
|
|
139
|
+
|
|
64
140
|
## 0.14.0 / 2014-12-09
|
|
65
141
|
|
|
66
142
|
* PR [#45] - Add Ubuntu 14.10 and Fedora 21
|
|
@@ -109,6 +185,10 @@ drivers, with all its bug fixes; update image IDs
|
|
|
109
185
|
|
|
110
186
|
* PR [#35] - Add option to wait on RackConnect, via [@martinb3]
|
|
111
187
|
|
|
188
|
+
### Other Changes
|
|
189
|
+
|
|
190
|
+
* Drop support for Ruby 1.9.2 ([52cb429](https://github.com/test-kitchen/kitchen-rackspace/commit/52cb429))
|
|
191
|
+
|
|
112
192
|
## 0.7.0 / 2014-07-09
|
|
113
193
|
|
|
114
194
|
### New Features
|
|
@@ -117,6 +197,13 @@ drivers, with all its bug fixes; update image IDs
|
|
|
117
197
|
* PR [#29] - Support using a sleep instead of TCP check in cases where new
|
|
118
198
|
servers might fail the TCP; via [@martinb3]
|
|
119
199
|
|
|
200
|
+
### Other Changes
|
|
201
|
+
|
|
202
|
+
* Some documentation clarification. ([#28](https://github.com/test-kitchen/kitchen-rackspace/pull/28)) ([2ed61cd](https://github.com/test-kitchen/kitchen-rackspace/commit/2ed61cd))
|
|
203
|
+
* Fix #18 ([#30](https://github.com/test-kitchen/kitchen-rackspace/pull/30)) ([ff365a8](https://github.com/test-kitchen/kitchen-rackspace/commit/ff365a8))
|
|
204
|
+
* Add two new configuration options, RE: TCP checks ([#32](https://github.com/test-kitchen/kitchen-rackspace/pull/32)) ([475841f](https://github.com/test-kitchen/kitchen-rackspace/commit/475841f))
|
|
205
|
+
* Support custom networks ([#33](https://github.com/test-kitchen/kitchen-rackspace/pull/33)) ([11bbbb8](https://github.com/test-kitchen/kitchen-rackspace/commit/11bbbb8))
|
|
206
|
+
|
|
120
207
|
## 0.6.1 / 2014-06-03
|
|
121
208
|
|
|
122
209
|
### Bug Fixes
|
|
@@ -133,6 +220,11 @@ servers might fail the TCP; via [@martinb3]
|
|
|
133
220
|
|
|
134
221
|
* PR [#24] - Error out immediately when trying to install in Ruby 1.8
|
|
135
222
|
|
|
223
|
+
### Other Changes
|
|
224
|
+
|
|
225
|
+
* Remove reference to TK 1.0--it's 1.1.x now ([482add8](https://github.com/test-kitchen/kitchen-rackspace/commit/482add8))
|
|
226
|
+
* Update version for release ([9b33f85](https://github.com/test-kitchen/kitchen-rackspace/commit/9b33f85))
|
|
227
|
+
|
|
136
228
|
## 0.5.0 / 2014-05-01
|
|
137
229
|
|
|
138
230
|
### Improvements
|
|
@@ -141,6 +233,15 @@ servers might fail the TCP; via [@martinb3]
|
|
|
141
233
|
* PR [#22] - Update all the images with new IDs
|
|
142
234
|
* PR [#21] - Add Ubuntu 14.04 to the list of known images; via [@pezholio]
|
|
143
235
|
|
|
236
|
+
### Other Changes
|
|
237
|
+
|
|
238
|
+
* Fix #13 - Rename 'name' option to 'server_name' ([#15](https://github.com/test-kitchen/kitchen-rackspace/pull/15)) ([bca9e15](https://github.com/test-kitchen/kitchen-rackspace/commit/bca9e15))
|
|
239
|
+
* Bump for 0.3.0 release ([43266dc](https://github.com/test-kitchen/kitchen-rackspace/commit/43266dc))
|
|
240
|
+
* Add Coveralls support, maybe ([#16](https://github.com/test-kitchen/kitchen-rackspace/pull/16)) ([d3d2e85](https://github.com/test-kitchen/kitchen-rackspace/commit/d3d2e85))
|
|
241
|
+
* Improve defaults ([#17](https://github.com/test-kitchen/kitchen-rackspace/pull/17)) ([e320b29](https://github.com/test-kitchen/kitchen-rackspace/commit/e320b29))
|
|
242
|
+
* README and CHANGELOG updates ([3d04c23](https://github.com/test-kitchen/kitchen-rackspace/commit/3d04c23))
|
|
243
|
+
* Update URLs to test-kitchen org ([#19](https://github.com/test-kitchen/kitchen-rackspace/pull/19)) ([7c31774](https://github.com/test-kitchen/kitchen-rackspace/commit/7c31774))
|
|
244
|
+
|
|
144
245
|
## 0.4.0 / 2014-01-27
|
|
145
246
|
|
|
146
247
|
### New Features
|
|
@@ -177,6 +278,14 @@ boot times, via [@coderanger]
|
|
|
177
278
|
* PR [#7] - Clean up/refactor to pass style checks
|
|
178
279
|
* PR [#9] - Add some (probably overkill) RSpec tests
|
|
179
280
|
|
|
281
|
+
### Other Changes
|
|
282
|
+
|
|
283
|
+
* First draft, seems to be working ([a084294](https://github.com/test-kitchen/kitchen-rackspace/commit/a084294))
|
|
284
|
+
* Update README ([580d9c9](https://github.com/test-kitchen/kitchen-rackspace/commit/580d9c9))
|
|
285
|
+
* Ignore .kitchen ([d3e6891](https://github.com/test-kitchen/kitchen-rackspace/commit/d3e6891))
|
|
286
|
+
* Fog doesn't actually need a private key ([4f103f3](https://github.com/test-kitchen/kitchen-rackspace/commit/4f103f3))
|
|
287
|
+
* Update date for release ([873a2be](https://github.com/test-kitchen/kitchen-rackspace/commit/873a2be))
|
|
288
|
+
|
|
180
289
|
## 0.1.0 / 2013-03-12
|
|
181
290
|
|
|
182
291
|
* Initial release! Woo!
|
|
@@ -216,7 +325,6 @@ boot times, via [@coderanger]
|
|
|
216
325
|
[#9]: https://github.com/test-kitchen/kitchen-rackspace/pull/9
|
|
217
326
|
[#8]: https://github.com/test-kitchen/kitchen-rackspace/pull/8
|
|
218
327
|
[#7]: https://github.com/test-kitchen/kitchen-rackspace/pull/7
|
|
219
|
-
|
|
220
328
|
[@marcoamorales]: https://github.com/marcoamorales
|
|
221
329
|
[@steve-jansen]: https://github.com/steve-jansen
|
|
222
330
|
[@hhoover]: https://github.com/hhoover
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# Contributing to kitchen-rackspace
|
|
2
|
+
|
|
3
|
+
> **This project is no longer under active development** and has no active
|
|
4
|
+
> maintainers. Issues filed on GitHub will most likely not be triaged. Pull
|
|
5
|
+
> requests are still welcome. If you are interested in maintaining the project,
|
|
6
|
+
> come and talk to us in `#test-kitchen` on
|
|
7
|
+
> [Chef Community Slack](https://community-slack.chef.io/).
|
|
8
|
+
|
|
9
|
+
## Reporting issues
|
|
10
|
+
|
|
11
|
+
Report bugs and request features on the [issue tracker](https://github.com/test-kitchen/kitchen-rackspace/issues), keeping the note above in mind. For bugs, please include:
|
|
12
|
+
|
|
13
|
+
- the version of kitchen-rackspace and Test Kitchen you are using
|
|
14
|
+
- your `kitchen.yml` with credentials removed
|
|
15
|
+
- the output of the failing command, ideally with `-l debug`
|
|
16
|
+
|
|
17
|
+
## Development setup
|
|
18
|
+
|
|
19
|
+
Clone the repository and install the dependencies:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
git clone https://github.com/test-kitchen/kitchen-rackspace.git
|
|
23
|
+
cd kitchen-rackspace
|
|
24
|
+
bundle install
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Running the tests
|
|
28
|
+
|
|
29
|
+
Run the unit tests:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
bundle exec rspec
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or through Rake, which adds colour and honours `SEED`, `VERBOSE`, and a
|
|
36
|
+
`--tag` argument:
|
|
37
|
+
|
|
38
|
+
```sh
|
|
39
|
+
bundle exec rake test
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
And the style check:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
bundle exec cookstyle --chefstyle
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**Pass `--chefstyle`.** CI runs it that way. Without the flag, cookstyle falls
|
|
49
|
+
back to stock RuboCop defaults, disagrees with this codebase about string
|
|
50
|
+
quoting, and reports over a hundred offenses that are not real.
|
|
51
|
+
|
|
52
|
+
### How the specs are laid out
|
|
53
|
+
|
|
54
|
+
There is one spec file per area of the driver, so the file you need to open is
|
|
55
|
+
the one named after the thing you changed:
|
|
56
|
+
|
|
57
|
+
| File | Covers |
|
|
58
|
+
| --- | --- |
|
|
59
|
+
| `spec/kitchen/driver/rackspace/plugin_spec.rb` | API version and plugin version |
|
|
60
|
+
| `spec/kitchen/driver/rackspace/configuration_spec.rb` | `default_config` values, overrides, credentials from the environment |
|
|
61
|
+
| `spec/kitchen/driver/rackspace/image_spec.rb` | platform-name to image-ID resolution and the bundled `data/images.json` |
|
|
62
|
+
| `spec/kitchen/driver/rackspace/server_name_spec.rb` | the generated server name |
|
|
63
|
+
| `spec/kitchen/driver/rackspace/create_spec.rb` | `#create`, the RackConnect and service level waits, ServiceNet |
|
|
64
|
+
| `spec/kitchen/driver/rackspace/tcp_check_spec.rb` | waiting for the instance to accept a login |
|
|
65
|
+
| `spec/kitchen/driver/rackspace/destroy_spec.rb` | `#destroy` |
|
|
66
|
+
| `spec/kitchen/driver/rackspace/status_spec.rb` | `#status` and `#doctor` |
|
|
67
|
+
| `spec/kitchen/driver/rackspace/compute_spec.rb` | the fog connection, `#create_server`, and the network list |
|
|
68
|
+
|
|
69
|
+
`spec/support/` holds the shared setup:
|
|
70
|
+
|
|
71
|
+
- `driver_context.rb` — the `"a driver for an instance"` shared context, which
|
|
72
|
+
gives an example group a logger, a fake Test Kitchen instance, and a driver
|
|
73
|
+
built from `config`. Nearly every group includes it. `"a built server"` adds
|
|
74
|
+
a server double that has finished building.
|
|
75
|
+
- `rackspace_environment.rb` — clears `RACKSPACE_*` and `OS_*` out of the
|
|
76
|
+
environment around every example and puts your own back afterwards, so
|
|
77
|
+
credentials in your shell cannot make a spec pass or fail.
|
|
78
|
+
|
|
79
|
+
When you stub a fog object, reach for `instance_double` rather than `double`.
|
|
80
|
+
A plain double will happily answer a method fog does not have, which is how a
|
|
81
|
+
`kitchen doctor` that called a nonexistent `servers.summary` shipped with a
|
|
82
|
+
green test suite.
|
|
83
|
+
|
|
84
|
+
Many style offenses can be corrected automatically:
|
|
85
|
+
|
|
86
|
+
```sh
|
|
87
|
+
bundle exec cookstyle --chefstyle -a
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
The unit tests stub the Rackspace API, so they do not build servers and do not
|
|
91
|
+
require an account.
|
|
92
|
+
|
|
93
|
+
The YARD documentation has its own tasks:
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
bundle exec rake doc # build the docs
|
|
97
|
+
bundle exec rake doc_coverage # list anything in lib/ still undocumented
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Manual testing against Rackspace
|
|
101
|
+
|
|
102
|
+
Changes that touch server creation should also be exercised against a real
|
|
103
|
+
account, since the stubbed tests cannot catch API-level regressions. **This
|
|
104
|
+
builds billable servers.** Export `RACKSPACE_USERNAME`, `RACKSPACE_API_KEY` and
|
|
105
|
+
`RACKSPACE_REGION`, run `kitchen test`, then confirm in the Rackspace control
|
|
106
|
+
panel that no servers were left behind — a run that fails partway through can
|
|
107
|
+
leave one running.
|
|
108
|
+
|
|
109
|
+
## Submitting changes
|
|
110
|
+
|
|
111
|
+
1. Fork the repository.
|
|
112
|
+
2. Create a feature branch off `main`.
|
|
113
|
+
3. Make your change, adding or updating tests to cover it.
|
|
114
|
+
4. Make sure `bundle exec rake test` and `bundle exec cookstyle --chefstyle` pass.
|
|
115
|
+
5. Push the branch to your fork and open a pull request.
|
|
116
|
+
|
|
117
|
+
Please keep pull requests focused on a single change — it makes review much
|
|
118
|
+
faster. Update the documentation in `README.md` when you add or change a
|
|
119
|
+
configuration option.
|
|
120
|
+
|
|
121
|
+
### Commit messages
|
|
122
|
+
|
|
123
|
+
This project uses [Conventional Commits](https://www.conventionalcommits.org/).
|
|
124
|
+
release-please reads the commit subjects on `main` to decide the next version
|
|
125
|
+
and to write the changelog, so the prefix matters:
|
|
126
|
+
|
|
127
|
+
| Prefix | Effect |
|
|
128
|
+
| --- | --- |
|
|
129
|
+
| `fix:` | patch release |
|
|
130
|
+
| `feat:` | minor release |
|
|
131
|
+
| `docs:`, `chore:`, `style:`, `test:` | no release |
|
|
132
|
+
| `feat!:`, or a `BREAKING CHANGE:` footer | major release |
|
|
133
|
+
|
|
134
|
+
Pull requests are squash-merged, so it is the PR title that lands on `main` and
|
|
135
|
+
gets parsed. Write it as a Conventional Commit.
|
|
136
|
+
|
|
137
|
+
## Maintaining the bundled data
|
|
138
|
+
|
|
139
|
+
### data/images.json
|
|
140
|
+
|
|
141
|
+
The driver maps a Test Kitchen platform name to a Rackspace image ID using
|
|
142
|
+
`data/images.json`. **That table has not been regenerated since 2016** — its
|
|
143
|
+
newest entries are Ubuntu 16.04, CentOS 7, Debian 8, and Fedora 25 — so modern
|
|
144
|
+
platform names do not resolve and users have to set `image_id` by hand.
|
|
145
|
+
|
|
146
|
+
Refreshing it is the most useful contribution available here. It needs a
|
|
147
|
+
Rackspace account:
|
|
148
|
+
|
|
149
|
+
```sh
|
|
150
|
+
export RACKSPACE_USERNAME="myuser"
|
|
151
|
+
export RACKSPACE_API_KEY="myapikey"
|
|
152
|
+
export RACKSPACE_REGION="ord"
|
|
153
|
+
|
|
154
|
+
bundle exec ruby helpers/dump_image_list.rb # review what the account sees
|
|
155
|
+
bundle exec ruby helpers/dump_image_list.rb --json > data/images.json
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Image IDs are per-region, so regenerate from the region most users build in.
|
|
159
|
+
The helper derives platform names from each image's OpenStack metadata:
|
|
160
|
+
`ubuntu-22.04` and `ubuntu-22` from the version, plus the bare `ubuntu` for the
|
|
161
|
+
newest version of that distro. Images without that metadata — custom snapshots,
|
|
162
|
+
mostly — are skipped.
|
|
163
|
+
|
|
164
|
+
A refresh also needs the platform-resolution specs updated, since they assert
|
|
165
|
+
against the current table.
|
|
166
|
+
|
|
167
|
+
### helpers/dump_flavor_list.rb
|
|
168
|
+
|
|
169
|
+
Lists the flavors an account can build, for checking the flavor tables in the
|
|
170
|
+
README against reality:
|
|
171
|
+
|
|
172
|
+
```sh
|
|
173
|
+
bundle exec ruby helpers/dump_flavor_list.rb
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Running the helpers
|
|
177
|
+
|
|
178
|
+
Both helpers must run under Bundler:
|
|
179
|
+
|
|
180
|
+
```sh
|
|
181
|
+
bundle exec ruby helpers/dump_image_list.rb
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Outside Bundler they resolve a newer fog-core, and `require "fog/rackspace"`
|
|
185
|
+
raises `NameError: wrong constant name CDN v2`. fog-rackspace registers a
|
|
186
|
+
service with a space in its name that newer fog-core cannot constantize, which
|
|
187
|
+
is why the gemspec pins `fog-core < 2.3`.
|
|
188
|
+
|
|
189
|
+
## Release process
|
|
190
|
+
|
|
191
|
+
Releases are automated by [release-please](.github/workflows/publish.yaml), and
|
|
192
|
+
maintainers only have to merge a pull request.
|
|
193
|
+
|
|
194
|
+
1. Every push to `main` updates a standing release pull request titled
|
|
195
|
+
`chore(main): release X.Y.Z`. It accumulates the changes since the last
|
|
196
|
+
release and derives the version from their commit prefixes.
|
|
197
|
+
2. Merging that pull request tags the release and publishes the gem to RubyGems
|
|
198
|
+
and GitHub Packages.
|
|
199
|
+
|
|
200
|
+
**Do not hand-edit `CHANGELOG.md` or
|
|
201
|
+
`lib/kitchen/driver/rackspace_version.rb`.** release-please owns both — they are
|
|
202
|
+
its `changelog-path` and `version-file` in
|
|
203
|
+
[release-please-config.json](release-please-config.json) — and editing them
|
|
204
|
+
directly conflicts with the release pull request.
|
|
205
|
+
|
|
206
|
+
The release pull request does not resolve its own conflicts. If it picks one up,
|
|
207
|
+
rebase it by hand, keeping `main`'s content and the bot's version bump.
|
data/Gemfile
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
source "https://rubygems.org"
|
|
2
2
|
|
|
3
|
-
gemspec
|
|
4
|
-
|
|
3
|
+
gemspec development_group: :test
|
|
5
4
|
group :test do
|
|
6
|
-
gem "bundler"
|
|
7
5
|
gem "rake"
|
|
8
6
|
gem "rspec", "~> 3.2"
|
|
9
7
|
end
|
|
10
8
|
|
|
11
|
-
group :
|
|
12
|
-
gem "
|
|
9
|
+
group :docs do
|
|
10
|
+
gem "yard"
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
group :cookstyle do
|
|
14
|
+
gem "cookstyle"
|
|
13
15
|
end
|