From 27d336ef7a050daf0d61d7e49c328f89f5464bec Mon Sep 17 00:00:00 2001 From: intlabs Date: Fri, 13 Oct 2017 00:24:14 -0500 Subject: [PATCH] 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 --- nova/templates/configmap-etc.yaml | 22 +++++++++++++++------- nova/templates/service-novncproxy.yaml | 2 +- nova/values.yaml | 17 +++++++++++++---- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/nova/templates/configmap-etc.yaml b/nova/templates/configmap-etc.yaml index bb1d3dd61b..f970f89ce8 100644 --- a/nova/templates/configmap-etc.yaml +++ b/nova/templates/configmap-etc.yaml @@ -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 diff --git a/nova/templates/service-novncproxy.yaml b/nova/templates/service-novncproxy.yaml index 6327f8720f..b43bb11225 100644 --- a/nova/templates/service-novncproxy.yaml +++ b/nova/templates/service-novncproxy.yaml @@ -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 diff --git a/nova/values.yaml b/nova/values.yaml index cc5a2963e9..d75f49858a 100644 --- a/nova/values.yaml +++ b/nova/values.yaml @@ -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: