Merge "upgrading umbrella w/o changes has no app changes"

This commit is contained in:
Zuul 2022-07-04 06:22:44 +00:00 committed by Gerrit Code Review
commit 5e19791931
6 changed files with 54 additions and 5 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.3.6 version: 0.3.7
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

@ -117,10 +117,12 @@ limitations under the License.
{{- $endpointScheme := tuple "dashboard" "public" "web" . | include "helm-toolkit.endpoints.keystone_endpoint_scheme_lookup" }} {{- $endpointScheme := tuple "dashboard" "public" "web" . | include "helm-toolkit.endpoints.keystone_endpoint_scheme_lookup" }}
{{- $endpointHost := tuple "dashboard" "public" . | include "helm-toolkit.endpoints.endpoint_host_lookup" }} {{- $endpointHost := tuple "dashboard" "public" . | include "helm-toolkit.endpoints.endpoint_host_lookup" }}
{{- $endpointPort := tuple "dashboard" "public" "web" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }} {{- $endpointPort := tuple "dashboard" "public" "web" . | include "helm-toolkit.endpoints.endpoint_port_lookup" }}
# Common browsers don't add default ports like 80 and 443 to the headers {{- if eq $endpointPort "80" "443" -}}
# and URLs therefore CORS should allow to use URLs both with 80,443 and {{/*
# without it in the URL. Common browsers don't add default ports like 80 and 443 to the headers
{{- if eq $endpointPort "80" "443" }} and URLs therefore CORS should allow to use URLs both with 80,443 and
without it in the URL.
*/}}
{{- $_ := set $envAll.Values.conf.glance.cors "allowed_origin" ( list ) }} {{- $_ := set $envAll.Values.conf.glance.cors "allowed_origin" ( list ) }}
{{- $__allowed_origin := append $envAll.Values.conf.glance.cors.allowed_origin (printf "%s://%s" $endpointScheme $endpointHost) }} {{- $__allowed_origin := append $envAll.Values.conf.glance.cors.allowed_origin (printf "%s://%s" $endpointScheme $endpointHost) }}
{{- $_ := set $envAll.Values.conf.glance.cors "allowed_origin" $__allowed_origin }} {{- $_ := set $envAll.Values.conf.glance.cors "allowed_origin" $__allowed_origin }}

View File

@ -27,4 +27,5 @@ glance:
- 0.3.4 Change image default version to wallaby - 0.3.4 Change image default version to wallaby
- 0.3.5 Migrated PodDisruptionBudget resource to policy/v1 API version - 0.3.5 Migrated PodDisruptionBudget resource to policy/v1 API version
- 0.3.6 Add Xena and Yoga values overrides - 0.3.6 Add Xena and Yoga values overrides
- 0.3.7 Fix glance-etc template changing due to comment and whitespace between install and first upgrade
... ...

View File

@ -102,6 +102,7 @@ helm upgrade --install $release openstack/ \
${OSH_EXTRA_HELM_ARGS_LIBVIRT_CGROUP} \ ${OSH_EXTRA_HELM_ARGS_LIBVIRT_CGROUP} \
${OSH_EXTRA_HELM_VIRT_ARGS} \ ${OSH_EXTRA_HELM_VIRT_ARGS} \
${OSH_EXTRA_HELM_ARGS} \ ${OSH_EXTRA_HELM_ARGS} \
--set glance.conf.glance.keystone_authtoken.memcache_secret_key="$(openssl rand -hex 64)" \
--set nova.bootstrap.wait_for_computes.enabled=true \ --set nova.bootstrap.wait_for_computes.enabled=true \
--set libvirt.conf.ceph.enabled=${CEPH_ENABLED} \ --set libvirt.conf.ceph.enabled=${CEPH_ENABLED} \
--set nova.conf.ceph.enabled=${CEPH_ENABLED} \ --set nova.conf.ceph.enabled=${CEPH_ENABLED} \

View File

@ -0,0 +1,44 @@
#!/bin/bash
set -ex
# This test confirms that upgrading a OpenStack Umbrella Helm release using
# --reuse-values does not result in any unexpected pods from being recreated.
# Ideally, no pods would be created if the upgrade has no configuration change.
# Unfortunately, some jobs have hooks defined such that each Helm release deletes
# and recreates jobs. These jobs are ignored in this test.
# This test aims to validate no Deployment, DaemonSet, or StatefulSet pods are
# changed by verifying the Observed Generation remains the same.
# This test case is proven by:
# 1. getting the list of DaemonSets, Deployment, StatefulSets after an installation
# 2. performing a helm upgrade with --reuse-values
# 3. getting the list of DaemonSets, Deployment, StatefulSets after the upgrade
# 4. Verifying the list is empty since no applications should have changed
before_apps_list="$(mktemp)"
after_apps_list="$(mktemp)"
kubectl get daemonsets,deployments,statefulsets \
--namespace openstack \
--no-headers \
--output custom-columns=Kind:.kind,Name:.metadata.name,Generation:.status.observedGeneration \
> "$before_apps_list"
helm upgrade openstack ./openstack \
--namespace openstack \
--reuse-values \
--wait
kubectl get daemonsets,deployments,statefulsets \
--namespace openstack \
--no-headers \
--output custom-columns=Kind:.kind,Name:.metadata.name,Generation:.status.observedGeneration \
> "$after_apps_list"
# get list of apps that exist in after list, but not in before list
changed_apps="$(comm -13 "$before_apps_list" "$after_apps_list")"
if [ "x$changed_apps" != "x" ]; then
echo "Applications changed unexpectedly: $changed_apps"
exit 1
fi

View File

@ -198,6 +198,7 @@
- ./tools/deployment/developer/common/170-setup-gateway.sh - ./tools/deployment/developer/common/170-setup-gateway.sh
- - ./tools/deployment/developer/common/900-use-it.sh - - ./tools/deployment/developer/common/900-use-it.sh
- ./tools/deployment/common/force-cronjob-run.sh - ./tools/deployment/common/force-cronjob-run.sh
- ./tools/gate/tests/validate-umbrella-upgrade-no-side-effects.sh
- job: - job:
name: openstack-helm-compute-kit-ussuri-ubuntu_bionic name: openstack-helm-compute-kit-ussuri-ubuntu_bionic