'WAITING FOR CONTROLLERS'osctl get viomachineset -o custom-columns=Name:.metadata.name,Count:.spec.count shows the desired count (e.g., 3), but the cluster status is not 'RUNNING'osctl get machine lists the expected number of machine objects.7.x
The issue is caused by an out-of-band deletion of a controller VM directly within vCenter.
In a Cluster API (CAPI) managed environment like VIO, the lifecycle of VMs is managed by controllers that track Custom Resources (CRs). When a VM is deleted via vCenter instead of via VIO/Kubernetes APIs, the Machine CR remains in the database with stale metadata. Because the Machine object still exists, the viomachineset controller believes the desired state is met and does not attempt to provision a replacement, leading to a state of desynchronization.
To resolve the desynchronization and trigger a redeployment, the stale Machine object must be manually removed to allow the reconciliation loop to function.
#osctl get machine -o wide#osctl delete machine <MACHINE_NAME>#watch osctl get viomachineset#viocli get deployment