| {%- from "keystone/map.jinja" import client with context %} |
| {# this legacy client is deprecated and will be removed when pike is EOL #} |
| {# it is not recommended to use it for v3 API #} |
| {%- if client.enabled and not client.get('resources', {}).get('v3', {}).get('enabled', False) %} |
| |
| {%- if client.tenant is defined %} |
| |
| keystone_client_roles: |
| keystoneng.role_present: |
| - names: {{ client.roles }} |
| - connection_user: {{ client.server.user }} |
| - connection_password: {{ client.server.password }} |
| - connection_tenant: {{ client.server.tenant }} |
| - connection_auth_url: 'http://{{ client.server.host }}:{{ client.server.public_port }}/v2.0/' |
| |
| {%- for tenant_name, tenant in client.get('tenant', {}).items() %} |
| |
| keystone_tenant_{{ tenant_name }}: |
| keystoneng.tenant_present: |
| - name: {{ tenant_name }} |
| - connection_user: {{ client.server.user }} |
| - connection_password: {{ client.server.password }} |
| - connection_tenant: {{ client.server.tenant }} |
| - connection_auth_url: 'http://{{ client.server.host }}:{{ client.server.public_port }}/v2.0/' |
| - require: |
| - keystoneng: keystone_client_roles |
| |
| {%- for user_name, user in tenant.get('user', {}).items() %} |
| |
| keystone_{{ tenant_name }}_user_{{ user_name }}: |
| keystoneng.user_present: |
| - name: {{ user_name }} |
| - password: {{ user.password }} |
| - email: {{ user.get('email', 'root@localhost') }} |
| - tenant: {{ tenant_name }} |
| - roles: |
| "{{ tenant_name }}": |
| {%- if user.get('is_admin', False) %} |
| - admin |
| {%- elif user.get('roles', False) %} |
| {{ user.roles }} |
| {%- else %} |
| - Member |
| {%- endif %} |
| - connection_user: {{ client.server.user }} |
| - connection_password: {{ client.server.password }} |
| - connection_tenant: {{ client.server.tenant }} |
| - connection_auth_url: 'http://{{ client.server.host }}:{{ client.server.public_port }}/v2.0/' |
| - require: |
| - keystoneng: keystone_tenant_{{ tenant_name }} |
| |
| {%- endfor %} |
| |
| {%- endfor %} |
| |
| {%- endif %} |
| |
| {%- endif %} |