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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c5d9f0cfda1b6fe90dea83cb1122c21a7faf73ae011bc04853326875b0655018
4
- data.tar.gz: a2ec7b058022a9b8af978504e7e4e836f2951d9aae241db3fa1d08e4357fc90e
3
+ metadata.gz: 341c3ad7208f8a4747c8f1ea02a0729e0902de1aa9c953015b85dd597138809e
4
+ data.tar.gz: aefd1c800711e40f056620f7f77f597a98cd7773f81e4c2a7f224554a338f205
5
5
  SHA512:
6
- metadata.gz: 8e70ff48c1b0874fc139b22869b3acea10d46727a038ef294f731aa22955238f71afa30480c9ed4fcfa24cd4bba2c360076967a4ac16f7561c9d95d1a5669c78
7
- data.tar.gz: 0b1d5316304df8961bf18fda87f2bddad50f9d3e19b0da9905c6f13a9773e0807c075aa57da978961417cb12ba84d6d1241c6dfeb152cf1fd5ae2d43abee6a43
6
+ metadata.gz: 1c8b613a15c6cfa635246d9fa0b20f53910ba99015c8550c532067205b3fd7da0ac39070b158eb01d018660303dfec891a07c949394896e856f8b619d094f170
7
+ data.tar.gz: e1d15ce47f981dcd4e187fb93b2fb53e1064ce246efd993222fa60988f952ac7bcaa8c446b9c3e501526d5d9db0b8940ebe4bf20fb56eb82c603ce47b69066d2
@@ -9,7 +9,7 @@ jobs:
9
9
  release-please:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
- - uses: googleapis/release-please-action@v4
12
+ - uses: googleapis/release-please-action@v5
13
13
  id: release
14
14
  with:
15
15
  token: ${{ secrets.PORTER_GITHUB_TOKEN }}
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "0.21.2"
2
+ ".": "0.22.0"
3
3
  }
data/.rubocop.yml CHANGED
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  require:
3
- - chefstyle
3
+ - cookstyle/chefstyle
4
4
 
5
5
  AllCops:
6
6
  TargetRubyVersion: 3.1
7
- Include:
8
- - "**/*.rb"
9
7
  Exclude:
10
8
  - "vendor/**/*"
11
9
  - "spec/**/*"
data/.yamllint ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ extends: default
3
+ rules:
4
+ line-length:
5
+ max: 256
6
+ level: warning
data/.yardopts ADDED
@@ -0,0 +1,11 @@
1
+ --markup markdown
2
+ --output-dir doc
3
+ --readme README.md
4
+ --title "kitchen-rackspace"
5
+ --protected
6
+ --private
7
+ lib/**/*.rb
8
+ -
9
+ CHANGELOG.md
10
+ CONTRIBUTING.md
11
+ LICENSE
data/CHANGELOG.md CHANGED
@@ -1,14 +1,40 @@
1
1
  # Kitchen-rackspace Changelog
2
2
 
3
- ## [0.21.2](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.1...v0.21.2) (2026-01-22)
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
- ## [0.21.1](https://github.com/test-kitchen/kitchen-rackspace/compare/v0.21.0...v0.21.1) (2024-07-01)
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 :chefstyle do
12
- gem "chefstyle", "2.2.3"
9
+ group :docs do
10
+ gem "yard"
11
+ end
12
+
13
+ group :cookstyle do
14
+ gem "cookstyle"
13
15
  end