{{/* Copyright 2017 The Openstack-Helm Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */}} {{- define "nova.configmap.etc" }} {{- $configMapName := index . 0 }} {{- $envAll := index . 1 }} {{- with $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 -}} {{- 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 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.region_name -}} {{- set .Values.conf.nova.keystone_authtoken "region_name" .Values.endpoints.identity.auth.nova.region_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.project_name -}} {{- set .Values.conf.nova.keystone_authtoken "project_name" .Values.endpoints.identity.auth.nova.project_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.project_domain_name -}} {{- set .Values.conf.nova.keystone_authtoken "project_domain_name" .Values.endpoints.identity.auth.nova.project_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.user_domain_name -}} {{- set .Values.conf.nova.keystone_authtoken "user_domain_name" .Values.endpoints.identity.auth.nova.user_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.username -}} {{- set .Values.conf.nova.keystone_authtoken "username" .Values.endpoints.identity.auth.nova.username | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.password -}} {{- set .Values.conf.nova.keystone_authtoken "password" .Values.endpoints.identity.auth.nova.password | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.memcached_servers -}} {{- tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.nova.keystone_authtoken "memcached_servers" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.keystone_authtoken.memcache_secret_key -}} {{- set .Values.conf.nova.keystone_authtoken "memcache_secret_key" ( default ( randAlphaNum 64 ) .Values.endpoints.oslo_cache.auth.memcache_secret_key ) | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.database.connection -}} {{- tuple "oslo_db" "internal" "nova" "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" "nova" "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.cell0_database.connection -}} {{- tuple "oslo_db_cell0" "internal" "nova" "mysql" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.cell0_database "connection" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.DEFAULT.transport_url -}} {{- tuple "oslo_messaging" "internal" "nova" "amqp" . | include "helm-toolkit.endpoints.authenticated_endpoint_uri_lookup" | set .Values.conf.nova.DEFAULT "transport_url" | quote | trunc 0 -}} {{- 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 -}} {{- 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 -}} {{- 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 -}} {{- end -}} {{- if empty .Values.conf.nova.neutron.region_name -}} {{- set .Values.conf.nova.neutron "region_name" .Values.endpoints.identity.auth.neutron.region_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.neutron.project_name -}} {{- set .Values.conf.nova.neutron "project_name" .Values.endpoints.identity.auth.neutron.project_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.neutron.project_domain_name -}} {{- set .Values.conf.nova.neutron "project_domain_name" .Values.endpoints.identity.auth.neutron.project_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.neutron.user_domain_name -}} {{- set .Values.conf.nova.neutron "user_domain_name" .Values.endpoints.identity.auth.neutron.user_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.neutron.username -}} {{- set .Values.conf.nova.neutron "username" .Values.endpoints.identity.auth.neutron.username | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.neutron.password -}} {{- set .Values.conf.nova.neutron "password" .Values.endpoints.identity.auth.neutron.password | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.cache.memcache_servers -}} {{- tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.nova.cache "memcache_servers" | quote | trunc 0 -}} {{- end -}} {{- if and (empty .Values.conf.nova.DEFAULT.metadata_host) .Values.endpoints.compute_metadata.ip.ingress -}} {{- set .Values.conf.nova.DEFAULT "metadata_host" .Values.endpoints.compute_metadata.ip.ingress | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.DEFAULT.metadata_port -}} {{- 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.placement.auth_url -}} {{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup"| set .Values.conf.nova.placement "auth_url" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.placement.os_region_name -}} {{- set .Values.conf.nova.placement "os_region_name" .Values.endpoints.identity.auth.placement.region_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.placement.project_name -}} {{- set .Values.conf.nova.placement "project_name" .Values.endpoints.identity.auth.placement.project_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.placement.project_domain_name -}} {{- set .Values.conf.nova.placement "project_domain_name" .Values.endpoints.identity.auth.placement.project_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.placement.user_domain_name -}} {{- set .Values.conf.nova.placement "user_domain_name" .Values.endpoints.identity.auth.placement.user_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.placement.username -}} {{- set .Values.conf.nova.placement "username" .Values.endpoints.identity.auth.placement.username | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.placement.password -}} {{- set .Values.conf.nova.placement "password" .Values.endpoints.identity.auth.placement.password | quote | trunc 0 -}} {{- end -}} {{- if eq .Values.console.console_kind "novnc"}} {{- "true" | set .Values.conf.nova.vnc "enabled" | quote | trunc 0 -}} {{- 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 -}} {{- end -}} {{- if eq .Values.console.console_kind "spice"}} {{- "false" | set .Values.conf.nova.vnc "enabled" | quote | trunc 0 -}} {{- "true" | set .Values.conf.nova.spice "enabled" | quote | trunc 0 -}} {{- if empty .Values.conf.nova.spice.html5proxy_base_url -}} {{- tuple "compute_spice_proxy" "public" "spice_proxy" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.spice "html5proxy_base_url" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.spice.html5proxy_port -}} {{- tuple "compute_spice_proxy" "internal" "spice_proxy" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.nova.spice "html5proxy_port" | quote | trunc 0 -}} {{- end -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.api_endpoint -}} {{- tuple "baremetal" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.ironic "api_endpoint" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.auth_url -}} {{- tuple "identity" "internal" "api" . | include "helm-toolkit.endpoints.keystone_endpoint_uri_lookup" | set .Values.conf.nova.ironic "auth_url" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.region_name -}} {{- set .Values.conf.nova.ironic "region_name" .Values.endpoints.identity.auth.ironic.region_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.project_name -}} {{- set .Values.conf.nova.ironic "project_name" .Values.endpoints.identity.auth.ironic.project_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.project_domain_name -}} {{- set .Values.conf.nova.ironic "project_domain_name" .Values.endpoints.identity.auth.ironic.project_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.user_domain_name -}} {{- set .Values.conf.nova.ironic "user_domain_name" .Values.endpoints.identity.auth.ironic.user_domain_name | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.username -}} {{- set .Values.conf.nova.ironic "username" .Values.endpoints.identity.auth.ironic.username | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.password -}} {{- set .Values.conf.nova.ironic "password" .Values.endpoints.identity.auth.ironic.password | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.auth_type -}} {{- set .Values.conf.nova.ironic "auth_type" .Values.endpoints.identity.auth.ironic.auth_type | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.auth_version -}} {{- set .Values.conf.nova.ironic "auth_version" .Values.endpoints.identity.auth.ironic.auth_version | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.memcache_secret_key -}} {{- randAlphaNum 64 | set .Values.conf.nova.ironic "memcache_secret_key" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.ironic.memcache_servers -}} {{- tuple "oslo_cache" "internal" "memcache" . | include "helm-toolkit.endpoints.host_and_port_endpoint_uri_lookup" | set .Values.conf.nova.ironic "memcache_servers" | quote | trunc 0 -}} {{- end -}} {{- if empty .Values.conf.nova.DEFAULT.osapi_compute_listen_port -}} {{- tuple "compute" "internal" "api" . | include "helm-toolkit.endpoints.endpoint_port_lookup" | set .Values.conf.nova.DEFAULT "osapi_compute_listen_port" | quote | trunc 0 -}} {{- end -}} --- apiVersion: v1 kind: ConfigMap metadata: name: {{ $configMapName }} data: rally_tests.yaml: | {{ toYaml .Values.conf.rally_tests.tests | indent 4 }} api-paste.ini: | {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.paste | indent 4 }} policy.yaml: | {{ toYaml .Values.conf.policy | indent 4 }} nova_sudoers: | {{- tuple .Values.conf.nova_sudoers "etc/_nova_sudoers.tpl" . | include "helm-toolkit.utils.configmap_templater" }} rootwrap.conf: | {{- tuple .Values.conf.rootwrap "etc/_rootwrap.conf.tpl" . | include "helm-toolkit.utils.configmap_templater" }} api-metadata.filters: | {{- tuple .Values.conf.rootwrap_filters.api_metadata "etc/rootwrap.d/_api-metadata.filters.tpl" . | include "helm-toolkit.utils.configmap_templater" }} compute.filters: | {{- tuple .Values.conf.rootwrap_filters.compute "etc/rootwrap.d/_compute.filters.tpl" . | include "helm-toolkit.utils.configmap_templater" }} network.filters: | {{- tuple .Values.conf.rootwrap_filters.network "etc/rootwrap.d/_network.filters.tpl" . | include "helm-toolkit.utils.configmap_templater" }} nova.conf: | {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.nova | indent 4 }} nova-ironic.conf: | {{ include "helm-toolkit.utils.to_oslo_conf" .Values.conf.nova_ironic | indent 4 }} wsgi-nova-placement.conf: | {{- tuple .Values.conf.wsgi_placement "etc/_wsgi-nova-placement.conf.tpl" . | include "helm-toolkit.utils.configmap_templater" }} ssh-config.sh: | {{- tuple .Values.conf.ssh "etc/_ssh-config.tpl" . | include "helm-toolkit.utils.configmap_templater" }} {{- end }} {{- end }} {{- if .Values.manifests.configmap_etc }} {{- list "nova-etc" . | include "nova.configmap.etc" }} {{- end }}