Skip to content

HA Service

The KVM High Availability Service monitors hypervisor health across the cluster and triggers VM evacuation when a node fails or becomes unresponsive. It is the central component that makes CobaltCore's compute layer resilient to hardware failures.

How it works

Each hypervisor runs the KVM HA Agent, which pushes telemetry (libvirt events, instance state, uptime) to the HA Service. The HA Service processes this data, tracks hypervisor health over time, and calls Nova's evacuation API when a node is determined to be unhealthy.

Internal tasks

TaskRole
SourcesCollects telemetry from HA Agents (pull via HTTP endpoints or push via HTTP senders)
MonitoringEvaluates telemetry against thresholds; triggers Nova evacuation when a hypervisor is unhealthy
HypervisorsKeeps the local hypervisor inventory in sync with Nova

Evacuation flow

  1. HA Agent on a hypervisor node stops sending heartbeats (node unreachable or crashed)
  2. Monitoring task detects the gap exceeds the configured threshold
  3. HA Service calls Nova's host evacuation API for the affected hypervisor
  4. Nova reschedules VMs from the failed node to healthy hypervisors
  5. Hypervisors task marks the evacuated node as disabled in Nova

See also

EU and German government funding logos

Funded by the European Union – NextGenerationEU.

The views and opinions expressed are solely those of the author(s) and do not necessarily reflect the views of the European Union or the European Commission. Neither the European Union nor the European Commission can be held responsible for them.