Nova: Use endpoint lookups for NoVNC proxy

This PS updates nova to use endpoint lookups for the nova VNC proxy.
This enables the proxy to be accessed from outside the openstack
namespace and the cluster via its FQDN and also brings it inline
with other services.

Addtionally some spacing issues are resolved in the nova etc configmap
to make them consistent across all charts.

Change-Id: Ie93420d6a19915bee2750fbe7fd4c21fc0641ee8
This commit is contained in:
intlabs 2017-10-13 00:24:14 -05:00
parent c699614b2d
commit 27d336ef7a
3 changed files with 29 additions and 12 deletions

View File

@ -18,10 +18,10 @@ limitations under the License.
{{- $envAll := . }}
{{- if empty .Values.conf.nova.keystone_authtoken.auth_uri -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.nova.keystone_authtoken "auth_uri" | quote | trunc 0 -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.keystone_authtoken "auth_uri" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.keystone_authtoken.auth_url -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.nova.keystone_authtoken "auth_url" | quote | trunc 0 -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.keystone_authtoken "auth_url" | quote | trunc 0 -}}
{{- end -}}
# Set a random string as secret key.
@ -53,11 +53,11 @@ limitations under the License.
{{- end -}}
{{- if empty .Values.conf.nova.database.connection -}}
{{- tuple "oslo_db" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup"| set .Values.conf.nova.database "connection" | quote | trunc 0 -}}
{{- tuple "oslo_db" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.database "connection" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.api_database.connection -}}
{{- tuple "oslo_db_api" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup"| set .Values.conf.nova.api_database "connection" | quote | trunc 0 -}}
{{- tuple "oslo_db_api" "internal" "user" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.api_database "connection" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.DEFAULT.transport_url -}}
@ -65,15 +65,15 @@ limitations under the License.
{{- end -}}
{{- if empty .Values.conf.nova.glance.api_servers -}}
{{- tuple "image" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.nova.glance "api_servers" | quote | trunc 0 -}}
{{- tuple "image" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.glance "api_servers" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.neutron.url -}}
{{- tuple "network" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.nova.neutron "url" | quote | trunc 0 -}}
{{- tuple "network" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.neutron "url" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.neutron.auth_url -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.nova.neutron "auth_url" | quote | trunc 0 -}}
{{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.neutron "auth_url" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.neutron.region_name -}}
@ -107,6 +107,14 @@ limitations under the License.
{{- tuple "compute_metadata" "public" "metadata" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.nova.DEFAULT "metadata_port" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.vnc.novncproxy_base_url -}}
{{- tuple "compute_novnc_proxy" "public" "novnc_proxy" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.vnc "novncproxy_base_url" | quote | trunc 0 -}}
{{- end -}}
{{- if empty .Values.conf.nova.vnc.novncproxy_port -}}
{{- tuple "compute_novnc_proxy" "internal" "novnc_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.nova.vnc "novncproxy_port" | quote | trunc 0 -}}
{{- end -}}
---
apiVersion: v1
kind: ConfigMap

View File

@ -21,7 +21,7 @@ limitations under the License.
apiVersion: v1
kind: Service
metadata:
name: nova-novncproxy
name: {{ tuple "compute_novnc_proxy" "internal" . | include "helm-toolkit.endpoints.hostname_short_endpoint_lookup" }}
spec:
ports:
- name: nova-novncproxy

View File

@ -120,7 +120,6 @@ network:
enabled: false
port: 30775
novncproxy:
name: "nova-novncproxy"
node_port:
enabled: false
port: 36080
@ -945,12 +944,9 @@ conf:
notify_on_state_change: vm_and_task_state
vnc:
novncproxy_host: 0.0.0.0
novncproxy_port: 6080
vncserver_listen: 0.0.0.0
# leave blank, this should be set by each compute nodes's ip
vncserver_proxyclient_address: null
# set management or lb address
novncproxy_base_url: http://nova-novncproxy:6080/vnc_auto.html
conductor:
workers: 1
oslo_policy:
@ -1157,6 +1153,19 @@ endpoints:
metadata:
default: 8775
public: 80
compute_novnc_proxy:
name: nova
hosts:
default: nova-novncproxy
host_fqdn_override:
default: null
path:
default: /vnc_auto.html
scheme:
default: 'http'
port:
novnc_proxy:
default: 6080
network:
name: neutron
hosts: