Skip to content

feat: add OpenStack clouds.yaml and OS_* env var support#236

Merged
ramereth merged 1 commit intomainfrom
feature/clouds-yaml-support
Apr 7, 2026
Merged

feat: add OpenStack clouds.yaml and OS_* env var support#236
ramereth merged 1 commit intomainfrom
feature/clouds-yaml-support

Conversation

@ramereth
Copy link
Copy Markdown
Contributor

@ramereth ramereth commented Apr 3, 2026

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

Description

Please describe what this change achieves

Issues Resolved

List any existing issues this PR resolves, or any Discourse or
StackOverflow discussions that are relevant

Type of Change

Our release process assumes you are using Conventional Commit messages.

The most important prefixes you should have in mind are:

  • _fix_: which represents bug fixes, and correlates to a SemVer patch.
  • _feat_: which represents a new feature, and correlates to a SemVer minor.
  • _feat!_:, or fix!:, refactor!:, etc., which represent a breaking change (indicated by the !) and will result in a major version change.

If you have not included a conventional commit message this can be fixed on merge.

Check List

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>
@ramereth ramereth requested a review from Stromweld April 3, 2026 20:54
Copy link
Copy Markdown
Contributor

@Stromweld Stromweld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@ramereth ramereth merged commit 66db1c2 into main Apr 7, 2026
6 checks passed
@ramereth ramereth deleted the feature/clouds-yaml-support branch April 7, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for OpenStack's clouds.yaml client configuration

2 participants