diff --git a/playbooks/roles/openstack_openrc/defaults/main.yml b/playbooks/roles/openstack_openrc/defaults/main.yml index 12982aa629..a4d0b4a911 100644 --- a/playbooks/roles/openstack_openrc/defaults/main.yml +++ b/playbooks/roles/openstack_openrc/defaults/main.yml @@ -17,16 +17,26 @@ openrc_cinder_endpoint_type: internalURL openrc_nova_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_url: "http://127.0.0.1:5000" +openrc_clouds_yml_region_name: RegionOne ## Deliberately allow access to SSL endpoints with bad certificates openrc_insecure: "{{ (keystone_service_adminuri_insecure | bool or keystone_service_internaluri_insecure | bool) | default(false) }}" -## Create file +## Create openrc file openrc_file_dest: "{{ ansible_env.HOME }}/openrc" openrc_file_owner: "{{ ansible_user_id }}" openrc_file_group: "{{ ansible_user_id }}" + +## Create clouds.yml file +openrc_openstack_client_config_dir_dest: "{{ ansible_env.HOME }}/.config/openstack" +openrc_openstack_client_config_dir_owner: "{{ ansible_user_id }}" +openrc_openstack_client_config_dir_group: "{{ ansible_user_id }}" +openrc_clouds_yml_file_dest: "{{ openrc_openstack_client_config_dir_dest }}/clouds.yml" +openrc_clouds_yml_file_owner: "{{ ansible_user_id }}" +openrc_clouds_yml_file_group: "{{ ansible_user_id }}" diff --git a/playbooks/roles/openstack_openrc/tasks/main.yml b/playbooks/roles/openstack_openrc/tasks/main.yml index 38a9a6e9ac..625b67167c 100644 --- a/playbooks/roles/openstack_openrc/tasks/main.yml +++ b/playbooks/roles/openstack_openrc/tasks/main.yml @@ -22,3 +22,23 @@ mode: "0600" tags: - openstack-openrc-file + +- name: Create OpenStack client configuration directory + file: + dest: "{{ openrc_openstack_client_config_dir_dest }}" + owner: "{{ openrc_openstack_client_config_dir_owner }}" + group: "{{ openrc_openstack_client_config_dir_group }}" + mode: "0600" + state: directory + tags: + - openstack-openrc-file + +- name: Create clouds.yml file + template: + src: clouds.yml + dest: "{{ openrc_clouds_yml_file_dest }}" + owner: "{{ openrc_clouds_yml_file_owner }}" + group: "{{ openrc_clouds_yml_file_group }}" + mode: "0600" + tags: + - openstack-openrc-file diff --git a/playbooks/roles/openstack_openrc/templates/clouds.yml b/playbooks/roles/openstack_openrc/templates/clouds.yml new file mode 100644 index 0000000000..7bd67b3066 --- /dev/null +++ b/playbooks/roles/openstack_openrc/templates/clouds.yml @@ -0,0 +1,18 @@ +# {{ ansible_managed }} +clouds: + default: + auth: + auth_url: {{ openrc_os_auth_url }} + project_name: {{ openrc_os_tenant_name }} + tenant_name: {{ openrc_os_tenant_name }} + username: {{ openrc_os_username }} + password: {{ openrc_os_password }} + user_domain_name: {{ openrc_os_domain_name }} + project_domain_name: {{ openrc_os_domain_name }} + region_name: {{ openrc_clouds_yml_region_name }} + interface: {{ openrc_clouds_yml_interface }} +{% if openrc_os_auth_url.endswith('v3') %} + identity_api_version: "3" +{% else %} + identity_api_version: "2.0" +{% endif %}