kolla-ansible/ansible/roles/service-ks-register/tasks/main.yml

108 lines
3.7 KiB
YAML

---
- name: Creating the {{ project_name }} service
become: true
kolla_toolbox:
module_name: "os_keystone_service"
module_args:
name: "{{ item.name }}"
service_type: "{{ item.type }}"
description: "{{ item.description }}"
region_name: "{{ service_ks_register_region_name }}"
auth: "{{ service_ks_register_auth }}"
interface: "{{ service_ks_register_interface }}"
cacert: "{{ service_ks_cacert }}"
run_once: True
loop: "{{ service_ks_register_services }}"
delegate_to: "{{ service_ks_register_delegate_host }}"
- name: Creating the {{ project_name }} endpoints
become: true
kolla_toolbox:
module_name: "os_keystone_endpoint"
module_args:
service: "{{ item.0.name }}"
url: "{{ item.1.url }}"
endpoint_interface: "{{ item.1.interface }}"
region: "{{ service_ks_register_endpoint_region }}"
region_name: "{{ service_ks_register_region_name }}"
auth: "{{ service_ks_register_auth }}"
interface: "{{ service_ks_register_interface }}"
cacert: "{{ service_ks_cacert }}"
run_once: True
with_subelements:
- "{{ service_ks_register_services }}"
- endpoints
delegate_to: "{{ service_ks_register_delegate_host }}"
- name: Creating the {{ project_name }} service project
become: true
kolla_toolbox:
module_name: "os_project"
module_args:
name: "{{ item }}"
domain: "{{ service_ks_register_domain }}"
region_name: "{{ service_ks_register_region_name }}"
auth: "{{ service_ks_register_auth }}"
interface: "{{ service_ks_register_interface }}"
cacert: "{{ service_ks_cacert }}"
run_once: True
with_items: "{{ service_ks_register_users | map(attribute='project') | unique | list }}"
delegate_to: "{{ service_ks_register_delegate_host }}"
- name: Creating the {{ project_name }} service users
become: true
kolla_toolbox:
module_name: "os_user"
module_args:
default_project: "{{ item.project }}"
name: "{{ item.user }}"
password: "{{ item.password }}"
domain: "{{ service_ks_register_domain }}"
region_name: "{{ service_ks_register_region_name }}"
auth: "{{ service_ks_register_auth }}"
interface: "{{ service_ks_register_interface }}"
cacert: "{{ service_ks_cacert }}"
run_once: True
with_items: "{{ service_ks_register_users }}"
delegate_to: "{{ service_ks_register_delegate_host }}"
loop_control:
label:
user: "{{ item.user }}"
project: "{{ item.project }}"
- name: Creating the {{ project_name }} service roles
become: true
kolla_toolbox:
module_name: "os_keystone_role"
module_args:
name: "{{ item }}"
region_name: "{{ service_ks_register_region_name }}"
auth: "{{ service_ks_register_auth }}"
interface: "{{ service_ks_register_interface }}"
cacert: "{{ service_ks_cacert }}"
run_once: True
with_items: "{{ service_ks_register_users | map(attribute='role') | unique | list }}"
delegate_to: "{{ service_ks_register_delegate_host }}"
- name: Granting the {{ project_name }} service user roles
become: true
kolla_toolbox:
module_name: "os_user_role"
module_args:
user: "{{ item.user }}"
role: "{{ item.role }}"
project: "{{ item.project }}"
domain: "{{ service_ks_register_domain }}"
region_name: "{{ service_ks_register_region_name }}"
auth: "{{ service_ks_register_auth }}"
interface: "{{ service_ks_register_interface }}"
cacert: "{{ service_ks_cacert }}"
run_once: True
with_items: "{{ service_ks_register_users }}"
delegate_to: "{{ service_ks_register_delegate_host }}"
loop_control:
label:
user: "{{ item.user }}"
role: "{{ item.role }}"
project: "{{ item.project }}"