aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ansible/roles/keystone/tasks/config.yml20
-rw-r--r--ansible/roles/keystone/templates/keystone.conf.j26
-rw-r--r--ansible/roles/keystone/templates/keystone.json.j27
-rw-r--r--releasenotes/notes/support-ldap-e678ce5b0a7eaedb.yaml4
4 files changed, 37 insertions, 0 deletions
diff --git a/ansible/roles/keystone/tasks/config.yml b/ansible/roles/keystone/tasks/config.yml
index 0c55c7b6c..e64a8d7df 100644
--- a/ansible/roles/keystone/tasks/config.yml
+++ b/ansible/roles/keystone/tasks/config.yml
@@ -1,4 +1,8 @@
---
+- name: Check if Keystone Domain specific settings enabled
+ local_action: stat path="{{ node_custom_config }}/keystone/domains"
+ register: keystone_domain_cfg
+
- name: Ensuring config directories exist
file:
path: "{{ node_config_directory }}/{{ item }}"
@@ -7,6 +11,15 @@
with_items:
- "keystone"
+- name: Creating Keystone Domain directory
+ file:
+ dest: "{{ node_config_directory }}/{{ item }}/domains/"
+ state: "directory"
+ when:
+ keystone_domain_cfg.stat.exists
+ with_items:
+ - "keystone"
+
- name: Copying over config.json files for services
template:
src: "{{ item }}.json.j2"
@@ -29,6 +42,13 @@
with_items:
- "keystone"
+- name: Copying Keystone Domain specific settings
+ copy:
+ src: "{{ item }}"
+ dest: "{{ node_config_directory }}/keystone/domains/"
+ with_fileglob:
+ - "{{ node_custom_config }}/keystone/domains/*"
+
- name: Copying over wsgi-keystone.conf
template:
src: "wsgi-keystone.conf.j2"
diff --git a/ansible/roles/keystone/templates/keystone.conf.j2 b/ansible/roles/keystone/templates/keystone.conf.j2
index 512fa1dab..f5c9054de 100644
--- a/ansible/roles/keystone/templates/keystone.conf.j2
+++ b/ansible/roles/keystone/templates/keystone.conf.j2
@@ -10,6 +10,12 @@ secure_proxy_ssl_header = HTTP_X_FORWARDED_PROTO
connection = mysql+pymysql://{{ keystone_database_user }}:{{ keystone_database_password }}@{{ keystone_database_address }}/{{ keystone_database_name }}
max_retries = -1
+{% if keystone_domain_cfg.stat.exists %}
+[identity]
+domain_specific_drivers_enabled = true
+domain_config_dir = /etc/keystone/domains
+{% endif %}
+
[cache]
backend = oslo_cache.memcache_pool
enabled = True
diff --git a/ansible/roles/keystone/templates/keystone.json.j2 b/ansible/roles/keystone/templates/keystone.json.j2
index b5ecc3db8..21cc9559e 100644
--- a/ansible/roles/keystone/templates/keystone.json.j2
+++ b/ansible/roles/keystone/templates/keystone.json.j2
@@ -10,6 +10,13 @@
"perm": "0600"
},
{
+ "source": "{{ container_config_directory }}/domains",
+ "dest": "/etc/keystone/domains",
+ "owner": "keystone",
+ "perm": "0600",
+ "optional": true
+ },
+ {
"source": "{{ container_config_directory }}/wsgi-keystone.conf",
"dest": "/etc/{{ keystone_dir }}/wsgi-keystone.conf",
"owner": "keystone",
diff --git a/releasenotes/notes/support-ldap-e678ce5b0a7eaedb.yaml b/releasenotes/notes/support-ldap-e678ce5b0a7eaedb.yaml
new file mode 100644
index 000000000..997dc06f2
--- /dev/null
+++ b/releasenotes/notes/support-ldap-e678ce5b0a7eaedb.yaml
@@ -0,0 +1,4 @@
+---
+features:
+ - LDAP & AD support has been added to the base images, and support
+ for Keystone multidomains config files.