From 10720351e40e543033a161d85b06bbe1945d9e0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Lemoine?= Date: Thu, 10 Mar 2016 07:05:50 -0800 Subject: [PATCH] Fix OpenStack services registration TrivialFix Change-Id: Iba15764f6544ea5e813888a137e63319e951ed00 --- config/all.yml | 23 +++++----- config/cinder/defaults/main.yml | 8 ++-- config/glance/defaults/main.yml | 8 ++-- config/keystone/defaults/main.yml | 9 ++-- config/keystone/templates/keystone.conf.j2 | 2 - config/neutron/defaults/main.yml | 8 ++-- config/nova/defaults/main.yml | 8 ++-- config/nova/templates/nova.conf.j2 | 2 +- etc/passwords.yml | 1 - services/cinder/cinder-api.yml.j2 | 2 +- services/cinder/cinder-backup.yml.j2 | 2 +- services/cinder/cinder-init.yml.j2 | 6 +-- services/cinder/cinder-scheduler.yml.j2 | 2 +- services/cinder/cinder-volume.yml.j2 | 2 +- services/glance/glance-init.yml.j2 | 49 ++++++++++++++++---- services/glance/glance-registry.yml.j2 | 2 +- services/keystone/keystone-api.yml.j2 | 7 +++ services/keystone/keystone-init.yml.j2 | 53 +--------------------- services/neutron/neutron-init.yml.j2 | 47 ++++++++++++++++--- services/nova/nova-compute.yml.j2 | 2 +- services/nova/nova-init.yml.j2 | 43 +++++++++++++++--- 21 files changed, 168 insertions(+), 118 deletions(-) diff --git a/config/all.yml b/config/all.yml index bd1b7ac0..1a8a1445 100644 --- a/config/all.yml +++ b/config/all.yml @@ -145,22 +145,21 @@ glance_api_host: "glance-api-glance-api-openstack-{{ deployment_id }}.{{ maratho cinder_api_host: "cinder-api-cinder-openstack-{{ deployment_id }}.{{ marathon_framework }}.{{ mesos_dns_domain }}" nova_api_host: "nova-api-nova-openstack-{{ deployment_id }}.{{ marathon_framework }}.{{ mesos_dns_domain }}" + +#################### +# OpenStack auth +#################### # Openstack authentication string. You should only need to override these if you # are changing the admin tenant/project or user. -openstack_auth: - auth_url: "http://{{ keystone_auth_host }}:{{ keystone_admin_port }}" - username: "admin" - password: "{{ keystone_admin_password }}" - project_name: "admin" +openstack_auth_url: "http://{{ keystone_auth_host }}:{{ keystone_admin_port }}" +openstack_username: "admin" +openstack_password: "{{ keystone_admin_password }}" +openstack_project_name: "admin" -# This shouldn't be needed for long. It is only temporary until we get the -# ansible modules sorted out -openstack_auth_v2: - auth_url: "http://{{ keystone_auth_host }}:{{ keystone_admin_port }}/v2.0" - username: "admin" - password: "{{ keystone_admin_password }}" - project_name: "admin" +#################### +# OpenStack services +#################### # Core services are required for Kolla to be operation. enable_mariadb: "yes" enable_keystone: "yes" diff --git a/config/cinder/defaults/main.yml b/config/cinder/defaults/main.yml index 1f4a6835..8ad970f0 100644 --- a/config/cinder/defaults/main.yml +++ b/config/cinder/defaults/main.yml @@ -54,16 +54,16 @@ cinder_data_image_full: "{{ cinder_data_image }}:{{ cinder_data_image_tag }}" #################### # Openstack #################### -cinder_public_address: "{{ kolla_external_address }}" -cinder_admin_address: "{{ kolla_internal_address }}" -cinder_internal_address: "{{ kolla_internal_address }}" +cinder_public_endpoint: "{{ cinder_api_host }}:{{ cinder_api_port }}" +cinder_admin_endpoint: "{{ cinder_api_host }}:{{ cinder_api_port }}" +cinder_internal_endpoint: "{{ cinder_api_host }}:{{ cinder_api_port }}" cinder_logging_verbose: "{{ openstack_logging_verbose }}" cinder_logging_debug: "{{ openstack_logging_debug }}" cinder_keystone_user: "cinder" -openstack_cinder_auth: "{'auth_url':'{{ openstack_auth_v2.auth_url }}','username':'{{ openstack_auth_v2.username }}','password':'{{ openstack_auth_v2.password }}','project_name':'{{ openstack_auth_v2.project_name }}'}" +openstack_cinder_auth: "{'auth_url':'{{ openstack_auth_url }}','username':'{{ openstack_username }}','password':'{{ openstack_password }}','project_name':'{{ openstack_project_name }}'}" #################### diff --git a/config/glance/defaults/main.yml b/config/glance/defaults/main.yml index e607a5a5..5197d043 100644 --- a/config/glance/defaults/main.yml +++ b/config/glance/defaults/main.yml @@ -36,16 +36,16 @@ glance_api_image_full: "{{ glance_api_image }}:{{ glance_api_tag }}" #################### # Openstack #################### -glance_public_address: "{{ kolla_external_address }}" -glance_admin_address: "{{ kolla_internal_address }}" -glance_internal_address: "{{ kolla_internal_address }}" +glance_admin_endpoint: "http://{{ glance_api_host }}:{{ glance_api_port }}" +glance_internal_endpoint: "http://{{ glance_api_host }}:{{ glance_api_port }}" +glance_public_endpoint: "http://{{ glance_api_host }}:{{ glance_api_port }}" glance_logging_verbose: "{{ openstack_logging_verbose }}" glance_logging_debug: "{{ openstack_logging_debug }}" glance_keystone_user: "glance" -openstack_glance_auth: "{'auth_url':'{{ openstack_auth_v2.auth_url }}','username':'{{ openstack_auth_v2.username }}','password':'{{ openstack_auth_v2.password }}','project_name':'{{ openstack_auth_v2.project_name }}'}" +openstack_glance_auth: "{'auth_url':'{{ openstack_auth_url }}','username':'{{ openstack_username }}','password':'{{ openstack_password }}','project_name':'{{ openstack_project_name }}','domain_name':'default'}" glance_registry_host: "glance-registry-glance-registry-openstack-{{ deployment_id }}.{{ marathon_framework }}.{{ mesos_dns_domain }}" diff --git a/config/keystone/defaults/main.yml b/config/keystone/defaults/main.yml index 1346d4fd..ba8b8428 100644 --- a/config/keystone/defaults/main.yml +++ b/config/keystone/defaults/main.yml @@ -20,15 +20,14 @@ keystone_tag: "{{ openstack_release }}" #################### # Openstack #################### -keystone_public_address: "{{ kolla_external_address }}" -keystone_admin_address: "{{ kolla_internal_address }}" -keystone_internal_address: "{{ kolla_internal_address }}" +keystone_admin_endpoint: "http://{{ keystone_auth_host }}:{{ keystone_admin_port }}/v3" +keystone_internal_endpoint: "http://{{ keystone_auth_host }}:{{ keystone_public_port }}/v3" +keystone_public_endpoint: "http://{{ keystone_auth_host }}:{{ keystone_public_port }}/v3" keystone_logging_verbose: "{{ openstack_logging_verbose }}" keystone_logging_debug: "{{ openstack_logging_debug }}" -openstack_keystone_auth: "{'auth_url':'{{ openstack_auth_v2.auth_url }}','username':'{{ openstack_auth_v2.username }}','password':'{{ openstack_auth_v2.password }}','project_name':'{{ openstack_auth_v2.project_name }}'}" -openstack_keystone_token_auth: "{'endpoint':'{{ openstack_auth_v2.auth_url }}','token':'{{ keystone_admin_token }}'}" +openstack_keystone_auth: "{'auth_url':'{{ openstack_auth_url }}','username':'{{ openstack_username }}','password':'{{ openstack_password }}','project_name':'{{ openstack_project_name }}'}" #################### diff --git a/config/keystone/templates/keystone.conf.j2 b/config/keystone/templates/keystone.conf.j2 index 26955a1f..9532ad72 100644 --- a/config/keystone/templates/keystone.conf.j2 +++ b/config/keystone/templates/keystone.conf.j2 @@ -3,7 +3,5 @@ debug = {{ keystone_logging_debug }} use_syslog = {{ openstack_use_syslog }} use_stderr = {{ openstack_use_stderr }} -admin_token = {{ keystone_admin_token }} - [database] connection = mysql+pymysql://{{ keystone_database_user }}:{{ keystone_database_password }}@{{ keystone_database_address }}/{{ keystone_database_name }} diff --git a/config/neutron/defaults/main.yml b/config/neutron/defaults/main.yml index e6321dfb..dc11b9b9 100644 --- a/config/neutron/defaults/main.yml +++ b/config/neutron/defaults/main.yml @@ -48,9 +48,9 @@ openvswitch_db_image_full: "{{ openvswitch_db_image }}:{{ openvswitch_db_tag }}" #################### # Openstack #################### -neutron_public_address: "{{ kolla_external_address }}" -neutron_admin_address: "{{ kolla_internal_address }}" -neutron_internal_address: "{{ kolla_internal_address }}" +neutron_admin_endpoint: "http://{{ neutron_server_host }}:{{ neutron_server_port }}" +neutron_internal_endpoint: "http://{{ neutron_server_host }}:{{ neutron_server_port }}" +neutron_public_endpoint: "http://{{ neutron_server_host }}:{{ neutron_server_port }}" neutron_logging_verbose: "{{ openstack_logging_verbose }}" neutron_logging_debug: "{{ openstack_logging_debug }}" @@ -59,7 +59,7 @@ neutron_keystone_user: "neutron" neutron_bridge_name: "br-ex" -openstack_neutron_auth: "{'auth_url':'{{ openstack_auth_v2.auth_url }}','username':'{{ openstack_auth_v2.username }}','password':'{{ openstack_auth_v2.password }}','project_name':'{{ openstack_auth_v2.project_name }}'}" +openstack_neutron_auth: "{'auth_url':'{{ openstack_auth_url }}','username':'{{ openstack_username }}','password':'{{ openstack_password }}','project_name':'{{ openstack_project_name }}'}" nova_api_host: "nova-api-nova-openstack-{{ deployment_id }}.{{ marathon_framework }}.{{ mesos_dns_domain }}" diff --git a/config/nova/defaults/main.yml b/config/nova/defaults/main.yml index 79db212e..b18c719c 100644 --- a/config/nova/defaults/main.yml +++ b/config/nova/defaults/main.yml @@ -68,16 +68,16 @@ nova_compute_ironic_image_full: "{{ nova_compute_ironic_image }}:{{ nova_compute #################### # Openstack #################### -nova_public_address: "{{ kolla_external_address }}" -nova_admin_address: "{{ kolla_internal_address }}" -nova_internal_address: "{{ kolla_internal_address }}" +nova_admin_endpoint: "http://{{ nova_api_host }}:{{ nova_api_port }}/v2/%(tenant_id)s" +nova_internal_endpoint: "http://{{ nova_api_host }}:{{ nova_api_port }}/v2/%(tenant_id)s" +nova_public_endpoint: "http://{{ nova_api_host }}:{{ nova_api_port }}/v2/%(tenant_id)s" nova_logging_verbose: "{{ openstack_logging_verbose }}" nova_logging_debug: "{{ openstack_logging_debug }}" nova_keystone_user: "nova" -openstack_nova_auth: "{'auth_url':'{{ openstack_auth_v2.auth_url }}','username':'{{ openstack_auth_v2.username }}','password':'{{ openstack_auth_v2.password }}','project_name':'{{ openstack_auth_v2.project_name }}'}" +openstack_nova_auth: "{'auth_url':'{{ openstack_auth_url }}','username':'{{ openstack_username }}','password':'{{ openstack_password }}','project_name':'{{ openstack_project_name }}'}" nova_novncproxy_host: "nova-novncproxy-nova-openstack-{{ deployment_id }}.{{ marathon_framework }}.{{ mesos_dns_domain }}" nova_spicehtml5proxy_host: "nova-spicehtml5proxy-nova-openstack-{{ deployment_id }}.{{ marathon_framework }}.{{ mesos_dns_domain }}" diff --git a/config/nova/templates/nova.conf.j2 b/config/nova/templates/nova.conf.j2 index 87637e5e..a24bcba4 100644 --- a/config/nova/templates/nova.conf.j2 +++ b/config/nova/templates/nova.conf.j2 @@ -79,7 +79,7 @@ html5proxy_port = {{ nova_spicehtml5proxy_port }} #(TODO) remember to update this once discoverd is replaced by inspector admin_username = {{ ironic_keystone_user }} admin_password = {{ ironic_keystone_password }} -admin_url = {{ openstack_auth_v2.auth_url }} +admin_url = {{ openstack_auth_url }} admin_tenant_name = service api_endpoint = http://{{ kolla_internal_address }}:{{ ironic_api_port }}/v1 {% endif %} diff --git a/etc/passwords.yml b/etc/passwords.yml index 050ec208..3ccfe37f 100644 --- a/etc/passwords.yml +++ b/etc/passwords.yml @@ -25,7 +25,6 @@ docker_registry_password: #################### # Openstack options #################### -keystone_admin_token: "password" keystone_admin_password: "password" keystone_database_password: "password" diff --git a/services/cinder/cinder-api.yml.j2 b/services/cinder/cinder-api.yml.j2 index 4017e6b1..cd27d6c5 100644 --- a/services/cinder/cinder-api.yml.j2 +++ b/services/cinder/cinder-api.yml.j2 @@ -9,7 +9,7 @@ service: daemon: dependencies: - path: cinder_ansible_tasks/create_user - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon - path: rabbitmq/daemon - path: cinder-api/db_sync command: /usr/bin/cinder-api diff --git a/services/cinder/cinder-backup.yml.j2 b/services/cinder/cinder-backup.yml.j2 index 83a516fc..8026af6f 100644 --- a/services/cinder/cinder-backup.yml.j2 +++ b/services/cinder/cinder-backup.yml.j2 @@ -9,7 +9,7 @@ service: daemon: dependencies: - path: cinder_ansible_tasks/create_user - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon - path: rabbitmq/daemon command: /usr/bin/cinder-backup files: diff --git a/services/cinder/cinder-init.yml.j2 b/services/cinder/cinder-init.yml.j2 index 90a2b991..7f2f6fdb 100644 --- a/services/cinder/cinder-init.yml.j2 +++ b/services/cinder/cinder-init.yml.j2 @@ -39,7 +39,7 @@ commands: run_once: True dependencies: - path: cinder-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_service -a "service_name=cinder @@ -56,7 +56,7 @@ commands: run_once: True dependencies: - path: cinder-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_service -a "service_name=cinderv2 @@ -73,7 +73,7 @@ commands: run_once: True dependencies: - path: cinder-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_user -a "project=service diff --git a/services/cinder/cinder-scheduler.yml.j2 b/services/cinder/cinder-scheduler.yml.j2 index 076deef5..dadb432d 100644 --- a/services/cinder/cinder-scheduler.yml.j2 +++ b/services/cinder/cinder-scheduler.yml.j2 @@ -9,7 +9,7 @@ service: daemon: dependencies: - path: cinder_ansible_tasks/create_user - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon - path: rabbitmq/daemon command: /usr/bin/cinder-scheduler files: diff --git a/services/cinder/cinder-volume.yml.j2 b/services/cinder/cinder-volume.yml.j2 index 57a66c2e..65e4a45b 100644 --- a/services/cinder/cinder-volume.yml.j2 +++ b/services/cinder/cinder-volume.yml.j2 @@ -9,7 +9,7 @@ service: daemon: dependencies: - path: cinder_ansible_tasks/create_user - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon - path: rabbitmq/daemon command: /usr/bin/cinder-volume files: diff --git a/services/glance/glance-init.yml.j2 b/services/glance/glance-init.yml.j2 index 3a070c6e..e68f9e61 100644 --- a/services/glance/glance-init.yml.j2 +++ b/services/glance/glance-init.yml.j2 @@ -32,20 +32,51 @@ commands: host='%' priv='{{ glance_database_name }}.*:ALL' append_privs='yes'" - register_endpoint: + register_admin_endpoint: run_once: True dependencies: - path: glance-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_service -a "service_name=glance service_type=image description='Openstack Image' endpoint_region={{ openstack_region_name }} - admin_url='http://{{ glance_api_host }}:{{ glance_api_port }}' - internal_url='http://{{ glance_api_host }}:{{ glance_api_port }}' - public_url='http://{{ glance_api_host }}:{{ glance_api_port }}' + url='{{ glance_admin_endpoint }}' + interface=admin + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_glance_auth }}' }}" + -e "{'openstack_glance_auth':{{ openstack_glance_auth }}}" + register_internal_endpoint: + run_once: True + dependencies: + - path: glance-api/db_sync + - path: keystone-api/daemon + command: {{ ansible_task_cmd }} + -m kolla_keystone_service + -a "service_name=glance + service_type=image + description='Openstack Image' + endpoint_region={{ openstack_region_name }} + url='{{ glance_internal_endpoint }}' + interface=internal + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_glance_auth }}' }}" + -e "{'openstack_glance_auth':{{ openstack_glance_auth }}}" + register_public_endpoint: + run_once: True + dependencies: + - path: glance-api/db_sync + - path: keystone-api/daemon + command: {{ ansible_task_cmd }} + -m kolla_keystone_service + -a "service_name=glance + service_type=image + description='Openstack Image' + endpoint_region={{ openstack_region_name }} + url='{{ glance_public_endpoint }}' + interface=public region_name={{ openstack_region_name }} auth={{ '{{ openstack_glance_auth }}' }}" -e "{'openstack_glance_auth':{{ openstack_glance_auth }}}" @@ -53,7 +84,7 @@ commands: run_once: True dependencies: - path: glance-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_user -a "project=service @@ -67,8 +98,10 @@ commands: run_once: True dependencies: - path: glance-api/db_sync - - path: glance_ansible_tasks/register_endpoint - - path: keystone_ansible_tasks/running + - path: glance_ansible_tasks/register_admin_endpoint + - path: glance_ansible_tasks/register_internal_endpoint + - path: glance_ansible_tasks/register_public_endpoint + - path: keystone-api/daemon retries: 10 delay: 5 command: {{ ansible_task_cmd }} diff --git a/services/glance/glance-registry.yml.j2 b/services/glance/glance-registry.yml.j2 index c87feb9b..1057fa45 100644 --- a/services/glance/glance-registry.yml.j2 +++ b/services/glance/glance-registry.yml.j2 @@ -9,7 +9,7 @@ service: daemon: dependencies: - path: glance_ansible_tasks/create_user - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: glance-registry files: glance.conf.j2: diff --git a/services/keystone/keystone-api.yml.j2 b/services/keystone/keystone-api.yml.j2 index e9d92e71..e6d63617 100644 --- a/services/keystone/keystone-api.yml.j2 +++ b/services/keystone/keystone-api.yml.j2 @@ -50,3 +50,10 @@ commands: dest: /etc/keystone/keystone.conf owner: keystone perm: "0600" + bootstrap: + run_once: True + retries: 10 + delay: 5 + dependencies: + - path: keystone-api/db_sync + command: kolla_keystone_bootstrap {{ openstack_username }} {{ openstack_password }} {{ openstack_project_name }} admin {{ keystone_admin_endpoint }} {{ keystone_internal_endpoint }} {{ keystone_public_endpoint }} {{ openstack_region_name }} diff --git a/services/keystone/keystone-init.yml.j2 b/services/keystone/keystone-init.yml.j2 index e9562cd2..fdab1e26 100644 --- a/services/keystone/keystone-init.yml.j2 +++ b/services/keystone/keystone-init.yml.j2 @@ -38,55 +38,4 @@ commands: password='{{ keystone_database_password }}' host='%' priv='{{ keystone_database_name }}.*:ALL' - append_privs='yes'" - admin_creds: - run_once: True - retries: 3 - delay: 5 - dependencies: - - path: keystone-api/db_sync - command: {{ ansible_task_cmd }} - -m kolla_keystone_user - -a "project=admin - user=admin - password={{ keystone_admin_password }} - role=admin - region_name={{ openstack_region_name }} - auth_type=admin_token - auth={{ '{{ openstack_keystone_token_auth }}' }}" - -e "{'openstack_keystone_token_auth':{{ openstack_keystone_token_auth }}}" - register_endpoint: - run_once: True - retries: 3 - delay: 5 - dependencies: - - path: keystone-api/db_sync - command: {{ ansible_task_cmd }} - -m kolla_keystone_service - -a "service_name=keystone - service_type=identity - description='Openstack Identity' - endpoint_region={{ openstack_region_name }} - admin_url='http://{{ keystone_auth_host }}:{{ keystone_admin_port }}' - internal_url='http://{{ keystone_auth_host }}:{{ keystone_admin_port }}' - public_url='http://{{ keystone_auth_host }}:{{ keystone_public_port }}' - region_name={{ openstack_region_name }} - auth_type=admin_token - auth={{ '{{ openstack_keystone_token_auth }}' }}" - -e "{'openstack_keystone_token_auth':{{ openstack_keystone_token_auth }}}" - running: - run_once: True - retries: 10 - delay: 5 - dependencies: - - path: keystone-api/db_sync - command: {{ ansible_task_cmd }} - -m kolla_sanity - -a "service=keystone - project=service - user=admin - password={{ keystone_admin_password }} - role=admin - region_name={{ openstack_region_name }} - auth={{ '{{ openstack_keystone_auth }}' }}" - -e "{'openstack_keystone_auth':{{ openstack_keystone_auth }}}" + append_privs='yes'" \ No newline at end of file diff --git a/services/neutron/neutron-init.yml.j2 b/services/neutron/neutron-init.yml.j2 index 1e0a56c3..328b49f8 100644 --- a/services/neutron/neutron-init.yml.j2 +++ b/services/neutron/neutron-init.yml.j2 @@ -36,22 +36,57 @@ commands: host='%' priv='{{ neutron_database_name }}.*:ALL' append_privs='yes'" - register_endpoint: + register_admin_endpoint: run_once: True retries: 3 delay: 5 dependencies: - path: neutron-server/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_service -a "service_name=neutron service_type=network description='Openstack Networking' endpoint_region={{ openstack_region_name }} - admin_url='http://{{ neutron_server_host }}:{{ neutron_server_port }}' - internal_url='http://{{ neutron_server_host }}:{{ neutron_server_port }}' - public_url='http://{{ neutron_server_host }}:{{ neutron_server_port }}' + url='{{ neutron_admin_endpoint }}' + interface=admin + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_neutron_auth }}' }}" + -e "{'openstack_neutron_auth':{{ openstack_neutron_auth }}}" + register_internal_endpoint: + run_once: True + retries: 3 + delay: 5 + dependencies: + - path: neutron-server/db_sync + - path: keystone-api/daemon + command: {{ ansible_task_cmd }} + -m kolla_keystone_service + -a "service_name=neutron + service_type=network + description='Openstack Networking' + endpoint_region={{ openstack_region_name }} + url='{{ neutron_internal_endpoint }}' + interface=internal + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_neutron_auth }}' }}" + -e "{'openstack_neutron_auth':{{ openstack_neutron_auth }}}" + register_public_endpoint: + run_once: True + retries: 3 + delay: 5 + dependencies: + - path: neutron-server/db_sync + - path: keystone-api/daemon + command: {{ ansible_task_cmd }} + -m kolla_keystone_service + -a "service_name=neutron + service_type=network + description='Openstack Networking' + endpoint_region={{ openstack_region_name }} + url='{{ neutron_public_endpoint }}' + interface=public region_name={{ openstack_region_name }} auth={{ '{{ openstack_neutron_auth }}' }}" -e "{'openstack_neutron_auth':{{ openstack_neutron_auth }}}" @@ -61,7 +96,7 @@ commands: delay: 5 dependencies: - path: neutron-server/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_user -a "project=service diff --git a/services/nova/nova-compute.yml.j2 b/services/nova/nova-compute.yml.j2 index 1eee1e0b..d26de8ed 100644 --- a/services/nova/nova-compute.yml.j2 +++ b/services/nova/nova-compute.yml.j2 @@ -29,7 +29,7 @@ service: - path: nova-libvirt/daemon scope: local - path: nova_ansible_tasks/create_user - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon - path: nova-compute/bootstrap command: nova-compute --config-file /etc/nova/nova.conf --config-file /etc/nova/nova-override.conf files: diff --git a/services/nova/nova-init.yml.j2 b/services/nova/nova-init.yml.j2 index 760a1d3b..c981c88b 100644 --- a/services/nova/nova-init.yml.j2 +++ b/services/nova/nova-init.yml.j2 @@ -58,20 +58,51 @@ commands: host='%' priv='{{ nova_api_database_name }}.*:ALL' append_privs='yes'" - register_endpoint: + register_admin_endpoint: run_once: True dependencies: - path: nova-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_service -a "service_name=nova service_type=compute description='Openstack Compute' endpoint_region={{ openstack_region_name }} - admin_url='http://{{ nova_api_host }}:{{ nova_api_port }}/v2/%(tenant_id)s' - internal_url='http://{{ nova_api_host }}:{{ nova_api_port }}/v2/%(tenant_id)s' - public_url='http://{{ nova_api_host }}:{{ nova_api_port }}/v2/%(tenant_id)s' + url='{{ nova_admin_endpoint }}' + interface=admin + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_nova_auth }}' }}" + -e "{'openstack_nova_auth':{{ openstack_nova_auth }}}" + register_internal_endpoint: + run_once: True + dependencies: + - path: nova-api/db_sync + - path: keystone-api/daemon + command: {{ ansible_task_cmd }} + -m kolla_keystone_service + -a "service_name=nova + service_type=compute + description='Openstack Compute' + endpoint_region={{ openstack_region_name }} + url='{{ nova_internal_endpoint }}' + interface=internal + region_name={{ openstack_region_name }} + auth={{ '{{ openstack_nova_auth }}' }}" + -e "{'openstack_nova_auth':{{ openstack_nova_auth }}}" + register_public_endpoint: + run_once: True + dependencies: + - path: nova-api/db_sync + - path: keystone-api/daemon + command: {{ ansible_task_cmd }} + -m kolla_keystone_service + -a "service_name=nova + service_type=compute + description='Openstack Compute' + endpoint_region={{ openstack_region_name }} + url='{{ nova_public_endpoint }}' + interface=public region_name={{ openstack_region_name }} auth={{ '{{ openstack_nova_auth }}' }}" -e "{'openstack_nova_auth':{{ openstack_nova_auth }}}" @@ -79,7 +110,7 @@ commands: run_once: True dependencies: - path: nova-api/db_sync - - path: keystone_ansible_tasks/running + - path: keystone-api/daemon command: {{ ansible_task_cmd }} -m kolla_keystone_user -a "project=service