diff --git a/docker/glance/glance-api/extend_start.sh b/docker/glance/glance-api/extend_start.sh index 3d8d7f512c..3363539a50 100644 --- a/docker/glance/glance-api/extend_start.sh +++ b/docker/glance/glance-api/extend_start.sh @@ -7,3 +7,21 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then glance-manage db_load_metadefs exit 0 fi + +# Migrate database and exit if KOLLA_UPGRADE variable is set. This catches all cases +# of the KOLLA_UPGRADE variable being set, including empty. +if [[ "${!KOLLA_UPGRADE[@]}" ]]; then + if [[ "${!GLANCE_DB_EXPAND[@]}" ]]; then + echo "Expanding database" + glance-manage db expand + fi + if [[ "${!GLANCE_DB_MIGRATE[@]}" ]]; then + echo "Migrating database" + glance-manage db migrate + fi + if [[ "${!GLANCE_DB_CONTRACT[@]}" ]]; then + echo "Contracting database" + glance-manage db contract + fi + exit 0 +fi diff --git a/releasenotes/notes/implement-glance-zero-downtime-upgrade-2825a2c76315d23d.yaml b/releasenotes/notes/implement-glance-zero-downtime-upgrade-2825a2c76315d23d.yaml new file mode 100644 index 0000000000..b1c7a7c113 --- /dev/null +++ b/releasenotes/notes/implement-glance-zero-downtime-upgrade-2825a2c76315d23d.yaml @@ -0,0 +1,5 @@ +--- + +features: + - | + Implement Glance zero-downtime upgrade logic.