Do not attach PVC to glance-storage-init job

When PVC is used as glance storage backend we
don't need to attach it to the storage init pod
because anyway the init script does nothing with the PVC.

On the other hand when PVC is used as the backend
there is a race condition when this PVC is attached to
the API pod and to the storage init pod. It breaks the
deployment because storage init pod never starts
and API pod waits for the storage init job to finish.

Also this PR adds the test job that deploys compute-kit
with Ceph as storageclass backend. In this job Mariadb, Rabbit,
Glance, Cinder all use Ceph while usually we test charts
with in-memory volumes. This job is heavy and we run it
periodically.

Change-Id: I7fd1a4a47472bd81cda43cb50b1e3dc448619598
This commit is contained in:
Vladimir Kozhukalov 2024-06-20 06:05:23 -05:00
parent 3ec4825c30
commit c4c80371f9
11 changed files with 82 additions and 15 deletions

View File

@ -14,7 +14,7 @@ apiVersion: v1
appVersion: v1.0.0 appVersion: v1.0.0
description: OpenStack-Helm Glance description: OpenStack-Helm Glance
name: glance name: glance
version: 0.4.23 version: 0.4.24
home: https://docs.openstack.org/glance/latest/ home: https://docs.openstack.org/glance/latest/
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Glance/OpenStack_Project_Glance_vertical.png icon: https://www.openstack.org/themes/openstack/images/project-mascots/Glance/OpenStack_Project_Glance_vertical.png
sources: sources:

View File

@ -164,10 +164,6 @@ spec:
readOnly: true readOnly: true
{{ end }} {{ end }}
{{ end }} {{ end }}
{{- if eq .Values.storage "pvc" }}
- name: glance-images
mountPath: {{ .Values.conf.glance.glance_store.filesystem_store_datadir }}
{{ end }}
{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.image.api.internal | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }} {{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.image.api.internal | include "helm-toolkit.snippets.tls_volume_mount" | indent 12 }}
volumes: volumes:
- name: pod-tmp - name: pod-tmp
@ -189,10 +185,5 @@ spec:
secretName: {{ .Values.ceph_client.user_secret_name }} secretName: {{ .Values.ceph_client.user_secret_name }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{- if eq .Values.storage "pvc" }}
- name: glance-images
persistentVolumeClaim:
claimName: glance-images
{{ end }}
{{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.image.api.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }} {{- dict "enabled" .Values.manifests.certificates "name" .Values.secrets.tls.image.api.internal | include "helm-toolkit.snippets.tls_volume" | indent 8 }}
{{- end }} {{- end }}

View File

@ -57,4 +57,5 @@ glance:
- 0.4.21 Use uWSGI - 0.4.21 Use uWSGI
- 0.4.22 Enable custom annotations for Openstack secrets - 0.4.22 Enable custom annotations for Openstack secrets
- 0.4.23 Update images used by default - 0.4.23 Update images used by default
- 0.4.24 Do not attach backend pvc to storage init pod
... ...

View File

@ -22,9 +22,8 @@ set -xe
#NOTE: Deploy command #NOTE: Deploy command
helm upgrade --install mariadb ${OSH_INFRA_HELM_REPO}/mariadb \ helm upgrade --install mariadb ${OSH_INFRA_HELM_REPO}/mariadb \
--namespace=openstack \ --namespace=openstack \
--set volume.use_local_path_for_single_pod_cluster.enabled=true \
--set volume.enabled=false \
--set pod.replicas.server=1 \ --set pod.replicas.server=1 \
${VOLUME_HELM_ARGS:="--set volume.use_local_path_for_single_pod_cluster.enabled=true --set volume.enabled=false"} \
${OSH_EXTRA_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MARIADB} ${OSH_EXTRA_HELM_ARGS_MARIADB}

View File

@ -30,7 +30,7 @@ tee /tmp/glance.yaml <<EOF
glance: glance:
storage: ${GLANCE_BACKEND} storage: ${GLANCE_BACKEND}
volume: volume:
class_name: standard class_name: general
EOF EOF
#NOTE: Deploy neutron #NOTE: Deploy neutron
tee /tmp/neutron.yaml << EOF tee /tmp/neutron.yaml << EOF

View File

@ -22,9 +22,9 @@ set -xe
#NOTE: Deploy command #NOTE: Deploy command
helm upgrade --install rabbitmq ${OSH_INFRA_HELM_REPO}/rabbitmq \ helm upgrade --install rabbitmq ${OSH_INFRA_HELM_REPO}/rabbitmq \
--namespace=openstack \ --namespace=openstack \
--set volume.enabled=false \
--set pod.replicas.server=1 \ --set pod.replicas.server=1 \
--timeout=600s \ --timeout=600s \
${VOLUME_HELM_ARGS:="--set volume.enabled=false"} \
${OSH_EXTRA_HELM_ARGS:=} \ ${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_RABBITMQ} ${OSH_EXTRA_HELM_ARGS_RABBITMQ}

View File

@ -25,7 +25,7 @@ set -xe
tee /tmp/glance.yaml <<EOF tee /tmp/glance.yaml <<EOF
storage: ${GLANCE_BACKEND} storage: ${GLANCE_BACKEND}
volume: volume:
class_name: standard class_name: general
bootstrap: bootstrap:
structured: structured:
images: images:

View File

@ -53,6 +53,16 @@
container_distro_name: ubuntu container_distro_name: ubuntu
container_distro_version: jammy container_distro_version: jammy
- job:
name: openstack-helm-compute-kit-rook-2024-1-ubuntu_jammy
parent: openstack-helm-compute-kit-rook
nodeset: openstack-helm-5nodes-ubuntu_jammy
vars:
osh_params:
openstack_release: "2024.1"
container_distro_name: ubuntu
container_distro_version: jammy
- job: - job:
name: openstack-helm-compute-kit-metallb-2024-1-ubuntu_jammy name: openstack-helm-compute-kit-metallb-2024-1-ubuntu_jammy
parent: openstack-helm-compute-kit parent: openstack-helm-compute-kit

View File

@ -95,6 +95,31 @@
- ./tools/deployment/common/use-it.sh - ./tools/deployment/common/use-it.sh
- ./tools/deployment/common/force-cronjob-run.sh - ./tools/deployment/common/force-cronjob-run.sh
- job:
name: openstack-helm-compute-kit-rook
parent: openstack-helm-deploy
abstract: true
vars:
gate_scripts:
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/component/ceph/ceph-rook.sh
- ./tools/deployment/component/ceph/ceph-adapter-rook.sh
- ./tools/deployment/common/ingress.sh
- export VOLUME_HELM_ARGS=" "; ./tools/deployment/component/common/rabbitmq.sh
- export VOLUME_HELM_ARGS=" "; ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/keystone/keystone.sh
- ./tools/deployment/component/cinder/cinder.sh
- ./tools/deployment/component/heat/heat.sh
- ./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/common/use-it.sh
- ./tools/deployment/common/force-cronjob-run.sh
- job: - job:
name: openstack-helm-compute-kit-helm-repo-local name: openstack-helm-compute-kit-helm-repo-local
parent: openstack-helm-deploy parent: openstack-helm-deploy

View File

@ -164,3 +164,43 @@
- name: k8s_control_plane - name: k8s_control_plane
nodes: nodes:
- primary - primary
- nodeset:
name: openstack-helm-5nodes-ubuntu_jammy
nodes:
- name: primary
label: ubuntu-jammy
- name: node-1
label: ubuntu-jammy
- name: node-2
label: ubuntu-jammy
- name: node-3
label: ubuntu-jammy
- name: node-4
label: ubuntu-jammy
groups:
- name: primary
nodes:
- primary
- name: nodes
nodes:
- node-1
- node-2
- node-3
- node-4
- name: k8s_cluster
nodes:
- primary
- node-1
- node-2
- node-3
- node-4
- name: k8s_control_plane
nodes:
- primary
- name: k8s_nodes
nodes:
- node-1
- node-2
- node-3
- node-4

View File

@ -66,3 +66,4 @@
periodic: periodic:
jobs: jobs:
- openstack-helm-compute-kit-helm-repo-public-2024-1-ubuntu_jammy # 1 node + 2 nodes - 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