Complete the checks and actions below before upgrading Automation Analytics and Intelligence (AAI) from version 24.4.x or earlier to 26.0.0.
Skipping any of these can result in a blocked upgrade, broken integrations after the upgrade completes, or an under-provisioned environment.
New to certificate terminology? This article uses terms like certificate authority and keystore (in item 2 below) without redefining them.
See: AAI Glossary — Terms Used in the 26.0.0 Upgrade Documentation
Not applicable. This article is a pre-upgrade action checklist, not a resolution to a specific reported problem.
Before running any command in this article, confirm you have:
keytool on your PATH (used in item 2). This ships with any JDK. Check with keytool -version (identical command on Linux and Windows). If it's not recognized, either add your JDK's bin directory to your PATH, or check whether your AAI installation bundles its own JDK and point to that JDK's keytool by its full path instead.helm already configured against the correct cluster and namespace (used in item 3) — confirm with helm version.<install> throughout) and, on Kubernetes/OpenShift, your Helm release name and namespace.testDbConnection programmatically, confirm the caller has administrative rights and the target host is one you expect to be allowed (item 1).Two existing REST calls change behavior in 26.0.0, and both tend to get mis-diagnosed as "intermittent connectivity" or "something changed in the network" rather than recognized as API changes — because nothing on the network actually changed.
| Call | What changed | What you'll see if you don't update first |
|---|---|---|
| Login with an auth token | Was a GET with the token in the URL; is now a POST with a JSON body | Any automation still using the old GET form breaks outright after the upgrade |
Job action endpoint (PUT .../action) | Removed entirely | Calls fail with 404/405 — easy to misdiagnose as an intermittent integration failure rather than a removed endpoint |
Action: before your upgrade window, search your own automation, scripts, and integrations for any use of the token-based login call or the job-action endpoint, and update them ahead of time. Don't rely on a generated API client or spec to tell you whether the job-action endpoint still exists — confirm directly against a running 26.0.0 system if you have access to one, since published specs can lag behind what the server actually accepts.
A related, smaller change: testDbConnection now requires an administrative caller, and validates the target host against an allow-list. If any of your tooling calls this programmatically, confirm it runs with sufficient privilege and that the hosts it targets are ones you expect to be permitted — otherwise expect a new "host is not an allowed database host" error where none existed before.
This item applies to VM/traditional-installer upgrades only. If you run AAI on Kubernetes/OpenShift via Helm, this check does not apply to you — skip to the note at the end of this section.
If your VM installation has HTTPS enabled, the upgrade carries your existing certificate forward exactly as-is — same file, same private key, same content. It is not used to sign a new certificate, and it does not need to be a certificate authority.
There is no certificate-authority requirement to satisfy before upgrading, regardless of which prior version you're upgrading from.
What you do need to check beforehand: confirm your current certificate includes the Subject Alternative Names (SANs) it needs — the hostnames and/or IP addresses your users and integrations actually use to reach it.
This matters more after this upgrade than it used to: earlier upgrade behavior minted a brand-new certificate that could paper over a missing SAN on the original.
Now your original certificate is served exactly as it is, so a missing SAN becomes a visible browser warning or connection failure after the upgrade, rather than something the upgrade quietly covers for you.
Check this yourself before your upgrade window:
Linux:
keytool -list -v -keystore <your-keystore-file>.p12 -storetype PKCS12 -storepass <your-keystore-password> \
| grep -A5 -i "SubjectAlternativeName"Windows (Command Prompt — findstr can't show extra context lines; use the PowerShell form below if you need the full block):
keytool -list -v -keystore <your-keystore-file>.p12 -storetype PKCS12 -storepass <your-keystore-password> ^
| findstr /i "SubjectAlternativeName"Windows (PowerShell — shows the surrounding lines, closer to the Linux output):
keytool -list -v -keystore <your-keystore-file>.p12 -storetype PKCS12 -storepass <your-keystore-password> `
| Select-String -Pattern "SubjectAlternativeName" -Context 0,5Example output (what you want to see):
SubjectAlternativeName [
DNSName: myaai.example.com
IPAddress: 10.20.30.40
]How to read it: you should see an entry for every hostname (DNSName) and/or IP address (IPAddress) your users or integrations use to reach this install.
If the block is missing entirely, or is missing an address you rely on, get an updated certificate from whoever manages your organization's certificates before your upgrade window
— this isn't something the upgrade can fix for you afterward without a new certificate. Full background on the certificate model behind this check is in the ports/HTTPS/certificates article (see Additional Information).
On Kubernetes/OpenShift: this check doesn't apply — the gateway's own certificate isn't touched by this upgrade path at all. Verify your external TLS independently
— check whether your Route/Ingress uses the cluster's router wildcard certificate or a TLS secret you supplied, rather than looking for anything on the Frontend Gateway itself.
On a VM install: the upgrade process merges your existing configuration into the new format automatically, adding any new settings it needs without overwriting values you've already set. On a successful upgrade, it then deletes its own backup copies of the pre-upgrade configuration file as a cleanup step.
Action: before starting, copy both of your configuration directories somewhere safe — there are two, and both hold settings you may have customized.
Linux:
cp -r <install>/configuration <install>/configuration.pre-upgrade-backup
cp -r <install>/jboss/standalone/configuration <install>/jboss-standalone-configuration.pre-upgrade-backupWindows (PowerShell):
Copy-Item -Recurse "<install>\configuration" "<install>\configuration.pre-upgrade-backup"
Copy-Item -Recurse "<install>\jboss\standalone\configuration" "<install>\jboss-standalone-configuration.pre-upgrade-backup"Don't rely on the upgrade's own internal backup surviving afterward — by design, it won't be there once the upgrade reports success, so it's not something you can go back and grab after the fact if you later want to compare before/after values.
On Kubernetes/OpenShift: there is no on-disk configuration directory to back up in the way a VM has one — configuration files inside a running pod are reset from the container image on every pod start, so editing or copying them directly is not a reliable before-image. The actual source of truth for your settings in this environment is your Helm release configuration.
Action: export it before upgrading:
helm get values <your-release-name> -n <your-namespace> > pre-upgrade-values.yamlThat file is what you'd compare against afterward, or use to help reconstruct your settings if something needs to be rolled back.
This applies whenever your connectors present a client certificate directly to the Frontend Gateway
— always true on a VM install. On Kubernetes/OpenShift, this is not the default: the gateway's own TLS ships disabled, and the Route/Ingress in front of it defaults to edge termination (or no TLS at all), so client certificates never reach the gateway out of the box.
If your cluster runs that default configuration, this item doesn't apply to you. It only applies if someone has deliberately switched the Route/Ingress to passthrough mode and enabled the gateway's own TLS
— confirm that's actually your setup before planning around this.
Where it applies: every client-certificate-authenticated connector will stop working the moment the upgrade completes, because after the upgrade the gateway validates connectors against a brand-new,
dedicated connector certificate authority it generates automatically — one that has no relationship to your existing connector certificates.
(Your gateway's own certificate is not reissued by this upgrade and is not the cause of this.)
Action: treat regenerating and redeploying each affected connector's certificate as part of the same maintenance window, not a follow-up task
— plan for integrations to be unavailable between the upgrade finishing and this step completing. See the connector-impact article for the exact steps (Additional Information).
The default JVM memory settings for the main application jump significantly in 26.0.0.
| Setting | 24.4.x default | 26.0.0 default |
|---|---|---|
Maximum heap (-Xmx) | 2048m | 8192m (4×) |
Initial heap (-Xms) | 1024m | 2048m (2×) |
A host that was appropriately sized for 24.4.x's defaults may be under-provisioned for 26.0.0's.
free -hGet-CimInstance Win32_OperatingSystem | Select-Object TotalVisibleMemorySize,FreePhysicalMemory (values are in KB), or check the Performance tab in Task ManagerA few things change the moment the upgrade completes that aren't broken, but can look that way if you don't expect them:
This item applies to VM/traditional-installer upgrades only. There is no Helm/Kubernetes equivalent — this is specific to the standalone upgrade tool (upgrade.sh on Linux, upgrade.bat on Windows).
The upgrade tool reads a properties file before it runs. Two situations require you to create or edit that file before starting the upgrade, not just pass a command-line flag:
true in the properties file beforehand.Action: before starting the upgrade, create or edit the upgrade properties file in the upgrade bundle's properties directory and set:
true, if you're running in silent/automated mode.SELECT DISTINCT tablespace_name FROM dba_tables WHERE owner = '<your schema owner>';
SELECT DISTINCT tablespace_name FROM dba_indexes WHERE owner = '<your schema owner>';Consult your product documentation for the exact property names and file location for your version. Setting these correctly beforehand avoids a partially-failed silent run and avoids needing to hand-correct the generated database script in item 8.
The upgrade includes a generated SQL script that performs the real database schema changes (new tables, columns, and default rows). Depending on your installation mode, running this script may be a separate manual step.
Action: after the upgrade finishes, before considering it complete, confirm the new schema objects exist. For example, check for the new cost-tracking and data-insight tables your target database should now have.
Simply re-running the upgrade tool after a failed or interrupted first attempt is not safe. The properties file the tool reads picks up leftover state from the failed attempt (resume-related keys the tool wrote during that run),
which causes the tool to treat the next run as a resume of the broken attempt rather than a fresh run — and it crashes immediately, before doing anything useful, on every subsequent attempt while that state remains.
Action: before retrying, reset the upgrade properties file to a clean, minimal state — only the automation property (if applicable) and the existing-installation-directory property should remain — then re-run the upgrade as a fresh attempt.