OpenStack 2025.1 Epoxy to 2026.1 Gazpacho SLURP upgrade

Epoxy to Gazpacho is a SLURP-to-SLURP path that skips 2025.2 Flamingo. This page sets out what changes, the sequence, the database and message queue limits, and the rollback plan your team needs before scheduling the work.

On this page

Can an OpenStack upgrade go straight from Epoxy to Gazpacho?

Yes, the release cadence allows a direct move from 2025.1 Epoxy to 2026.1 Gazpacho without stopping at 2025.2 Flamingo, because both Epoxy and Gazpacho are SLURP releases. That permission is a starting point, not a safety check. Before you treat the skip as supported for your cloud, each OpenStack service you run must document the path in its own upgrade notes, and your team must confirm that those notes cover your deployed versions and configuration.

OpenStack has historically released on a six-month cycle. Since the 2022 cadence change, the project supports upgrades between adjacent releases and also between SLURP releases, which arrive roughly once a year. In practice, this means an operator on Epoxy can plan a single larger step to Gazpacho instead of two smaller steps through Flamingo. Gazpacho was released on 2026-04-01 as a SLURP release, so it is the target that matters for this path, while Flamingo is the intermediate release you would be skipping.

Both source and target releases are in the maintained phase according to the OpenStack releases site. Epoxy was released on 2025-04-02 and Flamingo on 2025-10-01, and both remain maintained. Stable branches are generally maintained for about 18 months, so an Epoxy cloud has a limited window before its branch moves out of maintenance. Check the releases site for current status on the day you plan, and build the schedule around the date when Epoxy support ends for your environment rather than around the date you expect to finish testing.

Start by listing every OpenStack service in your cloud with its deployed version, then read the 2026.1 upgrade notes for each one. Look for explicit statements that the service supports upgrading from 2025.1, any required intermediate steps, and changes to configuration options or database schema that affect the skip. Confirm the deployment method as well, because the 2026.1 deployment guides for Kolla-Ansible and OpenStack-Ansible describe the tooling that will carry out each step. If any service lacks a documented path, record it as a blocker. Plan a fallback to the Flamingo intermediate step for that service, or hold the whole upgrade until the gap is resolved with the project or vendor.

What changes between Epoxy and Gazpacho, and what each change asks of your team

This table lists the points where the Epoxy to Gazpacho path differs from a routine upgrade and what each one asks of your team. Read it as a checklist: the release facts set the path, while the per-service release notes and your deployment tool guide determine the actual configuration work. The main takeaway is that the skipped Flamingo release and your own list of running services will shape most of the effort.

ChangeImpactAction needed
Source release2025.1 Epoxy is a SLURP release, released 2025-04-02, and remains in the maintained phase.Confirm the exact Epoxy point release you run and record it before planning the skip.
Skipped release2025.2 Flamingo, released 2025-10-01, is not a SLURP release. This path moves from Epoxy directly to Gazpacho, so Flamingo-era changes carry over.List Flamingo-era changes you applied or configured, then confirm each one is reflected in the Gazpacho notes.
Target release2026.1 Gazpacho, a SLURP release, was released on 2026-04-01.Pin the target to Gazpacho and confirm every release note you review matches that version.
Per-service configurationEach service has its own changes between Epoxy and Gazpacho, and the set depends on the services you run.Pull the Gazpacho release notes for each service you deploy, and list those that touch your configuration, options or defaults.
Deployment path: Kolla-AnsibleKolla-Ansible deploys OpenStack in Docker containers with Ansible, so image, globals and inventory changes shape the upgrade steps.Follow the 2026.1 Kolla-Ansible guide and rehearse the merged configuration in a staging environment first.
Deployment path: OpenStack-AnsibleOpenStack-Ansible deploys in LXC containers or on bare metal, so your host and container layout determines which steps apply.Confirm the 2026.1 OpenStack-Ansible guide covers your host layout and any role or variable changes you carry.
Support windowStable branches are maintained for approximately 18 months. Afterwards, only SLURP releases may enter an unmaintained phase with reduced CI before end of life.Ask the release team or your vendor which Gazpacho lifecycle dates apply, and plan your next upgrade from them.
Shared dependenciesDatabase, message queue and identity settings can change between releases, and the release notes and deployment guide are the authoritative source for those changes.Record current database, message queue and Keystone settings, then compare them against the Gazpacho guide before any prechecks.

Why the SLURP path lets you skip Flamingo safely

The SLURP path is only a safe shortcut if you read the release cadence correctly. OpenStack has historically released on a six-month cycle, so a cloud that upgraded at every release would move through each one in turn. The 2022 cadence change altered that by allowing upgrades between SLURP releases in addition to upgrades between adjacent releases. In this case, 2025.1 Epoxy (released 2025-04-02) and 2026.1 Gazpacho (released 2026-04-01) are both SLURP releases, so the cadence change is what makes a direct move between them a documented option. 2025.2 Flamingo (released 2025-10-01) is the release in between. The cadence permits the skip, but permission at the release level does not settle what happens inside each service.

The skip is a per-project question, and this is where most of the planning effort belongs. Each OpenStack service is maintained by its own project team, and each team decides which upgrade paths its code and database migrations support. A cloud running Keystone, Nova, Neutron, Glance, Cinder and Placement, among others, needs an answer for every service it runs. Read the Flamingo and Gazpacho release notes and upgrade sections for each one, and confirm with the project teams wherever the notes are silent. Build a service-by-service table that marks each component as supporting the skip, requiring an intermediate step through Flamingo, or unknown. Treat any unknown entry as a blocker until it is resolved.

Stable branch maintenance decides when the team must move. OpenStack stable branches are maintained for approximately 18 months. After that, only SLURP releases may enter an unmaintained phase, which means no further releases and reduced CI, before end of life. Epoxy is a SLURP release, so its stable branch can enter that phase after its maintained period, but the current status should be checked on the OpenStack releases site before the deadline is set. Flamingo is not a SLURP release, so the team should confirm its end of maintenance on the same site. Because maintained branches receive the fixes you depend on, a team that waits for the last safe moment has less room to recover if a skip-level test fails.

Before committing, run the skip in a non-production environment built from the same deployment configuration, and record the result for each service. Keep Flamingo as the documented fallback path. If a service needs the intermediate step, the team should know which migrations, configuration changes and service restarts that step adds before the production window opens. Ask the team that will run the upgrade to confirm the deployment tool version, its prechecks and its rollback steps for the skip path, because tool guidance may follow the release order. Record each service as a documented go or no-go, signed off by the people who operate that service.

How to prepare an OpenStack upgrade before the first change window

These four areas must be complete before anyone approves the first change window for the 2025.1 Epoxy to 2026.1 Gazpacho SLURP upgrade. Each one guards against a different failure: a lost control plane, an override that breaks silently, a path that was never rehearsed, or storage that cannot be returned to a known state. Treat them as one gate that must pass before the window is approved.

Verified control plane backup

Take a backup of every control plane database, including the Keystone, Nova, Neutron, Glance, Cinder and Placement schemas, and copy the deployment configuration alongside it, including the globals and password files in your Kolla-Ansible configuration directory. A backup counts only after a restore into an isolated host succeeds and the restored services start against it. Ask your database administrators to confirm the schema list, the dump method and who holds the encryption keys. Store copies outside the cloud they protect.

Inventory of customizations

List every change made on top of the upstream release: custom Ansible overrides, Kolla config merges under the service configuration directories, third-party plugins and drivers for Neutron, Cinder and Nova, and any patched container images. Record the owner, the reason for each change and whether it is still needed on Gazpacho. Keystone federation mappings and Ceph integration settings belong in this inventory too, because a mapping that worked on Epoxy must be retested on Gazpacho, and Cinder and Glance keyrings and pool names must match the configuration you carry forward. Flag any item that is incompatible with 2026.1 for a fix or removal before the window.

Test environment matching production

Build a test environment that starts on 2025.1 Epoxy and matches production topology: the same number of controllers, network and compute nodes, the same hypervisor mix, the same Ceph layout and the same deployment tool version. Load it with data at a comparable scale, including instance counts, volume counts and database size, because migrations behave differently on small datasets. Since 2025.2 Flamingo is skipped, the rehearsal must go directly from Epoxy to Gazpacho. Run the full sequence, time each stage in your own environment, and rehearse the rollback path before you trust the plan.

Snapshot of Ceph-backed resources

Ceph backs Glance images, Cinder volumes and backups, and Nova guest disks, so identify every RBD image and pool these services use before the window. Confirm that the cluster reports a healthy state, then take consistent snapshots of the volumes and disks that matter, quiescing applications where possible. Record pool names, replication settings and the client keyrings used by each OpenStack service. Snapshots live in the same cluster they protect, so treat them as a fast rollback point and keep a separate copy of critical data as the recovery source.

Database migrations and message queue limits in an OpenStack upgrade

Each OpenStack service owns its database schema and runs its own migrations during an upgrade, so the schema step is a per-service task rather than one event for the whole cloud. Before you schedule the Epoxy to Gazpacho move, build a list of every service you deploy, including identity, compute, networking, image, block storage, placement and any orchestration or key management services in your design. For each one, confirm which schema migrations cross from the 2025.1 release to the 2026.1 release, and the order in which they must run. Do not assume that a skip-level path changes nothing because intermediate releases are skipped. The release notes and upgrade notes for each service on the target release are the starting sources, and your own deployment's database state is the final check.

Turn that research into a written migration plan that your team and any partner can review. For each service, record the schema change, whether it can run while the service is still serving requests, what downtime it implies, who runs the command, and what evidence proves it finished. Take a verified database backup before the first container changes, and restore that backup to a separate environment to confirm it works. The migration order also affects rollback, because after a schema has moved forward, restoring the old container images alone may not bring the old schema back. Your rollback plan therefore needs a tested database restore path for every service whose schema changes.

The message queue deserves the same attention as the databases. In most Kolla-Ansible deployments, RabbitMQ is the broker that carries remote procedure calls and notifications between OpenStack services, so a broker problem stops services even when their databases are healthy. Before moving any service, record the RabbitMQ version your cluster runs today and check it against what the target release and your deployment tooling expect. The sibling Kolla-Ansible upgrade runbook covers the RabbitMQ one-major-version rule and the sequence for moving the broker. Follow that runbook for the broker steps, and confirm the rule against the RabbitMQ version in your own environment before you start.

A partial run, where the upgrade is limited to some hosts or services with the --limit option, is one of the easiest ways to create an unrecoverable mix of versions. Services that exchange messages through the broker can end up on different releases, with schemas and message formats that the other side does not expect, and the failures may appear hours later under normal load. If a maintenance window cannot hold the whole run, agree the split in writing before starting. Define which hosts move together, which verification must pass between batches, and who can stop the run. Keep an inventory of image tags on every host at each stage so the state of the cloud is known at any point.

The OpenStack upgrade sequence from Epoxy to Gazpacho, with checks and rollback points

This sequence moves a containerized OpenStack cloud from 2025.1 Epoxy to 2026.1 Gazpacho while skipping 2025.2 Flamingo, with a verification check and a marked rollback point at each stage. The result is a tested, documented path that your team can repeat in production and hand over to operations.

  1. Confirm release notes and skip support

    The platform owner reads the Epoxy to Gazpacho release notes for every OpenStack service in your cloud and records which services document support for a direct upgrade across the skipped Flamingo release. Confirm this against the 2026.1 release notes and the deployment tool documentation for your chosen release. List any services, drivers or plugins outside the core projects, because their skip support may differ. The step is done when you hold a signed-off matrix of services, skip support status and open questions that the rehearsal must answer.

  2. Back up and inventory the cloud

    The operations team takes consistent backups of the databases used by OpenStack services, the Keystone fernet keys, and the deployment tool configuration directory. They inventory hypervisors, Ceph clusters, message queue nodes, network and load balancer configuration, and the image tag of every running container. Store copies outside the control plane. Verification: restore one backup into an isolated environment and confirm the database opens and lists the expected projects and instances. This verified backup set is rollback point 1.

  3. Rehearse the upgrade in a test environment

    Build a test environment that matches production in release, deployment tool version, hypervisor mix, Ceph layout and integrations such as Keystone federation. Restore the production backup into it and run the full runbook, logging every failed task, manual intervention and unexpected behavior. Verification: the rehearsal completes, you confirm which instances, if any, were interrupted and why, and login through your identity provider still works. Revise the runbook from the findings. Production work starts only after a clean rehearsal with no open high-severity findings. Rollback point: the test environment can be rebuilt from the backup at any time.

  4. Run prechecks and pull container images

    Run the precheck command from the deployment tool documentation for the 2026.1 release against the full inventory, and resolve every failure before continuing. Prechecks typically cover host readiness, configuration validity, service connectivity and database state. Pull all 2026.1 container images to every node in advance so the change window does not depend on registry availability. Verification: prechecks report no failures, image digests match the release image list, and free disk space on each node is confirmed. Rollback point: running services are untouched at this stage, so stopping here is a clean exit.

  5. Upgrade the control plane services

    Upgrade the API, scheduler, identity and networking control services on the controller hosts, following the order that the deployment tool documentation specifies for the release. Before you start, confirm the message queue version constraints in the release notes and avoid running mixed versions across the queue cluster unless the documentation allows it. Verification: each control service reports healthy, every service catalog endpoint answers, and Keystone issues a test token. Rollback point: the step 2 backup and the pre-upgrade image tags allow a redeploy of the previous release, provided the documentation supports redeploying it at this stage.

  6. Run database migrations and confirm schema

    Run the database migration for each service that changes schema in this release, in the order the documentation specifies. Because the upgrade skips a release, confirm that each service's migration path from 2025.1 to 2026.1 is documented and tested for the skip, and do not assume it follows the adjacent-release path. Verification: each migration completes without errors, each service reports the schema version expected for 2026.1, and a sample of read and write API calls succeeds. Rollback point: schema changes may not reverse in place, so confirm reversibility per service and treat the step 2 backup as the last reliable restore point.

  7. Upgrade compute and storage nodes in batches

    Upgrade hypervisors and storage nodes in small batches, starting with a host that has no running workloads. Evacuate or migrate workloads off each batch before updating it. For Ceph-backed Glance, Cinder and Nova disks, confirm cluster health and the Ceph compatibility stated in the release documentation before changing any client node. Verification: each batch reports its services healthy, instances on upgraded hosts boot or migrate successfully, and Ceph reports a healthy cluster after each batch. Rollback point: record the host state before each batch, and do not begin the next batch until the current one passes. A failed host can be isolated and, where the documentation supports it, returned to its previous image.

  8. Validate the cloud and close the change

    Run acceptance tests against written criteria across identity, compute, networking, block storage, object storage and image services. Include a Keystone federation login from your identity provider and an end-to-end instance launch. Compare monitoring and logging baselines from before the upgrade with current values, and confirm that backups run successfully on the new release. Verification: tests pass against the acceptance criteria, operators sign the runbook record, and the new versions are recorded in the inventory. Close the change only after this check passes. If problems surface after closure, restore the step 2 backup into the test environment to diagnose them before any production action.

How to test an OpenStack upgrade and plan a rollback

Plan the rollback before the first change window, because a rollback is only clean up to the point where an irreversible database schema change has been applied. Once a service's migrations have run in a way that the previous release cannot read, the realistic recovery path is a restore from backup, not a downgrade. Your plan therefore has to name, for each service in the 2025.1 Epoxy to 2026.1 Gazpacho path, the moment after which you stop treating the change as reversible. Confirm that point with the release notes and upgrade documentation for each project rather than assuming it from the release name.

For each service, confirm in writing whether downgrade is supported between the two releases. Do not assume that a service supporting a downgrade from its adjacent release also supports one across a skip-level jump, because the direct path from Epoxy to Gazpacho is the case you are testing. Where downgrade is not supported, define the restore path before the upgrade: which backup set is restored, who authorizes the restore, how control plane and database state are brought back into agreement, and how you confirm that instances, volumes and network state still match what the control plane reports. Record the decision points so the on-call team does not have to reason about them under pressure.

Your test scope should exercise the paths that users and automation depend on, not only whether containers start. Cover API smoke tests against each core service endpoint, and a full instance lifecycle: create, boot, snapshot, stop, resize or migrate where your design allows it, and delete. Test Keystone login for local users and for federated users coming through your identity provider, including the mapping rules that place them into groups, roles and projects. A federated login that succeeds while the mapping no longer resolves to the right project is a failure, so check the resulting role assignments explicitly.

Extend the test scope to storage and networking. Upload Glance images and confirm they can be booted. Attach and detach Cinder volumes to running instances, and verify data is intact after detach. If you use Ceph block devices for Glance, Cinder and Nova guest disks, test a boot from Ceph and a live volume attach, because a storage backend fault can look like a control plane fault. Finally, verify network paths between tenant networks, the external network, and the metadata and DHCP services, since a successful API response does not prove that traffic flows. Use a fixed test set, record results before and after each stage, and compare them against the same baseline on every rerun.

Treat the test results as the input to your go or no-go decision, and agree the criteria in advance. Decide who can declare a failure, which failures stop the change window, and which can be carried forward with a known issue. Confirm the backup you will restore from has been tested by restoring it into an isolated environment, not only that the backup job reported success. Document the sequence of steps, the owners and the communication path. Confirm any duration estimates for your own environment with your team and the vendor documentation, since the time a restore or rollback takes depends on data volume, network bandwidth and the number of services affected.

What makes an OpenStack upgrade take longer

This table compares the drivers that most often lengthen a 2025.1 Epoxy to 2026.1 Gazpacho upgrade and explains why each one adds work. Read each row as a question to answer about your own cloud before you set the upgrade window. The main takeaway is that most of the effort sits in configuration drift, identity and storage coupling, and test capacity, so measure those first.

DriverWhy it adds effortHow to reduce it
Number of services in useEach enabled service has its own schema migrations, API changes and configuration options to review across the skipDisable unused services before planning, then review each remaining service's 2026.1 release notes
Kolla-Ansible or OpenStack-Ansible customizationLocal overrides, custom roles and patched templates must be merged against new defaults and can conflictKeep overrides in version control, minimize template patches and diff configuration against Gazpacho defaults
Hypervisor count and image pull costKolla-Ansible compute nodes pull new container images, so large fleets stretch registry bandwidth and rollout timeMirror images in a local registry, stage pulls before the window and upgrade compute nodes in batches
Keystone federation depth and mapping rulesFederated mappings for SAML 2.0 or OpenID Connect must still match groups, roles and projects after the upgradeExport mapping rules, test sign-in for each identity provider and confirm group-to-role matches in staging
Ceph cluster size and integrationGlance, Cinder, backup and Nova disk pools depend on Ceph client versions and cluster health during the upgradeConfirm Ceph client compatibility, check cluster health first and upgrade storage clients in a planned order
Size of control plane databasesLarger schema migrations take longer and need verified backups before each stepMeasure database size, take tested backups and rehearse migrations on a restored copy
Availability required from tenant workloadsLimiting tenant downtime requires live migration or evacuation plans, which add steps and checksAgree maintenance windows with tenants, verify live migration paths and document which workloads can pause
Staffing and test environmentA skip upgrade needs people who know both releases and a staging cloud that mirrors productionName an owner for each service, build staging from production configuration and rehearse the full runbook

What Keystone federation and Ceph need after the upgrade

Keystone federation has to be tested with real federated logins once the control plane runs the 2026.1 Gazpacho code. A configuration that loads without errors does not prove that users still arrive in the right place. Test at least one account from each identity provider over each protocol the cloud accepts, whether SAML 2.0 or OpenID Connect. Confirm that the login completes and that the resulting token is scoped to the project the user expects. Check every mapping rule in turn. Mapping rules decide which groups, roles and projects a federated user receives from the attributes the identity provider sends, so a rule that matched before the upgrade can quietly miss a user now. Include an account that should be denied and confirm that the denial happens. If you federate one Keystone to another, run the same tests from both sides.

Keep a dated copy of the identity provider metadata, the federation settings and the mapping rules from the 2025.1 Epoxy environment before the change window. After the upgrade, compare the live results for each test account against the recorded baseline. Ask the platform team to confirm in the 2026.1 release notes whether any federation option, default or rule syntax changed between the two releases. If a signing certificate or metadata key expires near the window, schedule its renewal separately so that a federation failure is easy to tell apart from an upgrade defect. Assign one person to run the test script and a second person to check the results. Record each login, the attributes received, and the group, role and project assignments that followed.

Ceph integration needs its own check because Glance, Cinder and Nova all depend on the same storage cluster, and each authenticates with its own Ceph client identity and pool access. After the upgrade, confirm that each service still reads its keyring and configuration. Then run the operations that exercise each path. Upload an image into Glance and boot an instance from it. Create a Cinder volume, attach it to a running instance, and take a Cinder backup. Boot an instance with its root disk on Ceph so that Nova's guest disk path is tested, and do not stop at scheduling. Check that every compute host can reach the Ceph monitors and OSDs, because a host missed during redeployment will fail only when a workload lands on it.

Before the change window, confirm that the Ceph client packages or containers on the controllers and compute hosts are supported by the 2026.1 Gazpacho release and by the Ceph release your storage cluster runs. Use the compatibility information that the Ceph and OpenStack projects publish for the target release, and record the exact client and driver versions you tested. If the Ceph cluster itself needs an upgrade to stay in a supported combination, schedule that work as a separate, earlier change with its own rollback point, since it changes the storage layer under the OpenStack upgrade. Ask your implementation partner to state in writing which Ceph client version each OpenStack service will use after the upgrade. Keep the previous client images available so the Ceph client can be rolled back without reverting the whole cloud.

Questions teams ask before an OpenStack upgrade

What drives the cost of this OpenStack upgrade and what should a quote include?

The main cost drivers are the number of services in your cloud, how far your deployment has been customized, and how much testing must happen before a change window. Each service with local configuration overrides, plugins or integrations adds review and test work. A deployment built with Kolla-Ansible and site-specific overrides usually needs more configuration merging than a stock one. Cluster size, the number of hypervisors, and whether you run Ceph or external storage also affect effort. Staging rehearsals and rollback testing add time. A written quote should list the services in scope, the environments covered, the runbook and rollback plan, who performs each step, what is handed over, and what is excluded. Ask whether the price is one-time or includes follow-on support, since those costs recur differently.

How long does a 2025.1 to 2026.1 OpenStack upgrade take?

Duration depends mostly on the size of the environment, the number of test cycles needed in non-production systems, and how many change windows your organization can approve. The skip itself does not remove testing. Each service and database migration should be checked against a copy of production data before production is touched. Customizations, third-party drivers and integrations extend the test cycle, as do shared dependencies such as a common database or message queue. Organizational steps like change board approval, security sign-off and scheduling a maintenance window often set the calendar length more than the technical work. Ask for a schedule with milestones tied to named environments and go/no-go gates, and confirm which prerequisites are assumed to be ready when work begins.

What does our team need to provide for an OpenStack upgrade?

Your team needs administrative access to the control plane, compute nodes, databases, message queue, container registry and the deployment repository that holds your Kolla-Ansible configuration and secrets. You also need a staging environment close enough to production to validate each stage, and recent verified backups of databases and configuration. Change windows must be booked early, with clear rules for downtime and communication. Decision makers should be named in advance: someone to approve each go or no-go checkpoint, someone to accept the rollback criteria, and someone to speak for application owners whose workloads may be affected. Confirm these responsibilities in the written scope so that no step waits on an unnamed approver.

Can our internal team run this OpenStack upgrade without a partner?

An internal team can run the upgrade if it already operates OpenStack in production and has working knowledge of the deployment tool, database administration and message queue operations. The team should read the release notes for both 2025.2 Flamingo and 2026.1 Gazpacho, since a skip changes which intermediate steps are covered. A practical test is whether the team can complete a full upgrade in staging, restore from backup and document the results without outside help. A partner adds value through a pre-written runbook, independent review of the plan, and extra hands during the change window. Many organizations use a mix: internal staff own the cloud while an outside team reviews the plan or supports the window.

Is the Epoxy to Gazpacho skip supported for every OpenStack service?

Do not assume it is. OpenStack's release cadence supports upgrades between SLURP releases, and 2025.1 Epoxy and 2026.1 Gazpacho are both SLURP releases, but support must still be confirmed at the level of each project and each deployment tool. Individual services can have upgrade notes, database schema changes or ordering requirements that affect a direct jump. Check the release notes for every service you run, and check the upgrade documentation for your exact Kolla-Ansible version. Your written scope should include a service-by-service matrix that records the source version, target version, required intermediate actions and the evidence that each service was tested through the skip path.

What happens if the OpenStack upgrade fails partway through?

The outcome depends on what has already changed. Database schema migrations are often hard to reverse, so verified backups of databases and configuration must exist before the first change. Rollback should be planned per stage: restoring from backup, or redeploying the previous container images and configuration. Partial runs that target only some hosts can leave the cloud with mixed versions, which is why such runs should be avoided unless the release notes allow them. Agree failure criteria and go/no-go checkpoints in advance. Confirm the RabbitMQ version rules and any service-specific constraints in the release notes. The written scope should name the rollback steps, the decision owner, and the evidence that will be captured, and it should state which recovery times are expected only after they are confirmed.

Who supports the cloud after the upgrade is finished?

The upgrade is usually a fixed-scope engagement with a defined start, deliverables and handover. After it closes, ongoing support, upgrades and monitoring of the cloud can be covered by a retainer if your organization wants that. DeployOpen plans, implements, hardens, backs up, upgrades, documents and supports self-hosted open-source platforms inside your own infrastructure, so the cloud stays under your control. Ask for the handover package in writing: updated runbooks, configuration references, backup and restore procedures, and a list of open items. Then decide whether your internal team takes over operations or whether a retainer covers the next upgrade cycle. Clarify who is responsible for security patches between releases.

How DeployOpen scopes, delivers and supports your OpenStack upgrade

DeployOpen plans, implements, tests and documents the move from OpenStack 2025.1 Epoxy to 2026.1 Gazpacho inside your own infrastructure, skipping 2025.2 Flamingo. Engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ongoing support and upgrades are available as a retainer.

How we scope

  • The written scope lists which OpenStack services move in the Epoxy to Gazpacho path and which stay out.
  • Scoping reviews your deployment configuration, plus any Ceph or Keystone integrations, before any change is planned.
  • Scope names the deliverables: upgrade plan, rollback plan, test evidence, runbooks and handover documentation.

How we build

  • Upgrade steps run in a staging copy of your cloud before production, covering database migrations and message queue changes.
  • Keystone federation, Ceph-backed Glance, Cinder and Nova, and other integrations are re-verified after each service upgrade.
  • Rehearsal results, including prechecks and any failed steps, are recorded before the production window is booked.

How we hand over

  • Handover includes an as-built record of the 2026.1 Gazpacho deployment, configuration and service versions.
  • Runbooks cover the upgrade procedure, rollback steps, RabbitMQ and database considerations, and post-upgrade checks.
  • Walkthrough sessions let your operators repeat the upgrade steps and rollback steps with their own team.

How we support

  • Ongoing support is available as a retainer for issues that appear after the cutover.
  • Later OpenStack upgrades are scoped separately, with a new written scope before work starts.
  • Retainers can cover continuous security testing of the cloud's APIs and management endpoints after the upgrade.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.