
Co-Authored-By: Jeffrey Zhang <zhang.lei.fly@gmail.com> Depends-On: Id03619b4e26a0a77c2a39e2de21efd13be0e9200 Change-Id: I723345c1b23cb92ad94cefd965f07b94095ebb41 Closes-Bug: #1650345
85 lines
3.9 KiB
YAML
85 lines
3.9 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
|
|
when: inventory_hostname in groups['ironic-api']
|
|
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
|
|
when: inventory_hostname in groups['ironic-api']
|
|
|
|
- name: Creating the Ironic Inspector service and endpoint
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m kolla_keystone_service
|
|
-a "service_name=ironic-inspector
|
|
service_type=baremetal-introspection
|
|
description='Ironic Inspector baremetal introspection service'
|
|
endpoint_region={{ openstack_region_name }}
|
|
url='{{ item.url }}'
|
|
interface='{{ item.interface }}'
|
|
region_name={{ openstack_region_name }}
|
|
auth={{ '{{ openstack_ironic_inspector_auth }}' }}"
|
|
-e "{'openstack_ironic_inspector_auth':{{ openstack_ironic_inspector_auth }}}"
|
|
register: ironic_inspector_endpoint
|
|
changed_when: "{{ ironic_inspector_endpoint.stdout.find('localhost | SUCCESS => ') != -1 and (ironic_inspector_endpoint.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
until: ironic_inspector_endpoint.stdout.split()[2] == 'SUCCESS'
|
|
retries: 10
|
|
delay: 5
|
|
run_once: True
|
|
when: inventory_hostname in groups['ironic-inspector']
|
|
with_items:
|
|
- {'interface': 'admin', 'url': '{{ ironic_inspector_admin_endpoint }}'}
|
|
- {'interface': 'internal', 'url': '{{ ironic_inspector_internal_endpoint }}'}
|
|
- {'interface': 'public', 'url': '{{ ironic_inspector_public_endpoint }}'}
|
|
|
|
- name: Creating the Ironic Inspector project, user, and role
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m kolla_keystone_user
|
|
-a "project=service
|
|
user={{ ironic_inspector_keystone_user }}
|
|
password={{ ironic_inspector_keystone_password }}
|
|
role=admin
|
|
region_name={{ openstack_region_name }}
|
|
auth={{ '{{ openstack_ironic_inspector_auth }}' }}"
|
|
-e "{'openstack_ironic_inspector_auth':{{ openstack_ironic_inspector_auth }}}"
|
|
register: ironic_inspector_user
|
|
changed_when: "{{ ironic_inspector_user.stdout.find('localhost | SUCCESS => ') != -1 and (ironic_inspector_user.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
until: ironic_inspector_user.stdout.split()[2] == 'SUCCESS'
|
|
retries: 10
|
|
delay: 5
|
|
run_once: True
|
|
when: inventory_hostname in groups['ironic-inspector']
|