blob: d53f2047ddff81a026fd37306d6a9fe0fb20b31a [file] [log] [blame]
Mohammed Naserf3f59a72023-01-15 21:02:04 -05001{{/*
2Licensed under the Apache License, Version 2.0 (the "License");
3you may not use this file except in compliance with the License.
4You may obtain a copy of the License at
5
6 http://www.apache.org/licenses/LICENSE-2.0
7
8Unless required by applicable law or agreed to in writing, software
9distributed under the License is distributed on an "AS IS" BASIS,
10WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11See the License for the specific language governing permissions and
12limitations under the License.
13*/}}
14
Oleksandr Kozachenkoa10d7852023-02-02 22:01:16 +010015{{- if (.Values.global).subchart_release_name }}
16{{- $_ := set . "deployment_name" .Chart.Name }}
17{{- else }}
18{{- $_ := set . "deployment_name" .Release.Name }}
19{{- end }}
20
Mohammed Naserf3f59a72023-01-15 21:02:04 -050021{{- if .Values.manifests.pod_rally_test }}
22{{- $envAll := . }}
23
24{{- $mounts_tests := .Values.pod.mounts.nova_tests.nova_tests }}
25{{- $mounts_tests_init := .Values.pod.mounts.nova_tests.init_container }}
26
Oleksandr Kozachenkoa10d7852023-02-02 22:01:16 +010027{{- $serviceAccountName := print $envAll.deployment_name "-test" }}
Mohammed Naserf3f59a72023-01-15 21:02:04 -050028{{ tuple $envAll "tests" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }}
29---
30apiVersion: v1
31kind: Pod
32metadata:
Oleksandr Kozachenkoa10d7852023-02-02 22:01:16 +010033 name: {{ print $envAll.deployment_name "-test" }}
Mohammed Naserf3f59a72023-01-15 21:02:04 -050034 labels:
35{{ tuple $envAll "nova" "test" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }}
36 annotations:
37 "helm.sh/hook": test-success
38 {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
39{{ dict "envAll" $envAll "podName" "nova-test" "containerNames" (list "init" "nova-test" "nova-test-ks-user") | include "helm-toolkit.snippets.kubernetes_mandatory_access_control_annotation" | indent 4 }}
40spec:
41 nodeSelector:
42 {{ .Values.labels.test.node_selector_key }}: {{ .Values.labels.test.node_selector_value }}
Oleksandr Kozachenkoa10d7852023-02-02 22:01:16 +010043{{ if $envAll.Values.pod.tolerations.nova.enabled }}
44{{ tuple $envAll "nova" | include "helm-toolkit.snippets.kubernetes_tolerations" | indent 2 }}
45{{ end }}
Mohammed Naserf3f59a72023-01-15 21:02:04 -050046 restartPolicy: Never
47 serviceAccountName: {{ $serviceAccountName }}
48 initContainers:
49{{ tuple $envAll "tests" $mounts_tests_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 4 }}
50 - name: nova-test-ks-user
51{{ tuple $envAll "ks_user" | include "helm-toolkit.snippets.image" | indent 6 }}
52{{ tuple $envAll $envAll.Values.pod.resources.jobs.ks_user | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }}
53 command:
54 - /tmp/ks-user.sh
55 volumeMounts:
56 - name: pod-tmp
57 mountPath: /tmp
58 - name: nova-bin
59 mountPath: /tmp/ks-user.sh
60 subPath: ks-user.sh
61 readOnly: true
62{{ dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.compute.osapi.internal | include "helm-toolkit.snippets.tls_volume_mount" | indent 8 }}
63 env:
64{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin "useCA" .Values.manifests.certificates }}
65{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }}
66{{- end }}
67 - name: SERVICE_OS_SERVICE_NAME
68 value: "test"
69{{- with $env := dict "ksUserSecret" .Values.secrets.identity.test }}
70{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 8 }}
71{{- end }}
72 - name: SERVICE_OS_ROLE
73 value: {{ .Values.endpoints.identity.auth.test.role | quote }}
74 containers:
75 - name: nova-test
76{{ tuple $envAll "test" | include "helm-toolkit.snippets.image" | indent 6 }}
77{{ tuple $envAll $envAll.Values.pod.resources.jobs.tests | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }}
78 env:
79{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin "useCA" .Values.manifests.certificates}}
80{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }}
81{{- end }}
82{{- with $env := dict "ksUserSecret" .Values.secrets.identity.test }}
83{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 8 }}
84{{- end }}
85 - name: RALLY_ENV_NAME
Oleksandr Kozachenkoa10d7852023-02-02 22:01:16 +010086 value: {{.deployment_name}}
Mohammed Naserf3f59a72023-01-15 21:02:04 -050087 command:
88 - /tmp/rally-test.sh
89 volumeMounts:
90 - name: pod-tmp
91 mountPath: /tmp
92 - name: nova-etc
93 mountPath: /etc/rally/rally_tests.yaml
94 subPath: rally_tests.yaml
95 readOnly: true
96 - name: nova-bin
97 mountPath: /tmp/rally-test.sh
98 subPath: rally-test.sh
99 readOnly: true
100 - name: rally-db
101 mountPath: /var/lib/rally
102{{ dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.compute.osapi.internal | include "helm-toolkit.snippets.tls_volume_mount" | indent 8 }}
103{{ if $mounts_tests.volumeMounts }}{{ toYaml $mounts_tests.volumeMounts | indent 8 }}{{ end }}
104 volumes:
105 - name: pod-tmp
106 emptyDir: {}
107 - name: nova-etc
108 secret:
109 secretName: nova-etc
110 defaultMode: 0444
111 - name: nova-bin
112 configMap:
113 name: nova-bin
114 defaultMode: 0555
115 - name: rally-db
116 emptyDir: {}
117{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.compute.osapi.internal | include "helm-toolkit.snippets.tls_volume" | indent 4 }}
118{{ if $mounts_tests.volumes }}{{ toYaml $mounts_tests.volumes | indent 4 }}{{ end }}
119{{- end }}