openstack-ansible-os_keystone/tasks/keystone_ldap_setup.yml
Major Hayden 299690795b Remove dangling Default domain cfg file
The multi-domain LDAP support added in
Ifa4c42f7dbcc40a256a3156f74f0150384f9ab87 left behind a
keystone.Default.conf file that causes Keystone errors when adding a
new domain backed by LDAP. This patch removes the file unless the
deployer has specifically created a domain called 'Default'.

This is an IRR rework of change I50ca6c1133c663aa374e45a04f7d0d53171d6941.

Closes-bug: 1547542

Change-Id: I309ac13812c64c6e3df5cac6adff5fc68900af60
2016-03-02 15:30:04 -06:00

54 lines
1.7 KiB
YAML

---
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Create Keystone LDAP domains
keystone:
command: ensure_domain
domain_name: "{{ item.key }}"
token: "{{ keystone_auth_admin_token }}"
endpoint: "{{ keystone_service_adminurl }}"
insecure: "{{ keystone_service_adminuri_insecure }}"
with_dict: keystone_ldap
run_once: true
tags:
- keystone-ldap-domain-create
- name: Create Keystone LDAP domain configs
template:
src: keystone.domain.conf.j2
dest: "{{ keystone_ldap_domain_config_dir }}/keystone.{{ item.key }}.conf"
owner: "{{ keystone_system_user_name }}"
group: "{{ keystone_system_group_name }}"
mode: "0644"
with_dict: keystone_ldap
notify:
- Restart Apache
tags:
- keystone-ldap-domain-config
# Bug 1547542 - Older versions of the keystone role would deploy a blank
# keystone.Default.conf and this will cause errors when adding LDAP-backed
# domains.
- name: Remove Keystone Default domain configuration file if not needed
file:
path: "{{ keystone_ldap_domain_config_dir }}/keystone.Default.conf"
state: absent
when: keystone_ldap.Default is not defined
notify:
- Restart Apache
tags:
- keystone-ldap-domain-config