--- - name: Creating the Nova service and endpoint kolla_toolbox: module_name: "kolla_keystone_service" module_args: service_name: "{{ item.name }}" service_type: "{{ item.service_type }}" description: "{{ item.description }}" endpoint_region: "{{ openstack_region_name }}" url: "{{ item.url }}" interface: "{{ item.interface }}" region_name: "{{ openstack_region_name }}" auth: "{{ '{{ openstack_nova_auth }}' }}" endpoint_type: "{{ openstack_interface }}" module_extra_vars: openstack_nova_auth: "{{ openstack_nova_auth }}" run_once: True with_items: - {'name': 'nova_legacy', 'service_type': 'compute_legacy', 'interface': 'admin', 'url': '{{ nova_legacy_admin_endpoint }}', 'description': 'OpenStack Compute Service (Legacy 2.0)'} - {'name': 'nova_legacy', 'service_type': 'compute_legacy', 'interface': 'internal', 'url': '{{ nova_legacy_internal_endpoint }}', 'description': 'OpenStack Compute Service (Legacy 2.0)'} - {'name': 'nova_legacy', 'service_type': 'compute_legacy', 'interface': 'public', 'url': '{{ nova_legacy_public_endpoint }}', 'description': 'OpenStack Compute Service (Legacy 2.0)'} - {'name': 'nova', 'service_type': 'compute', 'interface': 'admin', 'url': '{{ nova_admin_endpoint }}', 'description': 'OpenStack Compute Service'} - {'name': 'nova', 'service_type': 'compute', 'interface': 'internal', 'url': '{{ nova_internal_endpoint }}', 'description': 'OpenStack Compute Service'} - {'name': 'nova', 'service_type': 'compute', 'interface': 'public', 'url': '{{ nova_public_endpoint }}', 'description': 'OpenStack Compute Service'} - {'name': 'placement', 'service_type': 'placement', 'interface': 'admin', 'url': '{{ placement_admin_endpoint }}', 'description': 'Placement Service'} - {'name': 'placement', 'service_type': 'placement', 'interface': 'internal', 'url': '{{ placement_internal_endpoint }}', 'description': 'Placement Service'} - {'name': 'placement', 'service_type': 'placement', 'interface': 'public', 'url': '{{ placement_public_endpoint }}', 'description': 'Placement Service'} - name: Creating the Nova project, user, and role kolla_toolbox: module_name: "kolla_keystone_user" module_args: project: "service" user: "{{ nova_keystone_user }}" password: "{{ nova_keystone_password }}" role: "admin" region_name: "{{ openstack_region_name }}" auth: "{{ '{{ openstack_nova_auth }}' }}" endpoint_type: "{{ openstack_interface }}" module_extra_vars: openstack_nova_auth: "{{ openstack_nova_auth }}" run_once: True - name: Creating the placement project, user, and role kolla_toolbox: module_name: "kolla_keystone_user" module_args: project: "service" user: "{{ placement_keystone_user }}" password: "{{ placement_keystone_password }}" role: "admin" region_name: "{{ openstack_region_name }}" auth: "{{ '{{ openstack_placement_auth }}' }}" endpoint_type: "{{ openstack_interface }}" module_extra_vars: openstack_placement_auth: "{{ openstack_placement_auth }}" register: placement_user until: placement_user|success retries: 10 delay: 5 run_once: True