Make sure domains are created at the end
To avoid complicated if logic move domain creation to the end
to make sure it is created when service is started.
Change-Id: I15959241054a9f142e7bbe21264fb9c7052ddef2
diff --git a/keystone/server.sls b/keystone/server.sls
index 2c2bd9b..02579cf 100644
--- a/keystone/server.sls
+++ b/keystone/server.sls
@@ -253,30 +253,6 @@
{%- endif %}
{%- endif %}
-
-{#- can't use RC file here as identity endpoint may not be present in keystone #}
-{#- as we will add it later in keystone.client state. Use endpoint override here. #}
-{#- will be fixed when switched to keystone bootstrap. #}
-{#- TODO: move domain creation to keystone.client state. #}
-keystone_domain_{{ domain_name }}:
- cmd.run:
- - name: openstack --os-identity-api-version 3
- --os-endpoint {{ server.bind.get('private_protocol', 'http') }}://{{ server.bind.private_address }}:{{ server.bind.private_port }}/v3
- --os-token {{ server.service_token }}
- --os-auth-type admin_token
- domain create --description "{{ domain.description }}" {{ domain_name }}
- - unless: {% if grains.get('noservices') %}/bin/true{% else %}
- openstack --os-identity-api-version 3
- --os-endpoint {{ server.bind.get('private_protocol', 'http') }}://{{ server.bind.private_address }}:{{ server.bind.private_port }}/v3
- --os-token {{ server.service_token }}
- --os-auth-type admin_token
- domain show "{{ domain_name }}"{% endif %}
- - shell: /bin/bash
- - require:
- - file: /root/keystonercv3
- - service: {{ keystone_service }}
- - sls: keystone.db.offline_sync
-
{%- endfor %}
{%- endif %}
@@ -583,4 +559,30 @@
{%- endif %}
{%- endif %}
+{%- if server.domain is defined %}
+ {%- for domain_name, domain in server.domain.items() %}
+{#- can't use RC file here as identity endpoint may not be present in keystone #}
+{#- as we will add it later in keystone.client state. Use endpoint override here. #}
+{#- will be fixed when switched to keystone bootstrap. #}
+{#- TODO: move domain creation to keystone.client state. #}
+keystone_domain_{{ domain_name }}:
+ cmd.run:
+ - name: openstack --os-identity-api-version 3
+ --os-endpoint {{ server.bind.get('private_protocol', 'http') }}://{{ server.bind.private_address }}:{{ server.bind.private_port }}/v3
+ --os-token {{ server.service_token }}
+ --os-auth-type admin_token
+ domain create --description "{{ domain.description }}" {{ domain_name }}
+ - unless: {% if grains.get('noservices') %}/bin/true{% else %}
+ openstack --os-identity-api-version 3
+ --os-endpoint {{ server.bind.get('private_protocol', 'http') }}://{{ server.bind.private_address }}:{{ server.bind.private_port }}/v3
+ --os-token {{ server.service_token }}
+ --os-auth-type admin_token
+ domain show "{{ domain_name }}"{% endif %}
+ - shell: /bin/bash
+ - require:
+ - file: /root/keystonercv3
+ - sls: keystone.db.offline_sync
+ {%- endfor %}
+{%- endif %}
+
{%- endif %}