openstack-armada-app/openstack-helm/files/0007-Add-stx_admin-account.patch
Rafael Falcão f13d94693f Making stx_admin (osh) helm v3 compatible
The patch added by this change will make the stx_admin job
syntax compatible with FluxCD (helmv3). It is necessary to add
a hook-weight annotation to the resource to guarantee that all
required resources will be up and running by the time of the
job creation.

Test Plan:
PASS - build-helm-charts.sh builds a basic FluxCD and a complete Armada
       app tarball
PASS - application upload and overrides generated
PASS - application apply and check if the new hooks takes place
PASS - application remove/delete

Closes-Bug: 1990188

Signed-off-by: Rafael Falcao <rafael.vieirafalcao@windriver.com>
Change-Id: I83137f54eb18ba01b880e093a77b987283e5d907
2022-09-20 09:49:44 -03:00

121 lines
4.1 KiB
Diff

From 50e5e101857767fa5b20a3f548e3f28ffb8664ed Mon Sep 17 00:00:00 2001
From: Shuicheng Lin <shuicheng.lin@intel.com>
Date: Wed, 28 Oct 2020 15:17:34 +0800
Subject: [PATCH] Add stx_admin account for host to communicate with openstack
app
lcavalca: changed content to support tls keystone
rvieiraf: added helm.sh/hook* annotations
Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com>
Signed-off-by: Lucas Cavalcante <lucasmedeiros.cavalcante@windriver.com>
Signed-off-by: Rafael Falcao <rafael.vieirafalcao@windriver.com>
Change-Id: Iedcd131578f4e33efd3c3d7c47cbef83331b143a
---
keystone/templates/job-ks-user.yaml | 29 +++++++++++++++++++++++++
keystone/templates/secret-keystone.yaml | 2 +-
keystone/values.yaml | 17 +++++++++++++++
3 files changed, 47 insertions(+), 1 deletion(-)
create mode 100644 keystone/templates/job-ks-user.yaml
diff --git a/keystone/templates/job-ks-user.yaml b/keystone/templates/job-ks-user.yaml
new file mode 100644
index 00000000..63d6cbb5
--- /dev/null
+++ b/keystone/templates/job-ks-user.yaml
@@ -0,0 +1,29 @@
+{{/*
+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 "metadata.annotations.job.ks_user" }}
+helm.sh/hook: post-install,post-upgrade
+helm.sh/hook-weight: "5"
+{{- end }}
+
+{{- if .Values.manifests.job_ks_user }}
+{{- $ksUserJob := dict "envAll" . "serviceName" "keystone" "serviceUser" "stx_admin" "jobAnnotations" (include "metadata.annotations.job.ks_user" . | fromYaml) -}}
+{{- if .Values.manifests.certificates -}}
+{{- $_ := set $ksUserJob "tlsSecret" .Values.secrets.tls.identity.api.public -}}
+{{- end -}}
+{{- if .Values.pod.tolerations.keystone.enabled -}}
+{{- $_ := set $ksUserJob "tolerationsEnabled" true -}}
+{{- end -}}
+{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }}
+{{- end }}
diff --git a/keystone/templates/secret-keystone.yaml b/keystone/templates/secret-keystone.yaml
index 5aa87ab5..0e471f13 100644
--- a/keystone/templates/secret-keystone.yaml
+++ b/keystone/templates/secret-keystone.yaml
@@ -14,7 +14,7 @@ limitations under the License.
{{- if .Values.manifests.secret_keystone }}
{{- $envAll := . }}
-{{- range $key1, $userClass := tuple "admin" "test" }}
+{{- range $key1, $userClass := tuple "admin" "test" "stx_admin" }}
{{- $secretName := index $envAll.Values.secrets.identity $userClass }}
---
apiVersion: v1
diff --git a/keystone/values.yaml b/keystone/values.yaml
index 5f0e7aa1..ff4493f3 100644
--- a/keystone/values.yaml
+++ b/keystone/values.yaml
@@ -141,6 +141,10 @@ dependencies:
services:
- endpoint: internal
service: oslo_db
+ ks_user:
+ services:
+ - endpoint: internal
+ service: identity
domain_manage:
services:
- endpoint: internal
@@ -1047,6 +1051,7 @@ secrets:
identity:
admin: keystone-keystone-admin
test: keystone-keystone-test
+ stx_admin: keystone-keystone-stxadmin
oslo_db:
admin: keystone-db-admin
keystone: keystone-db-user
@@ -1090,6 +1095,17 @@ endpoints:
user_domain_name: default
project_domain_name: default
default_domain_id: default
+ stx_admin:
+ role:
+ - admin
+ - member
+ region_name: RegionOne
+ username: stx_admin
+ password: password
+ project_name: admin
+ user_domain_name: default
+ project_domain_name: default
+ default_domain_id: default
test:
role: admin
region_name: RegionOne
@@ -1247,6 +1263,7 @@ manifests:
job_domain_manage: true
job_fernet_setup: true
job_image_repo_sync: true
+ job_ks_user: true
job_rabbit_init: true
pdb_api: true
pod_rally_test: true
--
2.25.1