Upgrading Genestack from OpenStack 2024.1 (Caracal) to 2025.1 (Epoxy)
This guide outlines the process for upgrading a Genestack deployment from OpenStack 2024.1 (Caracal) to 2025.1 (Epoxy). Genestack leverages OpenStack-Helm charts for deployment and management, making upgrades primarily a matter of updating the underlying charts and configurations via Git and Helm.
OpenStack 2025.1 (Epoxy) is a Skip Level Upgrade Release Process (SLURP) release, which supports direct upgrades from the previous SLURP release (Caracal), skipping the intermediate 2024.2 (Dalmatian) release if desired. This simplifies the upgrade path for stable environments.
Prerequisites
- A full backup of your current deployment, including databases and configurations.
- Familiarity with the Genestack installation process and operator documentation.
- A planned minimum downtime window, as some services will require restarts.
- Verification that no active jobs or migrations are running that could conflict with the upgrade.
Upgrade Steps
The upgrade process is similar to a fresh installation but focuses on updating charts and applying revisions. Perform these steps on the management node.
- Navigate to the Genestack Directory
- Update the Git Repository
Fetch the latest changes and check out the Epoxy release tag:
If no release tag for Epoxy is available, manually update the images in the override files. For example, update keystone-helm-overrides.yaml
:
images:
tags:
bootstrap: ghcr.io/aedan/genestack-images/heat:2025.1-1750442748
db_drop: ghcr.io/aedan/genestack-images/heat:2025.1-1750442748
db_init: ghcr.io/aedan/genestack-images/heat:2025.1-1750442748
keystone_api: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
keystone_credential_cleanup: ghcr.io/aedan/genestack-images/heat:2025.1-1750442748
keystone_credential_rotate: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
keystone_credential_setup: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
keystone_db_sync: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
keystone_domain_manage: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
keystone_fernet_rotate: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
keystone_fernet_setup: ghcr.io/aedan/genestack-images/keystone:2025.1-1750442703
ks_user: ghcr.io/aedan/genestack-images/heat:2025.1-1750442748
- Handle Pre-Upgrade Cleanups
Clean up Nova jobs to avoid conflicts:
kubectl --namespace openstack delete jobs $(kubectl --namespace openstack get jobs --no-headers -o custom-columns=":metadata.name" | grep nova)
- Apply Updated Helm Charts
Re-run the Helm deployments for OpenStack components, following your original installation guide:
Alternatively, apply in sequence (e.g., Keystone, Glance, Nova, Neutron), monitoring each for completion:
/opt/genestack/bin/install-keystone.sh
/opt/genestack/bin/install-glance.sh
/opt/genestack/bin/install-nova.sh
-
Post-Upgrade Verification
-
Check pod status:
-
Run OpenStack health checks:
-
Test key functionalities (e.g., instance provisioning, networking).
-
Monitor logs for errors: