OpenBao 2.7 upgrade

An OpenBao 2.7 upgrade changes the file backend, how auth and LDAP engines load, PKI certificate naming and the order in which HA nodes must be upgraded. This page explains what to check, the standby-first sequence, and what drives the effort.

On this page

Why an OpenBao 2.7 upgrade needs a written plan before any node is touched

The OpenBao 2.7 upgrade is a planned change to storage, plugins, PKI naming and HA order, and it cannot be handled as a routine binary swap. If you run OpenBao clusters, your task is to move them to 2.7 without losing secrets, auth paths or certificate issuance, and that outcome depends on decisions made before the first node is touched. OpenBao 2.7.0 was released on September 23, 2026, and 2.7.1 followed on October 1, 2026. Plan against the latest 2.7 patch, and confirm whether a later patch exists before you fix the target version in your change record.

The supported path is described in the 2.7.0 release notes and the OpenBao migration guide. The migration guide covers in-place replacement of the Vault server process on all nodes, with configuration, endpoints and URLs left unchanged. Its procedure was tested only against Vault 1.14.1 community edition, and Vault Enterprise was not part of that testing, so Enterprise clusters need their own validation. The path also depends on your current version and your storage backend. Confirm which steps apply to your starting version, including whether a cluster bootstrapped before Vault 1.3 needs a rekey, and whether disable_mlock has been removed from every configuration file, since OpenBao stopped using mlock in 2.0.0.

Write down which storage backend each cluster uses and whether 2.7 changes it. The release notes describe the removal of the file backend, so any cluster still on that backend needs a documented route to a supported backend before the upgrade window opens. Supported high availability backends are integrated storage (Raft) and PostgreSQL. Record the backend version, the storage path, the backup location and the owner of each cluster. An inventory of this kind turns the upgrade from a general intention into a list of checks that can be signed off one by one.

Inventory every auth method and secrets engine that depends on behavior changing in 2.7. The LDAP and auth engines moving to plugins mean that plugin registration, mount paths and any custom configuration must be confirmed on a non-production copy. PKI deserves its own review: the trailing-dot fully qualified domain name change can affect role definitions, issued certificate names and the clients that validate them. List every consumer of issued certificates and test each one. For HA, plan a standby-first order so that the active node is upgraded last, and record the health checks that must pass before moving on to the next node.

The written plan should name an owner for each cluster, the change window, the backup and restore test that proves recovery is possible, the rollback criteria that trigger a return to the prior version, and the approvers who sign off before production work begins. Rehearse the full sequence on a copy that matches production configuration, storage backend and auth setup. If you want an implementation partner to prepare this plan, ask for a written scope that lists the clusters, environments, deliverables and timelines, because DeployOpen provides a quote from that scope.

What changes in OpenBao 2.7 and what each change asks of your team

This table lists the main changes in OpenBao 2.7 and the work each one asks of your upgrade team. Read each row as a question: does this apply to our cluster, and what must we change before the upgrade starts? Several impacts depend on exact behavior in the 2.7.0 release notes, so confirm those details before you schedule the change window.

ChangeImpactAction needed
Removal of the file storage backendClusters that still use file storage cannot continue on it after the upgrade. Confirm the exact removal scope in the 2.7.0 release notes.Inventory every storage stanza in each node's configuration and migrate to a supported backend before upgrading.
Auth and LDAP engines moved to pluginsAuth methods now load as plugins, so a server without the plugin cannot serve those logins.List every enabled auth method, confirm the LDAP plugin package and install path, and test logins in staging.
PKI handling of trailing-dot FQDNsCertificate requests and role settings that use trailing-dot names may be handled differently after the change.Search roles, templates and clients for trailing-dot names and test issuance against the 2.7 build.
Standby-first HA procedureUpgrading the active node first can force avoidable leadership changes during the window.Upgrade standby nodes first, check health after each one, then upgrade the former active node following the documented order.
PostgreSQL read operations on standbysRaft standbys serve read-only operations from 2.5.0. Version 2.7.0 extends this to PostgreSQL standbys.Decide whether reads will route to standbys, confirm client and load balancer behavior, and confirm the consistency model in the docs.

Finding out whether your cluster still depends on the file backend

The first decision for an OpenBao 2.7 upgrade is whether any node still uses the file storage backend. The 2.7 release notes describe the file backend removal, and that change determines whether the upgrade can start as planned or needs a storage workstream first. Confirm the answer for every node before you schedule anything. Collect the storage stanza from each node's configuration, including standby nodes, nodes at a second site, and any recovery or disaster recovery nodes that do not take regular traffic. Do not rely on the intended design, because configuration drifts over time. Configuration can come from a single file, a directory of files, command-line flags, environment variables, a Helm chart or a container image definition, so check each source that a node actually reads at startup.

For each stanza, record the backend type, the path or connection settings, and the file that defines it. Map every type to a documented OpenBao backend: integrated storage (Raft), PostgreSQL, PebbleDB or in-memory. Integrated storage and PostgreSQL are the backends the high availability documentation lists as officially supported for HA. A stanza that names the file backend is a finding that needs an owner and a decision before the upgrade. For Raft nodes, confirm that the data path matches what the node uses at runtime and that the peer membership reported by the active node matches your inventory. For PostgreSQL nodes, confirm the connection target, database and schema, and that the nodes point at the same cluster. Check the results against the running systems, not only the files.

Next, confirm whether any file-backend data must be converted or exported before 2.7 can start. Read the 2.7 release notes for this requirement and note the exact wording. If the notes call for conversion, treat that as a prerequisite with its own steps and checks. If the notes are unclear or silent on your situation, ask the OpenBao maintainers through the project's published channels and keep the answer in writing before you set a date. Do not assume that the in-place replacement described in the migration guide covers storage changes. That guide covers replacing the server process on each node with configuration, endpoints and URLs unchanged, and it was tested only against Vault 1.14.1 community edition. Moving data between backends is a separate activity.

If a backend change is required, plan it as its own workstream with a named owner, a verified backup and restore test, a rehearsal on a copy of production data, a rollback point and an agreed change window. Its outputs feed the 2.7 upgrade plan, because the upgrade should be tested on the backend the cluster will actually run. When you ask a partner for a quote, request the inventory and assessment as a separate line item, then the conversion or migration engineering, testing, cutover support and any downtime planning. Ask which items are one-time and which recur, what assumptions the quote makes about data volume and node count, and what the partner needs from your team, such as access, maintenance windows and approval for production changes.

Backups, inventory and test environment before the OpenBao 2.7 upgrade

Before any node is touched, the upgrade needs a restorable backup, a complete inventory of what the cluster depends on, and a staging cluster that behaves like production. The cards below also cover the change window and the constraints and legacy settings that affect the upgrade path.

Verified backup and restore test

Take a backup of the storage backend and confirm it can be restored. Run the restore in a separate environment, and record the steps and the time each step took. Store the unseal keys or recovery keys, depending on your seal type, in a location separate from the backup and reachable by the people who must use them during an incident. A backup without the matching unseal or recovery material cannot bring the cluster back.

Inventory of configuration and dependencies

List the server configuration, enabled plugins, auth mounts, PKI roles, policies and every client that authenticates to the cluster. Clients include applications, pipelines and operators that read secrets or call the API. Record an owner and the path for each item. The list shows which items the 2.7 changes affect, including auth and LDAP engines moved to plugins and the PKI trailing-dot FQDN change, so each one can be checked in staging.

Staging cluster from production-like setup

Build a staging cluster from production-like configuration, storage backend type, seal, auth methods and network paths. Load a copy of production data or a representative subset that includes PKI roles and dynamic secret configurations. Use the cluster to rehearse the standby-first procedure, client tests and rollback steps. Confirm with your storage team which parts of production cannot be copied and how those gaps affect the results.

Change window and communication plan

Agree a change window with the teams that depend on secrets, including application owners and platform and CI/CD operators. Write a communication plan that names who approves the start, who is told when each node changes role, how incidents are raised and who can call a rollback. Check the window against your maintenance calendar and any freeze periods, and name a contact for each dependent system.

Migration guide constraints

The migration guide describes replacing the Vault server process in place on all nodes, with configuration, endpoints and URLs unchanged. Its testing covered only Vault 1.14.1 community edition. Teams running Vault Enterprise or another Vault version should plan and test their own path before production. Confirm with the guide and your vendor contact whether your exact version and edition are covered before you set the change date.

Legacy settings to check first

Clusters bootstrapped before Vault 1.3 may need a rekey before the move, so review the bootstrap history and plan the rekey with the unseal key holders present. Remove disable_mlock from every configuration file, because OpenBao stopped using mlock in 2.0.0. Check each node, including any added later, so that no copy of the old setting remains on the path to 2.7.

The standby-first sequence for an OpenBao 2.7 cluster

This sequence moves a clustered OpenBao deployment to 2.7 one node at a time, with the active node upgraded last. Each step ends with a check that tells the team whether to continue, pause or roll back before the next node changes.

  1. Confirm current version, backend and HA state

    Before any node changes, record the running version on every node, the storage backend in use and the HA state: which node is active, which nodes are standby, and whether every member is healthy and joined to the cluster. PostgreSQL and integrated storage (Raft) are the officially supported HA backends, so confirm your cluster uses one of them. Ask the migration owner to check the source version against the OpenBao migration guide, which was tested only against Vault 1.14.1 community edition. Done when the team has a written inventory that every later step checks against.

  2. Take and verify a fresh backup

    Create a new backup of the data store and copy the configuration files to a location outside the cluster. For integrated storage, confirm the snapshot procedure in the HA and storage documentation. For PostgreSQL, use your database team's existing backup process and confirm its most recent run completed. A backup has only been proven once it has been restored, so restore it to a scratch environment if you can. Done when the team holds a backup it has read or restored and has recorded where it is stored.

  3. Review configuration against the 2.7 changes

    Compare each node's configuration with the migration guide. OpenBao stopped using mlock in 2.0.0, so remove any disable_mlock setting. Confirm that every storage stanza uses a backend still supported in 2.7, and that the cluster does not need a rekey, which the migration guide says may apply to clusters bootstrapped before Vault 1.3. Stage the edited files on each node without restarting any process. Done when the reviewed files are in place and the team has signed off on the list of changes. This is the last point at which no node has changed.

  4. Upgrade the first standby and verify it

    Set the rollback point before this step begins, since the first node replacement is the first change to the running cluster. Choose one standby, stop its process, replace the server binary with the 2.7 build and start it again. Confirm the exact steps and the failover behavior in the HA documentation before you start, because the cluster must keep an active node throughout. Verify that the node reports version 2.7, rejoins as a standby, health checks pass and a test client can log in through it. Done when all three checks pass and the leader has not changed.

  5. Upgrade remaining standbys one at a time

    Repeat the same procedure for each remaining standby, one node at a time, and wait for each node to pass its checks before starting the next. After every node, confirm its version, its membership in the cluster, its health status and client access through it. If any check fails, stop, leave the rest of the cluster on the prior version and investigate before continuing. Done when every standby reports version 2.7 and the active node is still the original leader on the prior version.

  6. Step down the active node and upgrade it

    Only after every standby runs 2.7, move leadership away from the active node using the step-down or failover operation described in the HA documentation. Confirm the exact command and how failover behaves in your HA backend before you run it. This is the second rollback point: once leadership moves to a 2.7 node, the former leader becomes a standby and the team's options change. Upgrade the former leader using the same procedure as the standbys, then confirm it rejoins as a standby. Done when the former leader reports version 2.7 and is healthy.

  7. Verify the new leader and read routing

    Confirm that a 2.7 node now holds leadership and that every cluster member reports the same version. Since OpenBao 2.5.0, Raft standbys can serve read-only operations, and 2.7.0 extended that to PostgreSQL. Confirm how read requests are routed in your environment, including whether standbys serve reads for your clients, and test one read through a standby and one through the leader. Done when the leader is on 2.7, all members agree and read routing matches what the team intends.

  8. Run post-upgrade checks for auth, PKI and secrets

    Test the workloads that depend on the cluster. Log in with each auth method your teams use and confirm a token is issued. Issue a test certificate from a test PKI role and confirm the certificate chain validates. Generate and then revoke one dynamic credential for each database or platform engine in use. Confirm that audit logging writes entries to every configured audit device. Done when each check has a recorded result and the team has signed off on the post-upgrade checklist.

Testing and rollback for an OpenBao 2.7 upgrade

Decide the rollback path before the first node changes, and name the person who makes that call. The staging test only proves something if staging matches production: the same storage backend (integrated storage or PostgreSQL), the same auth mounts and plugin registrations, the same secrets engines, PKI roles, policies and audit devices. Build the staging cluster from a copy of production configuration and a recent snapshot, not from memory. If any production environment still depends on the file storage backend, that dependency must be resolved before the upgrade, because 2.7 removes it. Confirm the exact removal and migration steps in the 2.7 release notes and the migration guide before scheduling work.

Test the cluster against the functions your applications depend on, not only whether it starts and reports healthy. Cover key/value reads and writes on every mount, dynamic credentials for each database or Kubernetes role, an encryption as a service round trip, and lease renewal and revocation for leases created before the upgrade. Issue certificates from each PKI role and check the FQDN handling explicitly, because the trailing-dot change in 2.7 can alter names that clients validate. Log in through every auth method in use, including AppRole, JWT/OIDC, Kerberos, LDAP, TLS certificates, tokens and userpass, and confirm that login MFA still prompts. For LDAP and the other moved engines, confirm the plugin is present and mounted at the same path. Finally, confirm that every audit device writes events your SIEM can parse.

Classify each upgrade step as reversible or restore-only before you start. Reverting a node's binary is a per-node action that works only while the data written to storage remains readable by the older release. Restoring from a snapshot is the fallback for any change that writes data the previous binary cannot read, and for any failure after storage changes are committed. The standby-first HA procedure matters here: upgrade standbys first, verify each one, and only then move leadership. Once a 2.7 node holds the active lock, older nodes may no longer be safe fallbacks, so the rollback decision for each step must be recorded before the leader changes. Confirm the reversibility of each step against the official 2.7 release notes for your storage backend.

A restore is only as good as the last restore test. Restore the pre-upgrade snapshot into an isolated environment on a schedule, not only when a rollback is urgent. Each test should confirm that the snapshot restores, that the cluster unseals with the key material your organization actually holds, that the secrets and PKI checks above pass, and that the team can complete the procedure from written steps. Record how long the restore took in your environment and use that measured figure in your rollback timing, rather than a vendor estimate. Keep the snapshot, its checksum and the unseal and recovery material in locations that the people executing a rollback can reach during an incident.

Every rollback plan should name one owner who makes the go or no-go and rollback call, with a named deputy who can act if the owner is unavailable. Write the criteria in advance: which test failures stop the upgrade, which node or leader symptoms trigger reversal, and what counts as a restore. Assign who communicates with application teams, who holds access to snapshots and unseal keys, and who records each decision and its time. Share the plan with the teams that depend on OpenBao so that they know which credentials or certificates might be interrupted during a rollback. Review the owner and contact list before the upgrade window, because the person who signs off on the upgrade is often not the person who must reverse it.

What makes an OpenBao 2.7 upgrade take longer or cost more

This table lists the factors that most often lengthen an OpenBao 2.7 upgrade or add cost, with why each matters and how to reduce it. Read it before requesting a quote, since each row identifies information your team or a partner needs to collect first. The main takeaway is that an inventory of mounts, policies and PKI consumers, a staging copy that matches production, and a recent tested restore account for most avoidable delay.

DriverWhy it mattersHow to reduce it
Number of clusters and nodesThe in-place replacement runs on every node, and standby-first ordering means each node is checked in sequence. More clusters and nodes multiply health checks and change windows.Group clusters by shared configuration, upgrade non-production clusters first, and script per-node health checks.
Storage backend and data sizeIntegrated storage (Raft) and PostgreSQL hold both data and the HA lock, and backup handling differs by backend. Clusters still on the file backend, which 2.7 removes, need a separate migration path.Confirm the backend for each cluster early, take a verified snapshot or database backup, and flag any file-backend clusters before planning.
Auth mounts and plugin-based enginesAuth and LDAP engines moved to plugins in 2.7, so each mount must load its plugin and be tested for login after the upgrade.Inventory every mount, confirm plugin availability for each one, and test every login path in staging.
PKI roles and certificate consumersThe trailing-dot FQDN change can alter issued names, which breaks consumers that match names exactly. Each role and each consumer needs review.List roles and consumers, test issuance with the new FQDN format, and agree the change with each consumer owner.
Custom policies and automationTerraform, CI pipelines and Kubernetes operators that reference specific paths or mount names fail silently or loudly when those paths change.Export and version policies, run Terraform plan against staging, and keep a register of every path that automation depends on.
Compliance evidence requirementsAssessors may ask for change approvals, pre and post health checks, and access records from the upgrade window. Collecting these after the fact is slower and less complete.Define the evidence list before the change, capture outputs automatically, and keep approvals in the change record. DeployOpen prepares evidence, while auditors assess it.
Staging availabilityWithout a staging cluster that mirrors the backend, auth mounts and PKI roles, defects surface in production. A staging copy on different versions gives weak evidence.Build staging from a recent copy of configuration and representative data, and confirm version parity before testing begins.
Recent restore testIf the team has not restored a backup recently, the rollback path is unproven. That usually lengthens approval and the planned change window.Restore a backup into staging before the upgrade, time the restore, and record any gaps in the runbook.
Vault Enterprise questionThe migration guide was tested only against Vault 1.14.1 community edition, not Vault Enterprise. If you run Enterprise features or an Enterprise edition, the tested path may not cover your cluster.Confirm your edition and the features in use, check the migration guide's scope with OpenBao, and test against your exact edition before committing to a date.

Questions teams ask before outsourcing an OpenBao 2.7 upgrade

How much does an OpenBao 2.7 upgrade cost?

No single price applies, because the cost follows from a written scope and depends on your environment. The main drivers are the number of clusters, the storage backend (integrated storage or PostgreSQL), how many auth methods and secrets engines need review, how many PKI consumers depend on certificate names, and how much testing the change requires. One-time costs cover the assessment, the migration plan, the staged upgrades and verification. Recurring costs appear only if you add a retainer for support or later upgrades. Ask for a quote that lists each cluster, each mount type, the test environment, the rollback plan and who performs each step. DeployOpen does not publish prices, and a quote follows from the agreed scope.

How long does an OpenBao 2.7 upgrade take?

The duration depends on the environment, so no fixed timeline applies across deployments. Time is shaped by how many clusters are in scope, whether HA runs on Raft or PostgreSQL, how many auth methods and plugins must be verified after the move of auth and LDAP engines to plugins, whether PKI consumers need their certificate name handling checked, and how quickly change windows and approvers are available. A cluster with a complete inventory and a working test environment generally moves faster than one where dependencies are still unknown. The written scope should tie the timeline to phases, entry and exit criteria for each cluster, and the inputs the client must provide at each step.

What does our internal team need to provide for the upgrade?

Your team provides access, information, decisions and a place to rehearse. Access includes privileged access to the nodes, the OpenBao API, configuration files and the storage backend. Inventory covers clusters, namespaces, auth methods, secrets engines, PKI roles and the systems that consume them. Change windows and named approvers must be agreed for each cluster before work starts. A test environment should match production configuration closely enough to rehearse the standby-first HA procedure. Verified, restorable backups or snapshots are also required before any node is touched. Confirm these inputs in the written scope, including who owns each one and the date each is due.

Can our own team run the OpenBao 2.7 upgrade without a partner?

Yes, an experienced platform team can run the upgrade in-house if it has the time, access and test capacity. The OpenBao migration guide describes replacing the server process in place on all nodes, with configuration, endpoints and URLs unchanged, but that guide was tested only against Vault 1.14.1 community edition, so your environment needs its own checks. A partner adds an outside review of the inventory, a rehearsed standby-first sequence, documented rollback steps and a written record of verification. It also takes that work off the same people who run production. Decide based on your team's capacity and on how much verification evidence your auditors and change board expect.

What should we check before upgrading an OpenBao cluster to 2.7?

Start with the file storage backend, which is removed in this line, so any cluster still using it needs a supported storage migration first. Next, confirm that auth and LDAP engines are installed as plugins, since they moved out of the core. Check PKI roles and clients for the trailing-dot FQDN change, because consumers that rely on the old name form can fail. Remove disable_mlock from the configuration, since OpenBao stopped using mlock in 2.0.0. If the Vault cluster was bootstrapped before Vault 1.3, plan a rekey before the move. Finally, confirm that backups are restorable and that the standby-first HA order is written down and rehearsed.

Can a partner keep OpenBao available throughout the 2.7 upgrade?

Availability during the upgrade depends on your cluster topology, storage backend, client behavior and change window, so no partner can promise zero downtime in general. The standby-first procedure upgrades standby nodes before the active node, which limits disruption when it is followed correctly. Raft standbys have served read-only operations since OpenBao 2.5.0, and v2.7.0 extended this to PostgreSQL, but write operations still depend on the active node. The written scope should describe the expected behavior for each cluster, the steps that may interrupt service, the rollback point and what the rehearsal tests. Outcomes are confirmed in that written scope before work starts.

What happens if a problem appears after the OpenBao 2.7 upgrade goes live?

Issues after go-live are handled through the support path agreed in the written scope. Before go-live, agree on the rollback point, the owner for each cluster, the escalation path and the signals you will watch, such as seal status, leader changes, plugin errors and PKI issuance failures. Ongoing support, upgrades and continuous testing are available as retainers, which can cover triage and later patch releases, including follow-up on the 2.7.1 release. Ask which response channels are included, what is excluded, and how post-upgrade work is scoped and quoted before you sign.

How DeployOpen scopes, delivers and supports an OpenBao 2.7 upgrade

DeployOpen plans, implements and supports OpenBao 2.7 upgrades inside your own infrastructure, including your cloud accounts, data centers and air-gapped networks. Each engagement starts from a written, fixed scope that identifies which version-specific changes affect your clusters before any node is changed.

How we scope

  • Inventory of OpenBao and Vault nodes, storage backend, auth methods and secrets engines in use
  • Review of configuration for removed or changed settings, including disable_mlock and PKI certificate naming
  • Written scope fixes deliverables, timeline, acceptance criteria and any out-of-scope items before work starts

How we build

  • Staging copy of your production topology used to rehearse the upgrade and rollback steps
  • Standby-first HA sequence, with each standby upgraded and checked before the active node changes
  • Test plans for auth methods, secrets engines, PKI issuance and client integrations, run in staging first

How we hand over

  • Runbook with pre-checks, node order, validation commands and rollback steps for your operators
  • Record of configuration changes, test results and open items for your change approval process
  • Knowledge transfer session so your team can repeat the procedure for later OpenBao releases

How we support

  • Post-upgrade review of seal status, leases, audit logging and HA health across all nodes
  • Ongoing support, upgrades and testing available as a retainer after the fixed-scope work closes
  • Confirm release-specific details against the OpenBao release notes before scheduling any change window

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.