You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add OpenStack clouds.yaml and OS_* env var support (#236)
Add support for OpenStack's standard clouds.yaml client configuration
file and OS_* environment variables, following the upstream openstacksdk
precedence order:
1. kitchen.yml (explicit driver config always wins)
2. OS_* environment variables (override clouds.yaml)
3. clouds.yaml merged with secure.yaml (base configuration)
The driver reads clouds.yaml from standard search paths and maps entries
to Fog OpenStack config keys. Standard OS_* env vars (OS_AUTH_URL,
OS_USERNAME, OS_PASSWORD, etc.) are also recognized so that sourcing an
openrc file works without duplicating values in kitchen.yml.
New driver config options:
- openstack_cloud: selects a cloud entry (falls back to OS_CLOUD)
- clouds_yaml_path: explicit path to a clouds.yaml file
Closes#212
Signed-off-by: Lance Albertson <lance@osuosl.org>
Copy file name to clipboardExpand all lines: AGENTS.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,15 @@ kitchen-openstack is a Test Kitchen driver for OpenStack. It provisions and dest
14
14
## Architecture
15
15
16
16
- Driver class: `Kitchen::Driver::Openstack` in `lib/kitchen/driver/openstack.rb` — extends `Kitchen::Driver::Base` (Driver API v2)
17
+
- Clouds.yaml support: `Kitchen::Driver::Openstack::Clouds` in `lib/kitchen/driver/openstack/clouds.rb` — parses OpenStack `clouds.yaml`/`secure.yaml` and translates to Fog config
18
+
- Server configuration: `Kitchen::Driver::Openstack::Config` in `lib/kitchen/driver/openstack/config.rb` — server naming helpers
19
+
- Helpers: `Kitchen::Driver::Openstack::Helpers` in `lib/kitchen/driver/openstack/helpers.rb` — ohai hints, SSL, server wait
20
+
- Networking: `Kitchen::Driver::Openstack::Networking` in `lib/kitchen/driver/openstack/networking.rb` — floating IP allocation, IP resolution
21
+
- Server creation: `Kitchen::Driver::Openstack::ServerHelper` in `lib/kitchen/driver/openstack/server_helper.rb` — server creation, image/flavor/network finders
17
22
- Volume handling: `Kitchen::Driver::Openstack::Volume` in `lib/kitchen/driver/openstack/volume.rb`
18
23
- Version constant: `OPENSTACK_VERSION` in `lib/kitchen/driver/openstack_version.rb` — used by gemspec and release automation
19
24
- Configuration uses `default_config` declarations; raise `Kitchen::ActionFailed` for driver errors
25
+
- Supports `clouds.yaml` via `openstack_cloud` config or `OS_CLOUD` env var — see `Clouds` module
@@ -11,7 +11,7 @@ Shamelessly copied from [Fletcher Nichol](https://github.com/fnichol)'s awesome
11
11
12
12
## Status
13
13
14
-
This software project is no longer under active development as it has no active maintainers. The software may continue to work for some or all use cases, but issues filed in GitHub will most likely not be triaged. If a new maintainer is interested in working on this project please come chat with us in #test-kitchen on Chef Community Slack.
14
+
This software project is actively maintained by the [OSU Open Source Lab](https://osuosl.org/).
15
15
16
16
## Requirements
17
17
@@ -47,6 +47,125 @@ gem install kitchen-openstack
47
47
48
48
See <https://kitchen.ci/docs/drivers/openstack/> for documentation.
0 commit comments