aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/ironic/tasks/register.yml
blob: 0a6d52a1e7863229fe6bded45d4323ba2d5e5e10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
- 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