kitchen-rackspace 0.21.2 → 0.22.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/.github/workflows/publish.yaml +1 -1
- data/.release-please-manifest.json +1 -1
- data/.rubocop.yml +1 -3
- data/.yamllint +6 -0
- data/.yardopts +11 -0
- data/CHANGELOG.md +104 -3
- data/CONTRIBUTING.md +175 -0
- data/Gemfile +7 -5
- data/README.md +305 -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 +178 -11
- data/lib/kitchen/driver/rackspace_version.rb +4 -1
- data/spec/kitchen/driver/rackspace_spec.rb +123 -2
- metadata +12 -11
- data/.github/dependabot.yml +0 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 341c3ad7208f8a4747c8f1ea02a0729e0902de1aa9c953015b85dd597138809e
|
|
4
|
+
data.tar.gz: aefd1c800711e40f056620f7f77f597a98cd7773f81e4c2a7f224554a338f205
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1c8b613a15c6cfa635246d9fa0b20f53910ba99015c8550c532067205b3fd7da0ac39070b158eb01d018660303dfec891a07c949394896e856f8b619d094f170
|
|
7
|
+
data.tar.gz: e1d15ce47f981dcd4e187fb93b2fb53e1064ce246efd993222fa60988f952ac7bcaa8c446b9c3e501526d5d9db0b8940ebe4bf20fb56eb82c603ce47b69066d2
|
data/.rubocop.yml
CHANGED
data/.yamllint
ADDED
data/.yardopts
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,40 @@
|
|
|
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.0](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.2...v0.22.0) (2026-08-24)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* 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))
|
|
18
|
+
|
|
4
19
|
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* 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))
|
|
23
|
+
* 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))
|
|
24
|
+
|
|
25
|
+
## [0.21.2](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.1...v0.21.2) (2026-01-22)
|
|
5
26
|
|
|
6
27
|
### Bug Fixes
|
|
7
28
|
|
|
8
29
|
* 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
30
|
|
|
10
|
-
|
|
31
|
+
### Other Changes
|
|
32
|
+
|
|
33
|
+
* 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))
|
|
34
|
+
* 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))
|
|
35
|
+
* 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))
|
|
11
36
|
|
|
37
|
+
## [0.21.1](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.0...v0.21.1) (2024-07-01)
|
|
12
38
|
|
|
13
39
|
### Features
|
|
14
40
|
|
|
@@ -19,11 +45,42 @@
|
|
|
19
45
|
|
|
20
46
|
* release please configs ([#108](https://github.com/test-kitchen/kitchen-rackspace/issues/108)) ([e8773c1](https://github.com/test-kitchen/kitchen-rackspace/commit/e8773c18e89d8dde724bfa06028678fb43da18a0))
|
|
21
47
|
|
|
48
|
+
### Other Changes
|
|
49
|
+
|
|
50
|
+
* 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))
|
|
51
|
+
* 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))
|
|
52
|
+
* 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))
|
|
53
|
+
* 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))
|
|
54
|
+
* Remove gemnasium badge ([#76](https://github.com/test-kitchen/kitchen-rackspace/pull/76)) ([564dd7b](https://github.com/test-kitchen/kitchen-rackspace/commit/564dd7b))
|
|
55
|
+
* Update README.md ([d954a2d](https://github.com/test-kitchen/kitchen-rackspace/commit/d954a2d))
|
|
56
|
+
* 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))
|
|
57
|
+
* 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))
|
|
58
|
+
* 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))
|
|
59
|
+
* 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))
|
|
60
|
+
* Optimize our requires ([#84](https://github.com/test-kitchen/kitchen-rackspace/pull/84)) ([7e2f55e](https://github.com/test-kitchen/kitchen-rackspace/commit/7e2f55e))
|
|
61
|
+
* 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))
|
|
62
|
+
* 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))
|
|
63
|
+
* 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))
|
|
64
|
+
* 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))
|
|
65
|
+
* 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))
|
|
66
|
+
* 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))
|
|
67
|
+
* 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))
|
|
68
|
+
* 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))
|
|
69
|
+
* 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))
|
|
70
|
+
* 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))
|
|
71
|
+
* Reuse the exising workflows ([#101](https://github.com/test-kitchen/kitchen-rackspace/pull/101)) ([d9d983b](https://github.com/test-kitchen/kitchen-rackspace/commit/d9d983b))
|
|
72
|
+
* Remove old badges ([12fc6ef](https://github.com/test-kitchen/kitchen-rackspace/commit/12fc6ef))
|
|
73
|
+
* Delete .travis.yml ([19e58bc](https://github.com/test-kitchen/kitchen-rackspace/commit/19e58bc))
|
|
74
|
+
* Remove travis badge ([8c154d6](https://github.com/test-kitchen/kitchen-rackspace/commit/8c154d6))
|
|
75
|
+
|
|
22
76
|
## 0.21.0 / 2016-05-31
|
|
23
77
|
|
|
24
78
|
* PR [#67] - Update image IDS; via [@martinb3]
|
|
25
79
|
* PR [#65] - Add Ubuntu 16.04; via [@coderanger]
|
|
26
80
|
|
|
81
|
+
* Fix rubocop ([#66](https://github.com/test-kitchen/kitchen-rackspace/pull/66)) ([3908cec](https://github.com/test-kitchen/kitchen-rackspace/commit/3908cec))
|
|
82
|
+
* Adding Ubuntu 16.04. ([#68](https://github.com/test-kitchen/kitchen-rackspace/pull/68)) ([e1884a2](https://github.com/test-kitchen/kitchen-rackspace/commit/e1884a2))
|
|
83
|
+
|
|
27
84
|
## 0.20.0 / 2016-01-15
|
|
28
85
|
|
|
29
86
|
* PR [#63] - Update image IDs, add Ubuntu 15.10, drop Ubuntu 15.04; via
|
|
@@ -35,6 +92,9 @@
|
|
|
35
92
|
* PR [#57] - Add `servicelevel_wait` option; via [@martinb3]
|
|
36
93
|
* PR [#56] - Add `no_passwd_lock` option; via [@martinb3]
|
|
37
94
|
|
|
95
|
+
* Update image list ([#53](https://github.com/test-kitchen/kitchen-rackspace/pull/53)) ([735aadd](https://github.com/test-kitchen/kitchen-rackspace/commit/735aadd))
|
|
96
|
+
* 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))
|
|
97
|
+
|
|
38
98
|
## 0.18.0 / 2015-08-28
|
|
39
99
|
|
|
40
100
|
* PR [#53] - Update image IDs, update Arch to 2015.7, drop Fedora 20, add
|
|
@@ -50,17 +110,26 @@ drop Ubuntu 14.10
|
|
|
50
110
|
* PR [#50] - Update image IDs, support 'centos-7.0' in addition to
|
|
51
111
|
'centos-7'; via [@martinb3]
|
|
52
112
|
|
|
113
|
+
* Update badge URLs ([8edf7d0](https://github.com/test-kitchen/kitchen-rackspace/commit/8edf7d0))
|
|
114
|
+
|
|
53
115
|
## 0.15.1 / 2015-04-03
|
|
54
116
|
|
|
55
117
|
* PR [#49] - Update image IDs, re-add CentOS point release numbers; via
|
|
56
118
|
[@martinb3]
|
|
57
119
|
|
|
120
|
+
* Enable Travis containers and gemset caching ([8cad60c](https://github.com/test-kitchen/kitchen-rackspace/commit/8cad60c))
|
|
121
|
+
|
|
58
122
|
## 0.15.0 / 2015-04-02
|
|
59
123
|
|
|
60
124
|
* PR [#48] - Drop references to retired Ubuntu 10.04 image
|
|
61
125
|
* PR [#46] - Update all image IDs, add Scientific 7, remove references to
|
|
62
126
|
point releases that Rackspace no longer uses in image names; via [@martinb3]
|
|
63
127
|
|
|
128
|
+
* Fix unit tests ([#47](https://github.com/test-kitchen/kitchen-rackspace/pull/47)) ([23de895](https://github.com/test-kitchen/kitchen-rackspace/commit/23de895))
|
|
129
|
+
* s/2014/2015 ([4ee45e1](https://github.com/test-kitchen/kitchen-rackspace/commit/4ee45e1))
|
|
130
|
+
* Fix bad syntax in gemspec ([9883188](https://github.com/test-kitchen/kitchen-rackspace/commit/9883188))
|
|
131
|
+
* Add dev dep gem constraints to satisfy warnings ([46540ad](https://github.com/test-kitchen/kitchen-rackspace/commit/46540ad))
|
|
132
|
+
|
|
64
133
|
## 0.14.0 / 2014-12-09
|
|
65
134
|
|
|
66
135
|
* PR [#45] - Add Ubuntu 14.10 and Fedora 21
|
|
@@ -109,6 +178,10 @@ drivers, with all its bug fixes; update image IDs
|
|
|
109
178
|
|
|
110
179
|
* PR [#35] - Add option to wait on RackConnect, via [@martinb3]
|
|
111
180
|
|
|
181
|
+
### Other Changes
|
|
182
|
+
|
|
183
|
+
* Drop support for Ruby 1.9.2 ([52cb429](https://github.com/test-kitchen/kitchen-rackspace/commit/52cb429))
|
|
184
|
+
|
|
112
185
|
## 0.7.0 / 2014-07-09
|
|
113
186
|
|
|
114
187
|
### New Features
|
|
@@ -117,6 +190,13 @@ drivers, with all its bug fixes; update image IDs
|
|
|
117
190
|
* PR [#29] - Support using a sleep instead of TCP check in cases where new
|
|
118
191
|
servers might fail the TCP; via [@martinb3]
|
|
119
192
|
|
|
193
|
+
### Other Changes
|
|
194
|
+
|
|
195
|
+
* Some documentation clarification. ([#28](https://github.com/test-kitchen/kitchen-rackspace/pull/28)) ([2ed61cd](https://github.com/test-kitchen/kitchen-rackspace/commit/2ed61cd))
|
|
196
|
+
* Fix #18 ([#30](https://github.com/test-kitchen/kitchen-rackspace/pull/30)) ([ff365a8](https://github.com/test-kitchen/kitchen-rackspace/commit/ff365a8))
|
|
197
|
+
* 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))
|
|
198
|
+
* Support custom networks ([#33](https://github.com/test-kitchen/kitchen-rackspace/pull/33)) ([11bbbb8](https://github.com/test-kitchen/kitchen-rackspace/commit/11bbbb8))
|
|
199
|
+
|
|
120
200
|
## 0.6.1 / 2014-06-03
|
|
121
201
|
|
|
122
202
|
### Bug Fixes
|
|
@@ -133,6 +213,11 @@ servers might fail the TCP; via [@martinb3]
|
|
|
133
213
|
|
|
134
214
|
* PR [#24] - Error out immediately when trying to install in Ruby 1.8
|
|
135
215
|
|
|
216
|
+
### Other Changes
|
|
217
|
+
|
|
218
|
+
* Remove reference to TK 1.0--it's 1.1.x now ([482add8](https://github.com/test-kitchen/kitchen-rackspace/commit/482add8))
|
|
219
|
+
* Update version for release ([9b33f85](https://github.com/test-kitchen/kitchen-rackspace/commit/9b33f85))
|
|
220
|
+
|
|
136
221
|
## 0.5.0 / 2014-05-01
|
|
137
222
|
|
|
138
223
|
### Improvements
|
|
@@ -141,6 +226,15 @@ servers might fail the TCP; via [@martinb3]
|
|
|
141
226
|
* PR [#22] - Update all the images with new IDs
|
|
142
227
|
* PR [#21] - Add Ubuntu 14.04 to the list of known images; via [@pezholio]
|
|
143
228
|
|
|
229
|
+
### Other Changes
|
|
230
|
+
|
|
231
|
+
* 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))
|
|
232
|
+
* Bump for 0.3.0 release ([43266dc](https://github.com/test-kitchen/kitchen-rackspace/commit/43266dc))
|
|
233
|
+
* Add Coveralls support, maybe ([#16](https://github.com/test-kitchen/kitchen-rackspace/pull/16)) ([d3d2e85](https://github.com/test-kitchen/kitchen-rackspace/commit/d3d2e85))
|
|
234
|
+
* Improve defaults ([#17](https://github.com/test-kitchen/kitchen-rackspace/pull/17)) ([e320b29](https://github.com/test-kitchen/kitchen-rackspace/commit/e320b29))
|
|
235
|
+
* README and CHANGELOG updates ([3d04c23](https://github.com/test-kitchen/kitchen-rackspace/commit/3d04c23))
|
|
236
|
+
* 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))
|
|
237
|
+
|
|
144
238
|
## 0.4.0 / 2014-01-27
|
|
145
239
|
|
|
146
240
|
### New Features
|
|
@@ -177,6 +271,14 @@ boot times, via [@coderanger]
|
|
|
177
271
|
* PR [#7] - Clean up/refactor to pass style checks
|
|
178
272
|
* PR [#9] - Add some (probably overkill) RSpec tests
|
|
179
273
|
|
|
274
|
+
### Other Changes
|
|
275
|
+
|
|
276
|
+
* First draft, seems to be working ([a084294](https://github.com/test-kitchen/kitchen-rackspace/commit/a084294))
|
|
277
|
+
* Update README ([580d9c9](https://github.com/test-kitchen/kitchen-rackspace/commit/580d9c9))
|
|
278
|
+
* Ignore .kitchen ([d3e6891](https://github.com/test-kitchen/kitchen-rackspace/commit/d3e6891))
|
|
279
|
+
* Fog doesn't actually need a private key ([4f103f3](https://github.com/test-kitchen/kitchen-rackspace/commit/4f103f3))
|
|
280
|
+
* Update date for release ([873a2be](https://github.com/test-kitchen/kitchen-rackspace/commit/873a2be))
|
|
281
|
+
|
|
180
282
|
## 0.1.0 / 2013-03-12
|
|
181
283
|
|
|
182
284
|
* Initial release! Woo!
|
|
@@ -216,7 +318,6 @@ boot times, via [@coderanger]
|
|
|
216
318
|
[#9]: https://github.com/test-kitchen/kitchen-rackspace/pull/9
|
|
217
319
|
[#8]: https://github.com/test-kitchen/kitchen-rackspace/pull/8
|
|
218
320
|
[#7]: https://github.com/test-kitchen/kitchen-rackspace/pull/7
|
|
219
|
-
|
|
220
321
|
[@marcoamorales]: https://github.com/marcoamorales
|
|
221
322
|
[@steve-jansen]: https://github.com/steve-jansen
|
|
222
323
|
[@hhoover]: https://github.com/hhoover
|
data/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
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
|
+
Many style offenses can be corrected automatically:
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
bundle exec cookstyle --chefstyle -a
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The unit tests stub the Rackspace API, so they do not build servers and do not
|
|
59
|
+
require an account.
|
|
60
|
+
|
|
61
|
+
The YARD documentation has its own tasks:
|
|
62
|
+
|
|
63
|
+
```sh
|
|
64
|
+
bundle exec rake doc # build the docs
|
|
65
|
+
bundle exec rake doc_coverage # list anything in lib/ still undocumented
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Manual testing against Rackspace
|
|
69
|
+
|
|
70
|
+
Changes that touch server creation should also be exercised against a real
|
|
71
|
+
account, since the stubbed tests cannot catch API-level regressions. **This
|
|
72
|
+
builds billable servers.** Export `RACKSPACE_USERNAME`, `RACKSPACE_API_KEY` and
|
|
73
|
+
`RACKSPACE_REGION`, run `kitchen test`, then confirm in the Rackspace control
|
|
74
|
+
panel that no servers were left behind — a run that fails partway through can
|
|
75
|
+
leave one running.
|
|
76
|
+
|
|
77
|
+
## Submitting changes
|
|
78
|
+
|
|
79
|
+
1. Fork the repository.
|
|
80
|
+
2. Create a feature branch off `main`.
|
|
81
|
+
3. Make your change, adding or updating tests to cover it.
|
|
82
|
+
4. Make sure `bundle exec rspec` and `bundle exec cookstyle` pass.
|
|
83
|
+
5. Push the branch to your fork and open a pull request.
|
|
84
|
+
|
|
85
|
+
Please keep pull requests focused on a single change — it makes review much
|
|
86
|
+
faster. Update the documentation in `README.md` when you add or change a
|
|
87
|
+
configuration option.
|
|
88
|
+
|
|
89
|
+
### Commit messages
|
|
90
|
+
|
|
91
|
+
This project uses [Conventional Commits](https://www.conventionalcommits.org/).
|
|
92
|
+
release-please reads the commit subjects on `main` to decide the next version
|
|
93
|
+
and to write the changelog, so the prefix matters:
|
|
94
|
+
|
|
95
|
+
| Prefix | Effect |
|
|
96
|
+
| --- | --- |
|
|
97
|
+
| `fix:` | patch release |
|
|
98
|
+
| `feat:` | minor release |
|
|
99
|
+
| `docs:`, `chore:`, `style:`, `test:` | no release |
|
|
100
|
+
| `feat!:`, or a `BREAKING CHANGE:` footer | major release |
|
|
101
|
+
|
|
102
|
+
Pull requests are squash-merged, so it is the PR title that lands on `main` and
|
|
103
|
+
gets parsed. Write it as a Conventional Commit.
|
|
104
|
+
|
|
105
|
+
## Maintaining the bundled data
|
|
106
|
+
|
|
107
|
+
### data/images.json
|
|
108
|
+
|
|
109
|
+
The driver maps a Test Kitchen platform name to a Rackspace image ID using
|
|
110
|
+
`data/images.json`. **That table has not been regenerated since 2016** — its
|
|
111
|
+
newest entries are Ubuntu 16.04, CentOS 7, Debian 8, and Fedora 25 — so modern
|
|
112
|
+
platform names do not resolve and users have to set `image_id` by hand.
|
|
113
|
+
|
|
114
|
+
Refreshing it is the most useful contribution available here. It needs a
|
|
115
|
+
Rackspace account:
|
|
116
|
+
|
|
117
|
+
```sh
|
|
118
|
+
export RACKSPACE_USERNAME="myuser"
|
|
119
|
+
export RACKSPACE_API_KEY="myapikey"
|
|
120
|
+
export RACKSPACE_REGION="ord"
|
|
121
|
+
|
|
122
|
+
bundle exec ruby helpers/dump_image_list.rb # review what the account sees
|
|
123
|
+
bundle exec ruby helpers/dump_image_list.rb --json > data/images.json
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Image IDs are per-region, so regenerate from the region most users build in.
|
|
127
|
+
The helper derives platform names from each image's OpenStack metadata:
|
|
128
|
+
`ubuntu-22.04` and `ubuntu-22` from the version, plus the bare `ubuntu` for the
|
|
129
|
+
newest version of that distro. Images without that metadata — custom snapshots,
|
|
130
|
+
mostly — are skipped.
|
|
131
|
+
|
|
132
|
+
A refresh also needs the platform-resolution specs updated, since they assert
|
|
133
|
+
against the current table.
|
|
134
|
+
|
|
135
|
+
### helpers/dump_flavor_list.rb
|
|
136
|
+
|
|
137
|
+
Lists the flavors an account can build, for checking the flavor tables in the
|
|
138
|
+
README against reality:
|
|
139
|
+
|
|
140
|
+
```sh
|
|
141
|
+
bundle exec ruby helpers/dump_flavor_list.rb
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Running the helpers
|
|
145
|
+
|
|
146
|
+
Both helpers must run under Bundler:
|
|
147
|
+
|
|
148
|
+
```sh
|
|
149
|
+
bundle exec ruby helpers/dump_image_list.rb
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Outside Bundler they resolve a newer fog-core, and `require "fog/rackspace"`
|
|
153
|
+
raises `NameError: wrong constant name CDN v2`. fog-rackspace registers a
|
|
154
|
+
service with a space in its name that newer fog-core cannot constantize, which
|
|
155
|
+
is why the gemspec pins `fog-core < 2.3`.
|
|
156
|
+
|
|
157
|
+
## Release process
|
|
158
|
+
|
|
159
|
+
Releases are automated by [release-please](.github/workflows/publish.yaml), and
|
|
160
|
+
maintainers only have to merge a pull request.
|
|
161
|
+
|
|
162
|
+
1. Every push to `main` updates a standing release pull request titled
|
|
163
|
+
`chore(main): release X.Y.Z`. It accumulates the changes since the last
|
|
164
|
+
release and derives the version from their commit prefixes.
|
|
165
|
+
2. Merging that pull request tags the release and publishes the gem to RubyGems
|
|
166
|
+
and GitHub Packages.
|
|
167
|
+
|
|
168
|
+
**Do not hand-edit `CHANGELOG.md` or
|
|
169
|
+
`lib/kitchen/driver/rackspace_version.rb`.** release-please owns both — they are
|
|
170
|
+
its `changelog-path` and `version-file` in
|
|
171
|
+
[release-please-config.json](release-please-config.json) — and editing them
|
|
172
|
+
directly conflicts with the release pull request.
|
|
173
|
+
|
|
174
|
+
The release pull request does not resolve its own conflicts. If it picks one up,
|
|
175
|
+
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
|