Runtime Upgrades¶
Runtime upgrade change types manage in-place version upgrades for language runtimes on managed hosts. Each type detects the current runtime, snapshots the host before making changes, installs the new version, updates system PATH and alternatives, and verifies the result.
Java Runtime Upgrade¶
Change type: java_runtime_upgrade
Upgrades the JVM on a managed host. Supports OpenJDK and Amazon Corretto distributions. The executor detects running JVM processes before making any changes and records them in the execution result so operators can verify application behaviour after the upgrade.
Phases:
- Preflight — detect the current Java version via
java -version, list all running JVM processes, confirm the target distribution package is available in the configured package repository - Snapshot — take an EBS or filesystem snapshot of the host
- Install new runtime — install the target Java version using the host package manager (
apt,yum, ordnf) - Update alternatives — configure
update-alternatives(Linux) or updateJAVA_HOMEandPATHin the system profile to point to the new runtime - Verify — run
java -versionand confirm the output matches the target version - Report — emit the before/after version, list of JVM processes identified in preflight, and snapshot ID
Rollback: Restore the host from the snapshot taken in phase 2.
Connector: Nexplane Agent
Python Runtime Upgrade¶
Change type: python_runtime_upgrade
Upgrades Python on a managed host. The executor enumerates installed pip packages before making changes and records them in the execution result to assist post-upgrade compatibility verification.
Phases:
- Preflight — detect the current Python version via
python3 --version, list running Python processes, enumerate installed pip packages usingpip3 list --format=json, confirm the target version is available in the configured package repository - Snapshot — take an EBS or filesystem snapshot of the host
- Install new runtime — install the target Python version using the host package manager
- Update alternatives — configure
update-alternativesor updatePATHand any version-pinned symlinks to point to the new runtime - Verify — run
python3 --versionand confirm the output matches the target version - Report — emit the before/after version, list of running Python processes identified in preflight, pip package inventory, and snapshot ID
Rollback: Restore the host from the snapshot taken in phase 2.
Connector: Nexplane Agent