Module: Kitchen::Driver::Openstack::Clouds

Included in:
Kitchen::Driver::Openstack
Defined in:
lib/kitchen/driver/openstack/clouds.rb

Overview

Support for OpenStack clouds.yaml client configuration

Constant Summary collapse

CLOUDS_YAML_AUTH_MAP =

Mapping of clouds.yaml auth keys to Fog OpenStack config keys

{
  "auth_url" => :openstack_auth_url,
  "username" => :openstack_username,
  "password" => :openstack_api_key,
  "project_name" => :openstack_project_name,
  "project_id" => :openstack_project_id,
  "user_domain_name" => :openstack_user_domain,
  "user_domain_id" => :openstack_user_domain_id,
  "project_domain_name" => :openstack_project_domain,
  "project_domain_id" => :openstack_project_domain_id,
  "domain_id" => :openstack_domain_id,
  "domain_name" => :openstack_domain_name,
  "application_credential_id" => :openstack_application_credential_id,
  "application_credential_secret" => :openstack_application_credential_secret,
}.freeze
CLOUDS_YAML_TOP_MAP =

Mapping of clouds.yaml top-level keys to Fog OpenStack config keys

{
  "region_name" => :openstack_region,
  "interface" => :openstack_endpoint_type,
  "identity_api_version" => :openstack_identity_api_version,
}.freeze
STRING_CONFIG_KEYS =

Fog expects these config values to be strings. YAML may parse unquoted scalars as integers/booleans, so normalize on ingest.

(CLOUDS_YAML_AUTH_MAP.values + CLOUDS_YAML_TOP_MAP.values).freeze
ENV_VAR_MAP =

Mapping of OS_* environment variables to Fog OpenStack config keys

{
  "OS_AUTH_URL" => :openstack_auth_url,
  "OS_USERNAME" => :openstack_username,
  "OS_PASSWORD" => :openstack_api_key,
  "OS_PROJECT_NAME" => :openstack_project_name,
  "OS_PROJECT_ID" => :openstack_project_id,
  "OS_USER_DOMAIN_NAME" => :openstack_user_domain,
  "OS_USER_DOMAIN_ID" => :openstack_user_domain_id,
  "OS_PROJECT_DOMAIN_NAME" => :openstack_project_domain,
  "OS_PROJECT_DOMAIN_ID" => :openstack_project_domain_id,
  "OS_DOMAIN_ID" => :openstack_domain_id,
  "OS_DOMAIN_NAME" => :openstack_domain_name,
  "OS_REGION_NAME" => :openstack_region,
  "OS_INTERFACE" => :openstack_endpoint_type,
  "OS_IDENTITY_API_VERSION" => :openstack_identity_api_version,
  "OS_APPLICATION_CREDENTIAL_ID" => :openstack_application_credential_id,
  "OS_APPLICATION_CREDENTIAL_SECRET" => :openstack_application_credential_secret,
  "OS_CACERT" => :ssl_ca_file,
}.freeze