kolla/ansible/roles/ironic/tasks/register.yml

41 lines
1.7 KiB
YAML

---
- name: Creating the Ironic service and endpoint
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-m kolla_keystone_service
-a "service_name=ironic
service_type=baremetal
description='Ironic bare metal provisioning service'
endpoint_region={{ openstack_region_name }}
url='{{ item.url }}'
interface='{{ item.interface }}'
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_ironic_auth }}' }}"
-e "{'openstack_ironic_auth':{{ openstack_ironic_auth }}}"
register: ironic_endpoint
changed_when: "{{ ironic_endpoint.stdout.find('localhost | SUCCESS => ') != -1 and (ironic_endpoint.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
until: ironic_endpoint.stdout.split()[2] == 'SUCCESS'
retries: 10
delay: 5
run_once: True
with_items:
- {'interface': 'admin', 'url': '{{ ironic_admin_endpoint }}'}
- {'interface': 'internal', 'url': '{{ ironic_internal_endpoint }}'}
- {'interface': 'public', 'url': '{{ ironic_public_endpoint }}'}
- name: Creating the Ironic project, user, and role
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
-m kolla_keystone_user
-a "project=service
user={{ ironic_keystone_user }}
password={{ ironic_keystone_password }}
role=admin
region_name={{ openstack_region_name }}
auth={{ '{{ openstack_ironic_auth }}' }}"
-e "{'openstack_ironic_auth':{{ openstack_ironic_auth }}}"
register: ironic_user
changed_when: "{{ ironic_user.stdout.find('localhost | SUCCESS => ') != -1 and (ironic_user.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
until: ironic_user.stdout.split()[2] == 'SUCCESS'
retries: 10
delay: 5
run_once: True