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.

Conflicts:
 deployment/nova/nova-vnc-proxy-container-puppet.yaml

Added missing change from https://review.opendev.org/c/openstack/tripleo-heat-templates/+/786082

Depends-On: https://review.opendev.org/c/openstack/puppet-tripleo/+/781613

Change-Id: Icef2481b65b41b524ad44eeecfbee4451006e1d2
Closes-Bug: #1917719
(cherry picked from commit dadf71fcae)
(cherry picked from commit 05b191d3e6)
(cherry picked from commit 6c80882f9f)
This commit is contained in:
Martin Schuppert 2021-03-04 08:26:58 +01:00
parent f51632f81d
commit 860a68a4a9
5 changed files with 19 additions and 16 deletions

View File

@ -847,7 +847,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

@ -175,7 +175,7 @@ outputs:
template:
"%{hiera('$NETWORK')}"
params:
$NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
$NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
tripleo::nova_vnc_proxy::firewall_rules:
'137 nova_vnc_proxy':
dport:
@ -214,12 +214,12 @@ outputs:
str_replace:
template: "%{hiera('fqdn_NETWORK')}"
params:
NETWORK: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
principal:
str_replace:
template: "libvirt-vnc/%{hiera('fqdn_NETWORK')}"
params:
NETWORK: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
key_size:
if:
- key_size_libvirtvnc_override_unset
@ -232,12 +232,12 @@ outputs:
str_replace:
template: "%{hiera('fqdn_NETWORK')}"
params:
NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
principal:
str_replace:
template: "novnc-proxy/%{hiera('fqdn_NETWORK')}"
params:
NETWORK: {get_param: [ServiceNetMap, NovaApiNetwork]}
NETWORK: {get_param: [ServiceNetMap, NovaLibvirtNetwork]}
key_size:
if:
- key_size_novavnc_override_unset
@ -324,10 +324,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:

View File

@ -57,7 +57,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') }}
Ec2ApiNetwork: {{ _service_nets.get('internal_api', '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.