From 7176cd7a1527c3fc8c9e358168762b2b4607fd39 Mon Sep 17 00:00:00 2001
From: portdirect <pete@port.direct>
Date: Sat, 6 Jan 2018 14:17:01 -0500
Subject: [PATCH] Nova: Fix placement API service credentials

This PS fixes how service credentials for the placement api are
managed, by correctly populating them from the endpoints section
which is responsible for managing the keystone user account.

Change-Id: Id44eae864d930af9cedc7a0258c72d6610ac1e5d
---
 nova/templates/configmap-etc.yaml | 19 +++++++++++++++++++
 nova/values.yaml                  |  6 ------
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/nova/templates/configmap-etc.yaml b/nova/templates/configmap-etc.yaml
index d70f965922..85e4e4038f 100644
--- a/nova/templates/configmap-etc.yaml
+++ b/nova/templates/configmap-etc.yaml
@@ -117,6 +117,25 @@ limitations under the License.
 {{- 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.region_name -}}
+{{- set .Values.conf.nova.placement "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 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 -}}
diff --git a/nova/values.yaml b/nova/values.yaml
index 1e6f65d0a9..95b47d5c2a 100644
--- a/nova/values.yaml
+++ b/nova/values.yaml
@@ -1036,14 +1036,8 @@ conf:
     oslo_messaging_notifications:
       driver: messagingv2
     placement:
-      os_region_name: RegionOne
-      project_domain_name: default
-      project_name: service
       auth_type: password
       auth_version: v3
-      user_domain_name: default
-      username: placement
-      password: password
 
 # Names of secrets used by bootstrap and environmental checks
 secrets: