OpenStack-Ansible openrc file

This Ansible role creates the configuration files used by various OpenStack CLI tools. For more information about these tools, see the OpenStack CLI Reference.

To clone or view the source code for this repository, visit the role repository for openstack_openrc.

Default variables

## Use System Scope Authentication
openrc_system_scope: false

## Endpoint types
openrc_cinder_endpoint_type: internalURL
openrc_nova_endpoint_type: internalURL
openrc_manila_endpoint_type: internalURL
openrc_os_endpoint_type: internalURL
openrc_clouds_yml_interface: internal

## Default credentials
openrc_os_username: admin
openrc_os_tenant_name: admin
openrc_os_auth_type: password
openrc_os_auth_url: ""
openrc_region_name: RegionOne
openrc_os_domain_name: Default

## Deliberately allow access to SSL endpoints with bad certificates
openrc_insecure: >-
  {{ (keystone_service_adminuri_insecure | default(false) | bool or
      keystone_service_internaluri_insecure | default(false) | bool) }}
## Create openrc file(s)
openrc_file_dest: "{{ ansible_facts['env']['HOME'] }}/openrc"
openrc_system_file_dest: "{{ openrc_file_dest | dirname }}/openrc.system_scope"
openrc_file_owner: "{{ ansible_facts['user_id'] }}"
openrc_file_group: "{{ ansible_facts['user_id'] }}"
openrc_file_mode: "0600"

## Create clouds.yml file
openrc_openstack_client_config_dir_dest: "{{ ansible_facts['env']['HOME'] }}/.config/openstack"
openrc_openstack_client_config_dir_owner: "{{ ansible_facts['user_id'] }}"
openrc_openstack_client_config_dir_group: "{{ ansible_facts['user_id'] }}"
openrc_openstack_client_config_dir_mode: "0700"
openrc_clouds_yml_file_dest: "{{ openrc_openstack_client_config_dir_dest }}/clouds.yaml"
openrc_clouds_yml_file_owner: "{{ ansible_facts['user_id'] }}"
openrc_clouds_yml_file_group: "{{ ansible_facts['user_id'] }}"
openrc_clouds_yml_file_mode: "0600"

openrc_locale: "{{ ansible_facts.env.LANG | default('C.UTF-8') }}"

Required variables

To use this role, define the following variables:

keystone_service_adminuri_insecure: false
keystone_service_internaluri_insecure: false
openrc_os_password: secrete
openrc_os_domain_name: Default


This role supports two tags: openstack_openrc-install and openstack_openrc-config. The openstack_openrc-install tag is only used to setup the appropriate folders. The openstack_openrc-config tag can be used to manage configuration.

Example playbook

- name: Create OpenStack openrc and clouds.yaml file
  hosts: all
  user: root
    - role: "openstack_openrc"
    openrc_os_password: secrete