diff --git a/watcher/templates/pod-rally-test.yaml b/watcher/templates/pod-rally-test.yaml index 980ba682eb..2f0b4bc4c6 100644 --- a/watcher/templates/pod-rally-test.yaml +++ b/watcher/templates/pod-rally-test.yaml @@ -1,106 +1,106 @@ -{{/* -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. -*/}} - -{{- if .Values.manifests.pod_rally_test }} -{{- $envAll := . }} - -{{- $mounts_tests := .Values.pod.mounts.watcher_tests.watcher_tests }} -{{- $mounts_tests_init := .Values.pod.mounts.watcher_tests.init_container }} - -{{- $serviceAccountName := print $envAll.Release.Name "-test" }} -{{ tuple $envAll "tests" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} ---- -apiVersion: v1 -kind: Pod -metadata: - name: {{ print $envAll.Release.Name "-test" }} - labels: -{{ tuple $envAll "watcher" "test" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} - annotations: - "helm.sh/hook": test-success - {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} -spec: - nodeSelector: - {{ .Values.labels.test.node_selector_key }}: {{ .Values.labels.test.node_selector_value }} - restartPolicy: Never - serviceAccountName: {{ $serviceAccountName }} - initContainers: -{{ tuple $envAll "tests" $mounts_tests_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 4 }} - - name: {{ .Release.Name }}-test-ks-user -{{ tuple $envAll "ks_user" | include "helm-toolkit.snippets.image" | indent 6 }} -{{ tuple $envAll $envAll.Values.pod.resources.jobs.ks_user | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }} - command: - - /tmp/ks-user.sh - volumeMounts: - - name: watcher-bin - mountPath: /tmp/ks-user.sh - subPath: ks-user.sh - readOnly: true - env: -{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin }} -{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }} -{{- end }} - - name: SERVICE_OS_SERVICE_NAME - value: "test" -{{- with $env := dict "ksUserSecret" .Values.secrets.identity.test }} -{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 8 }} -{{- end }} - - name: SERVICE_OS_ROLE - value: {{ .Values.endpoints.identity.auth.test.role | quote }} - containers: - - name: {{ .Release.Name }}-test -{{ tuple $envAll "test" | include "helm-toolkit.snippets.image" | indent 6 }} -{{ tuple $envAll $envAll.Values.pod.resources.jobs.tests | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }} - env: -{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin }} -{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }} -{{- end }} -{{- with $env := dict "ksUserSecret" .Values.secrets.identity.test }} -{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 8 }} -{{- end }} - - name: RALLY_ENV_NAME - value: {{.Release.Name}} - command: - - /tmp/rally-test.sh - volumeMounts: - - name: watcher-etc - mountPath: /etc/rally/rally_tests.yaml - subPath: rally_tests.yaml - readOnly: true - - name: watcher-bin - mountPath: /tmp/rally-test.sh - subPath: rally-test.sh - readOnly: true - - name: rally-db - mountPath: /var/lib/rally - {{- range $key, $value := $envAll.Values.conf.rally_tests.templates }} - - name: watcher-etc - mountPath: {{ $value.name }} - subPath: {{ printf "test_template_%d" $key }} - readOnly: true - {{- end }} -{{ if $mounts_tests.volumeMounts }}{{ toYaml $mounts_tests.volumeMounts | indent 8 }}{{ end }} - volumes: - - name: watcher-etc - secret: - secretName: watcher-etc - defaultMode: 0444 - - name: watcher-bin - configMap: - name: watcher-bin - defaultMode: 0555 - - name: rally-db - emptyDir: {} -{{ if $mounts_tests.volumes }}{{ toYaml $mounts_tests.volumes | indent 4 }}{{ end }} -{{- end }} \ No newline at end of file +{{/* +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. +*/}} + +{{- if .Values.manifests.pod_rally_test }} +{{- $envAll := . }} + +{{- $mounts_tests := .Values.pod.mounts.watcher_tests.watcher_tests }} +{{- $mounts_tests_init := .Values.pod.mounts.watcher_tests.init_container }} + +{{- $serviceAccountName := print $envAll.Release.Name "-test" }} +{{ tuple $envAll "tests" $serviceAccountName | include "helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount" }} +--- +apiVersion: v1 +kind: Pod +metadata: + name: {{ print $envAll.Release.Name "-test" }} + labels: +{{ tuple $envAll "watcher" "test" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 4 }} + annotations: + "helm.sh/hook": test-success + {{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }} +spec: + nodeSelector: + {{ .Values.labels.test.node_selector_key }}: {{ .Values.labels.test.node_selector_value }} + restartPolicy: Never + serviceAccountName: {{ $serviceAccountName }} + initContainers: +{{ tuple $envAll "tests" $mounts_tests_init | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 4 }} + - name: {{ .Release.Name }}-test-ks-user +{{ tuple $envAll "ks_user" | include "helm-toolkit.snippets.image" | indent 6 }} +{{ tuple $envAll $envAll.Values.pod.resources.jobs.ks_user | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }} + command: + - /tmp/ks-user.sh + volumeMounts: + - name: watcher-bin + mountPath: /tmp/ks-user.sh + subPath: ks-user.sh + readOnly: true + env: +{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin }} +{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }} +{{- end }} + - name: SERVICE_OS_SERVICE_NAME + value: "test" +{{- with $env := dict "ksUserSecret" .Values.secrets.identity.test }} +{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 8 }} +{{- end }} + - name: SERVICE_OS_ROLE + value: {{ .Values.endpoints.identity.auth.test.role | quote }} + containers: + - name: {{ .Release.Name }}-test +{{ tuple $envAll "test" | include "helm-toolkit.snippets.image" | indent 6 }} +{{ tuple $envAll $envAll.Values.pod.resources.jobs.tests | include "helm-toolkit.snippets.kubernetes_resources" | indent 6 }} + env: +{{- with $env := dict "ksUserSecret" .Values.secrets.identity.admin }} +{{- include "helm-toolkit.snippets.keystone_openrc_env_vars" $env | indent 8 }} +{{- end }} +{{- with $env := dict "ksUserSecret" .Values.secrets.identity.test }} +{{- include "helm-toolkit.snippets.keystone_user_create_env_vars" $env | indent 8 }} +{{- end }} + - name: RALLY_ENV_NAME + value: {{.Release.Name}} + command: + - /tmp/rally-test.sh + volumeMounts: + - name: watcher-etc + mountPath: /etc/rally/rally_tests.yaml + subPath: rally_tests.yaml + readOnly: true + - name: watcher-bin + mountPath: /tmp/rally-test.sh + subPath: rally-test.sh + readOnly: true + - name: rally-db + mountPath: /var/lib/rally + {{- range $key, $value := $envAll.Values.conf.rally_tests.templates }} + - name: watcher-etc + mountPath: {{ $value.name }} + subPath: {{ printf "test_template_%d" $key }} + readOnly: true + {{- end }} +{{ if $mounts_tests.volumeMounts }}{{ toYaml $mounts_tests.volumeMounts | indent 8 }}{{ end }} + volumes: + - name: watcher-etc + secret: + secretName: watcher-etc + defaultMode: 0444 + - name: watcher-bin + configMap: + name: watcher-bin + defaultMode: 0555 + - name: rally-db + emptyDir: {} +{{ if $mounts_tests.volumes }}{{ toYaml $mounts_tests.volumes | indent 4 }}{{ end }} +{{- end }} diff --git a/zuul.d/2025.1.yaml b/zuul.d/2025.1.yaml index e38281fbe8..d660682335 100644 --- a/zuul.d/2025.1.yaml +++ b/zuul.d/2025.1.yaml @@ -74,4 +74,15 @@ openstack_release: "2025.1" container_distro_name: ubuntu container_distro_version: jammy + +- job: + name: openstack-helm-watcher-2025-1-ubuntu_jammy + parent: openstack-helm-watcher + nodeset: openstack-helm-3nodes-ubuntu_jammy + timeout: 10800 + vars: + osh_params: + openstack_release: "2025.1" + container_distro_name: ubuntu + container_distro_version: jammy ... diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index b75d217eba..7afc3010c5 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -514,4 +514,25 @@ - ./tools/deployment/component/octavia/octavia_certs.sh - ./tools/deployment/component/octavia/octavia.sh - ./tools/deployment/component/octavia/octavia_test.sh + +- job: + name: openstack-helm-watcher + parent: openstack-helm-deploy + timeout: 10800 + vars: + gate_scripts: + - ./tools/deployment/common/prepare-bashrc.sh + - ./tools/deployment/common/prepare-k8s.sh + - ./tools/deployment/common/prepare-charts.sh + - ./tools/deployment/common/setup-client.sh + - export VOLUME_HELM_ARGS="--set volume.enabled=false"; ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/db/mariadb.sh + - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/keystone/keystone.sh + - ./tools/deployment/component/heat/heat.sh + - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh + - ./tools/deployment/component/compute-kit/openvswitch.sh + - ./tools/deployment/component/compute-kit/libvirt.sh + - ./tools/deployment/component/compute-kit/compute-kit.sh + - ./tools/deployment/component/watcher/watcher.sh ... diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 58b67ce5dd..0dd2bcc614 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -51,19 +51,16 @@ gate: jobs: - openstack-helm-linter - - openstack-helm-cinder-2024-1-ubuntu_jammy - - openstack-helm-compute-kit-2024-1-ubuntu_jammy + - openstack-helm-cinder-2025-1-ubuntu_jammy + - openstack-helm-compute-kit-2025-1-ubuntu_jammy - openstack-helm-logging - openstack-helm-monitoring - openstack-helm-metacontroller post: jobs: - openstack-helm-publish-charts - # periodic: - # jobs: - # - openstack-helm-compute-kit-helm-repo-public-2024-1-ubuntu_jammy # 1 node + 2 nodes - # - openstack-helm-compute-kit-rook-2024-1-ubuntu_jammy # 5 nodes / rook - periodic-weekly: + periodic: jobs: - - openstack-helm-ceph-migrate + - openstack-helm-compute-kit-helm-repo-public-2024-1-ubuntu_jammy # 1 node + 3 nodes + - openstack-helm-watcher-2025-1-ubuntu_jammy # 3 nodes ...