Generate a public environment file for accessing external APIs as admin
This commit is contained in:
6
ansible/roles/public-openrc/defaults/main.yml
Normal file
6
ansible/roles/public-openrc/defaults/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
# Path to kolla configuration directory.
|
||||
public_openrc_kolla_config_path:
|
||||
|
||||
# URL of public keystone API to use for authentication.
|
||||
public_openrc_auth_url:
|
||||
10
ansible/roles/public-openrc/tasks/main.yml
Normal file
10
ansible/roles/public-openrc/tasks/main.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
- name: Read the admin OpenStack API environment file
|
||||
slurp:
|
||||
src: "{{ kolla_config_path }}/admin-openrc.sh"
|
||||
register: admin_openrc
|
||||
|
||||
- name: Ensure a public OpenStack API environment file exists
|
||||
template:
|
||||
src: public-openrc.sh.j2
|
||||
dest: "{{ public_openrc_kolla_config_path }}/public-openrc.sh"
|
||||
11
ansible/roles/public-openrc/templates/public-openrc.sh.j2
Normal file
11
ansible/roles/public-openrc/templates/public-openrc.sh.j2
Normal file
@@ -0,0 +1,11 @@
|
||||
# {{ ansible_managed }}
|
||||
|
||||
{% for line in (admin_openrc.content | b64decode).splitlines() %}
|
||||
{% if "export OS_AUTH_URL" in line %}
|
||||
export OS_AUTH_URL={{ public_openrc_auth_url }}
|
||||
{% elif "export OS_INTERFACE" in line %}
|
||||
export OS_INTERFACE=public
|
||||
{% else %}
|
||||
{{ line }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
Reference in New Issue
Block a user