Use single NovaLibvirtNetwork to configure instance console components

Nova vnc configuration right now uses NovaVncProxyNetwork,
NovaLibvirtNetwork and NovaApiNetwork to configure the different
components (novnc proxy, nova-compute and libvirt) for vnc.
If one of the networks get changed from internal_api, the service
configuration between libvirt, nova-compute and novnc proxy gets
inconsistent and the console is broken.
This changed to just use NovaLibvirtNetwork for configuring the vnc
endpoints and removes NovaVncProxyNetwork completely.

Change-Id: Icef2481b65b41b524ad44eeecfbee4451006e1d2
Closes-Bug: #1917719
This commit is contained in:
Martin Schuppert 2021-03-04 08:26:58 +01:00
parent 97016b2012
commit dadf71fcae
5 changed files with 19 additions and 16 deletions

View File

@ -1103,7 +1103,7 @@ outputs:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
$NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
nova::compute::vncproxy_host: {get_param: [EndpointMap, NovaPublic, host_nobrackets]}
nova::vncproxy::common::vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyCellPublic, protocol]}
nova::vncproxy::common::vncproxy_host: {get_param: [EndpointMap, NovaVNCProxyCellPublic, host_nobrackets]}

View File

@ -101,13 +101,7 @@ outputs:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK:
get_param:
- ServiceNetMap
- str_replace:
template: "ROLENAMEHostnameResolveNetwork"
params:
ROLENAME: {get_param: RoleName}
$NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
cold_migration_ssh_inbound_addr:
str_replace:
template:

View File

@ -195,7 +195,7 @@ outputs:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
$NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
-
if:
- use_tls_for_vnc
@ -301,10 +301,10 @@ outputs:
- use_tls_for_vnc
-
- service: libvirt-vnc
network: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
network: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
type: node
- service: novnc-proxy
network: {get_param: [ServiceNetMap, NovaApiNetwork]}
network: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
type: node
- null
deploy_steps_tasks:
@ -340,12 +340,12 @@ outputs:
str_replace:
template: "{{fqdn_NETWORK}}"
params:
NETWORK: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
principal:
str_replace:
template: "libvirt-vnc/{{fqdn_NETWORK}}@{{idm_realm}}"
params:
NETWORK: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
key_size:
if:
- key_size_libvirtvnc_override_unset
@ -357,12 +357,12 @@ outputs:
str_replace:
template: "{{fqdn_$NETWORK}}"
params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
$NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
principal:
str_replace:
template: "novnc-proxy/{{fqdn_$NETWORK}}@{{idm_realm}}"
params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
$NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
run_after: |
container_name=$({{container_cli}} ps --format=\{\{.Names\}\} | grep nova_vnc_proxy)
service_crt="/etc/pki/tls/certs/novnc-proxy.crt"

View File

@ -56,7 +56,6 @@ parameters:
NovaApiNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
PlacementNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
NovaMetadataNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
NovaVncProxyNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
NovaLibvirtNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
NovajoinNetwork: {{ _service_nets.get('internal_api', 'ctlplane') }}
SwiftStorageNetwork: {{ _service_nets.get('storage_mgmt', 'ctlplane') }}

View File

@ -0,0 +1,10 @@
---
fixes:
- |
Nova vnc configuration right now uses NovaVncProxyNetwork, NovaLibvirtNetwork
and NovaApiNetwork to configure the different components (novnc proxy,
nova-compute and libvirt) for vnc. If one of the networks get changed from
internal_api, the service configuration between libvirt, nova-compute and
novnc proxy gets inconsistent and the console is broken.
This changed to just use NovaLibvirtNetwork for configuring the vnc endpoints
and removes NovaVncProxyNetwork completely.