Updated Date: 11/03/2026
Platform Health Assessment Suite Overview
The Platform Health Assessment Suite is a collection of heuristic scripts that check the health of your F5OS platform before you start an upgrade. These scripts detect issues that could cause upgrade failures or extended outages.
The scripts run inside the Health Engine, collect platform health data, and produce structured results. Each script addresses one specific platform health concern and operates independently of the others.
F5OS chassis upgrades in production environments can fail or cause extended outages when pre-existing platform health issues go undetected before the upgrade begins. Common issues include:
- Degraded ETCD clusters: Rebooting a controller during a rolling upgrade can drop the cluster below quorum, halting configuration and state operations.
- Broken inter-controller networking: Communication loss between controllers breaks the upgrade handshake, causing the upgrade to hang or fail silently.
- Missing team0 trunks: A missing bonded management interface isolates the controller, which may not recover after reboot.
- Desynchronized LACP members: Desynchronized members on management link aggregation groups (LAGs) break failover when a controller reboots, resulting in complete management-plane loss.
- Expired certificates: Expired system certificates mid-upgrade break peer communications and authentication, potentially leaving the system unrecoverable.
- Memory-leaking services: A service that crashes due to an out-of-memory (OOM) condition during the reboot cycle can leave network interfaces unconfigured, isolating the controller.
The health assessment suite detects these conditions before you start the upgrade so you can resolve them first.
The Health Engine is the execution framework for all health check scripts. It:
- Dispatches scripts and runs them in parallel
- Enforces per-script timeouts
- Aggregates results from all scripts
- Surfaces action recommendations
The Engine does not perform corrective actions itself. It surfaces recommendations that the platform alarm and event subsystem acts on.
Each script is a self-contained check that contains domain-specific assessment logic. Scripts:
- Are read-only — they do not modify system configuration or operational state.
- Produce structured JSON output following a common contract. For details, see Heuristic script inventory and JSON contract reference.
- Emit action recommendations that the Engine surfaces for the platform to act on.
- Use a fail-safe approach — if a check cannot complete, the script returns an error with a critical-severity result so that “cannot verify” is treated as unsafe.
Scripts are organized by platform role using a prefix-based naming model. For the complete naming convention and script inventory, see Heuristic script inventory and JSON contract reference.
- Scripts run on the active controller only.
- Scripts that need standby controller data query it remotely from the active controller. They do not run on the standby controller.
- For per-script and suite-level performance limits, see Performance requirements.
The suite includes checks for the following areas:
| Health Check | Description |
|---|---|
| ETCD cluster quorum | Verifies ETCD member health and quorum status |
| Inter-controller network | Checks high availability (HA) heartbeat, Configuration Database (CDB) replication, and controller-to-controller reachability |
| Controller-to-blade network | Verifies backplane connectivity and NFS mount accessibility for all blades |
| team0 trunk status | Confirms team0 bonded management interface existence and link state |
| OKD/K3s cluster health | Checks node status, system-namespace pods, and scheduler health |
| Certificate and token expiry | Identifies expired or soon-to-expire system certificates |
| LACP member synchronization | Verifies LACP member port states for LAG interfaces |
| Crypto and key integrity | Runs Linux Kernel Runtime Guard (LKRG) health checks and verifies image signatures |
| NetworkManager and service memory | Checks NetworkManager health and detects memory leaks in platform services |
| ISO image health | Verifies ISO import status on both controllers |
| Upgrade and rollback status | Reports whether the last upgrade or rollback succeeded or failed |
| Service health fault detection | Detects services that have stopped running and raises alerts |
For detailed information about each check, see Pre-upgrade health checks reference.
- Scripts log execution start, completion, and results to the Health Engine’s internal log in structured JSON format. Scripts do not write to syslog directly.
- Scripts do not generate Simple Network Management Protocol (SNMP) traps or alerts directly.
- Script results are persisted in the Health Engine’s cache directory and included in QKView.
For details on log entry format, see Run pre-upgrade health checks.
- Scripts run within the Health Engine’s process context and inherit the Engine’s permissions.
- Scripts are read-only and must not modify system configuration or change operational state.
- Script output is only exposed to authenticated administrators through the pre-check report.