
* Use the nova microversion api for compute service
* Use the legacy nova api for compute_legacy service
* Update the nova service and endpoint during the upgrade stage
This is what the devstack used now[0]
[0]
e777bbce3b/lib/nova (L408)
,L422
TrivialFix
Change-Id: I0574a3116b1dd1702b4eccb2394538866675c4c1
44 lines
2.5 KiB
YAML
44 lines
2.5 KiB
YAML
---
|
|
- name: Creating the Nova service and endpoint
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m kolla_keystone_service
|
|
-a "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 }}' }}"
|
|
-e "{'openstack_nova_auth':{{ openstack_nova_auth }}}"
|
|
register: nova_endpoint
|
|
changed_when: "{{ nova_endpoint.stdout.find('localhost | SUCCESS => ') != -1 and (nova_endpoint.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
until: nova_endpoint.stdout.split()[2] == 'SUCCESS'
|
|
retries: 10
|
|
delay: 5
|
|
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: Creating the Nova project, user, and role
|
|
command: docker exec -t kolla_toolbox /usr/bin/ansible localhost
|
|
-m kolla_keystone_user
|
|
-a "project=service
|
|
user=nova
|
|
password={{ nova_keystone_password }}
|
|
role=admin
|
|
region_name={{ openstack_region_name }}
|
|
auth={{ '{{ openstack_nova_auth }}' }}"
|
|
-e "{'openstack_nova_auth':{{ openstack_nova_auth }}}"
|
|
register: nova_user
|
|
changed_when: "{{ nova_user.stdout.find('localhost | SUCCESS => ') != -1 and (nova_user.stdout.split('localhost | SUCCESS => ')[1]|from_json).changed }}"
|
|
until: nova_user.stdout.split()[2] == 'SUCCESS'
|
|
retries: 10
|
|
delay: 5
|
|
run_once: True
|