diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index e5f5c69a9a..b53e135f18 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -272,11 +272,21 @@ murano_api_port: "8082" neutron_server_port: "9696" +nova_internal_fqdn: "{{ kolla_internal_fqdn }}" +nova_external_fqdn: "{{ kolla_external_fqdn }}" nova_api_port: "8774" +nova_api_listen_port: "{{ nova_api_port }}" nova_metadata_port: "8775" +nova_metadata_listen_port: "{{ nova_metadata_port }}" +nova_novncproxy_fqdn: "{{ kolla_external_fqdn }}" nova_novncproxy_port: "6080" +nova_novncproxy_listen_port: "{{ nova_novncproxy_port }}" +nova_spicehtml5proxy_fqdn: "{{ kolla_external_fqdn }}" nova_spicehtml5proxy_port: "6082" +nova_spicehtml5proxy_listen_port: "{{ nova_spicehtml5proxy_port }}" +nova_serialproxy_fqdn: "{{ kolla_external_fqdn }}" nova_serialproxy_port: "6083" +nova_serialproxy_listen_port: "{{ nova_serialproxy_port }}" octavia_api_port: "9876" octavia_health_manager_port: "5555" @@ -290,7 +300,10 @@ ovsdb_port: "6640" panko_api_port: "8977" +placement_internal_fqdn: "{{ kolla_internal_fqdn }}" +placement_external_fqdn: "{{ kolla_external_fqdn }}" placement_api_port: "8780" +placement_api_listen_port: "{{ placement_api_port }}" prometheus_port: "9091" prometheus_node_exporter_port: "9100" diff --git a/ansible/roles/neutron/templates/metadata_agent.ini.j2 b/ansible/roles/neutron/templates/metadata_agent.ini.j2 index 944ba1bcfb..981d86c451 100644 --- a/ansible/roles/neutron/templates/metadata_agent.ini.j2 +++ b/ansible/roles/neutron/templates/metadata_agent.ini.j2 @@ -1,6 +1,6 @@ # metadata_agent.ini [DEFAULT] -nova_metadata_host = {{ kolla_internal_fqdn }} +nova_metadata_host = {{ nova_internal_fqdn }} nova_metadata_port = {{ nova_metadata_port }} metadata_proxy_shared_secret = {{ metadata_secret }} diff --git a/ansible/roles/nova/defaults/main.yml b/ansible/roles/nova/defaults/main.yml index 10d6f64c9b..cc35dd4eb4 100644 --- a/ansible/roles/nova/defaults/main.yml +++ b/ansible/roles/nova/defaults/main.yml @@ -53,11 +53,13 @@ nova_services: mode: "http" external: false port: "{{ placement_api_port }}" + listen_port: "{{ placement_api_listen_port }}" placement_api_external: enabled: "{{ enable_nova }}" mode: "http" external: true port: "{{ placement_api_port }}" + listen_port: "{{ placement_api_listen_port }}" nova-api: container_name: "nova_api" group: "nova-api" @@ -77,21 +79,25 @@ nova_services: mode: "http" external: false port: "{{ nova_api_port }}" + listen_port: "{{ nova_api_listen_port }}" nova_api_external: enabled: "{{ enable_nova }}" mode: "http" external: true port: "{{ nova_api_port }}" + listen_port: "{{ nova_api_listen_port }}" nova_metadata: enabled: "{{ enable_nova }}" mode: "http" external: false port: "{{ nova_metadata_port }}" + listen_port: "{{ nova_metadata_listen_port }}" nova_metadata_external: enabled: "{{ enable_nova }}" mode: "http" external: true port: "{{ nova_metadata_port }}" + listen_port: "{{ nova_metadata_listen_port }}" nova_rdp: enabled: "{{ enable_nova|bool and nova_console == 'rdp' }}" mode: "http" @@ -126,6 +132,7 @@ nova_services: mode: "http" external: false port: "{{ nova_novncproxy_port }}" + listen_port: "{{ nova_novncproxy_listen_port }}" backend_http_extra: - "timeout tunnel 1h" nova_novncproxy_external: @@ -133,6 +140,7 @@ nova_services: mode: "http" external: true port: "{{ nova_novncproxy_port }}" + listen_port: "{{ nova_novncproxy_listen_port }}" nova-scheduler: container_name: "nova_scheduler" group: "nova-scheduler" @@ -161,11 +169,13 @@ nova_services: mode: "http" external: false port: "{{ nova_spicehtml5proxy_port }}" + listen_port: "{{ nova_spicehtml5proxy_listen_port }}" nova_spicehtml5proxy_external: enabled: "{{ enable_nova|bool and nova_console == 'spice' }}" mode: "http" external: true port: "{{ nova_spicehtml5proxy_port }}" + listen_port: "{{ nova_spicehtml5proxy_listen_port }}" nova-serialproxy: container_name: "nova_serialproxy" group: "nova-serialproxy" @@ -183,6 +193,7 @@ nova_services: mode: "http" external: false port: "{{ nova_serialproxy_port }}" + listen_port: "{{ nova_serialproxy_listen_port }}" backend_http_extra: - "timeout tunnel {{ haproxy_nova_serialconsole_proxy_tunnel_timeout }}" nova_serialconsole_proxy_external: @@ -190,6 +201,7 @@ nova_services: mode: "http" external: true port: "{{ nova_serialproxy_port }}" + listen_port: "{{ nova_serialproxy_listen_port }}" backend_http_extra: - "timeout tunnel {{ haproxy_nova_serialconsole_proxy_tunnel_timeout }}" nova-conductor: @@ -354,17 +366,18 @@ haproxy_nova_serialconsole_proxy_tunnel_timeout: "10m" #################### # OpenStack #################### -nova_legacy_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s" -nova_legacy_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s" -nova_legacy_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s" -nova_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ nova_api_port }}/v2.1/%(tenant_id)s" -nova_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ nova_api_port }}/v2.1/%(tenant_id)s" -nova_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_api_port }}/v2.1/%(tenant_id)s" +nova_legacy_admin_endpoint: "{{ admin_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s" +nova_legacy_internal_endpoint: "{{ internal_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s" +nova_legacy_public_endpoint: "{{ public_protocol }}://{{ nova_external_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s" -placement_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ placement_api_port }}" -placement_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ placement_api_port }}" -placement_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ placement_api_port }}" +nova_admin_endpoint: "{{ admin_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2.1/%(tenant_id)s" +nova_internal_endpoint: "{{ internal_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2.1/%(tenant_id)s" +nova_public_endpoint: "{{ public_protocol }}://{{ nova_external_fqdn }}:{{ nova_api_port }}/v2.1/%(tenant_id)s" + +placement_admin_endpoint: "{{ admin_protocol }}://{{ placement_internal_fqdn }}:{{ placement_api_port }}" +placement_internal_endpoint: "{{ internal_protocol }}://{{ placement_internal_fqdn }}:{{ placement_api_port }}" +placement_public_endpoint: "{{ public_protocol }}://{{ placement_external_fqdn }}:{{ placement_api_port }}" nova_logging_debug: "{{ openstack_logging_debug }}" diff --git a/ansible/roles/nova/tasks/precheck.yml b/ansible/roles/nova/tasks/precheck.yml index 2cc6065679..d20fbb74b2 100644 --- a/ansible/roles/nova/tasks/precheck.yml +++ b/ansible/roles/nova/tasks/precheck.yml @@ -26,7 +26,7 @@ nova_api: "{{ nova_services['nova-api'] }}" wait_for: host: "{{ api_interface_address }}" - port: "{{ nova_api_port }}" + port: "{{ nova_api_listen_port }}" connect_timeout: 1 timeout: 1 state: stopped @@ -40,7 +40,7 @@ nova_api: "{{ nova_services['nova-api'] }}" wait_for: host: "{{ api_interface_address }}" - port: "{{ nova_metadata_port }}" + port: "{{ nova_metadata_listen_port }}" connect_timeout: 1 timeout: 1 state: stopped @@ -54,7 +54,7 @@ nova_novncproxy: "{{ nova_services['nova-novncproxy'] }}" wait_for: host: "{{ api_interface_address }}" - port: "{{ nova_novncproxy_port }}" + port: "{{ nova_novncproxy_listen_port }}" connect_timeout: 1 timeout: 1 state: stopped @@ -68,7 +68,7 @@ nova_serialproxy: "{{ nova_services['nova-serialproxy'] }}" wait_for: host: "{{ api_interface_address }}" - port: "{{ nova_serialproxy_port }}" + port: "{{ nova_serialproxy_listen_port }}" connect_timeout: 1 timeout: 1 state: stopped @@ -82,7 +82,7 @@ nova_spicehtml5proxy: "{{ nova_services['nova-spicehtml5proxy'] }}" wait_for: host: "{{ api_interface_address }}" - port: "{{ nova_spicehtml5proxy_port }}" + port: "{{ nova_spicehtml5proxy_listen_port }}" connect_timeout: 1 timeout: 1 state: stopped @@ -124,7 +124,7 @@ placement_api: "{{ nova_services['placement-api'] }}" wait_for: host: "{{ api_interface_address }}" - port: "{{ placement_api_port }}" + port: "{{ placement_api_listen_port }}" connect_timeout: 1 timeout: 1 state: stopped diff --git a/ansible/roles/nova/templates/nova.conf.j2 b/ansible/roles/nova/templates/nova.conf.j2 index 1a4fb39846..540f25f723 100644 --- a/ansible/roles/nova/templates/nova.conf.j2 +++ b/ansible/roles/nova/templates/nova.conf.j2 @@ -7,12 +7,12 @@ log_dir = /var/log/kolla/nova state_path = /var/lib/nova osapi_compute_listen = {{ api_interface_address }} -osapi_compute_listen_port = {{ nova_api_port }} +osapi_compute_listen_port = {{ nova_api_listen_port }} osapi_compute_workers = {{ openstack_service_workers }} metadata_workers = {{ openstack_service_workers }} metadata_listen = {{ api_interface_address }} -metadata_listen_port = {{ nova_metadata_port }} +metadata_listen_port = {{ nova_metadata_listen_port }} # NOTE(mgoddard): This option has been deprecated but RDO sets a different # default value for it in /usr/share/nova/nova-dist.conf which causes the @@ -74,11 +74,11 @@ workers = {{ openstack_service_workers }} enabled = false {% else %} novncproxy_host = {{ api_interface_address }} -novncproxy_port = {{ nova_novncproxy_port }} +novncproxy_port = {{ nova_novncproxy_listen_port }} server_listen = {{ api_interface_address }} server_proxyclient_address = {{ api_interface_address }} {% if inventory_hostname in groups['compute'] %} -novncproxy_base_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_novncproxy_port }}/vnc_auto.html +novncproxy_base_url = {{ public_protocol }}://{{ nova_novncproxy_fqdn }}:{{ nova_novncproxy_port }}/vnc_auto.html {% endif %} {% endif %} {% elif nova_console == 'spice' %} @@ -90,10 +90,10 @@ enabled = true server_listen = {{ api_interface_address }} server_proxyclient_address = {{ api_interface_address }} {% if inventory_hostname in groups['compute'] %} -html5proxy_base_url = {{ public_protocol }}://{{ kolla_external_fqdn }}:{{ nova_spicehtml5proxy_port }}/spice_auto.html +html5proxy_base_url = {{ public_protocol }}://{{ nova_spicehtml5proxy_fqdn }}:{{ nova_spicehtml5proxy_port }}/spice_auto.html {% endif %} html5proxy_host = {{ api_interface_address }} -html5proxy_port = {{ nova_spicehtml5proxy_port }} +html5proxy_port = {{ nova_spicehtml5proxy_listen_port }} {% elif nova_console == 'none' %} [vnc] enabled = false @@ -103,9 +103,9 @@ enabled = false {% if enable_nova_serialconsole_proxy | bool %} [serial_console] enabled = true -base_url = ws://{{ kolla_external_fqdn }}:{{ nova_serialproxy_port }}/ +base_url = ws://{{ nova_serialproxy_fqdn }}:{{ nova_serialproxy_port }}/ serialproxy_host = {{ api_interface_address }} -serialproxy_port = {{ nova_serialproxy_port }} +serialproxy_port = {{ nova_serialproxy_listen_port }} proxyclient_address = {{ api_interface_address }} {% endif %} diff --git a/ansible/roles/nova/templates/placement-api-wsgi.conf.j2 b/ansible/roles/nova/templates/placement-api-wsgi.conf.j2 index 69a20a57f9..7af2e9ae6c 100644 --- a/ansible/roles/nova/templates/placement-api-wsgi.conf.j2 +++ b/ansible/roles/nova/templates/placement-api-wsgi.conf.j2 @@ -1,13 +1,13 @@ {% set log_dir = '/var/log/kolla/nova' %} {% set python_path = '/usr/lib/python2.7/site-packages' if nova_install_type == 'binary' else '/var/lib/kolla/venv/lib/python2.7/site-packages' %} {% set wsgi_directory = '/usr/bin' if nova_install_type == 'binary' else '/var/lib/kolla/venv/bin' %} -Listen {{ api_interface_address }}:{{ placement_api_port }} +Listen {{ api_interface_address }}:{{ placement_api_listen_port }} ServerSignature Off ServerTokens Prod TraceEnable off -<VirtualHost *:{{ placement_api_port }}> +<VirtualHost *:{{ placement_api_listen_port }}> WSGIDaemonProcess placement-api processes={{ openstack_service_workers }} threads=1 user=nova group=nova display-name=%{GROUP} python-path={{ python_path }} WSGIProcessGroup placement-api WSGIScriptAlias / {{ wsgi_directory }}/nova-placement-api