CKS node Instance stuck in "Starting" state (VM lifecycle) when a non-default (explicitly selected) template is used; works with the default SystemVM template
- Dominant language
- Java
- Stars
- 3.1k
- Forks
- 1.4k
- Avg merge
- 6d 19h
- Merged PRs (30d)
- 32
Description
### problem
When creating a CKS Kubernetes cluster and explicitly selecting a non-default node
template (the stock cks-ubuntu-2204-kvm CKS-ready image) in Advanced Settings, the
node Instance stays in the Starting VM lifecycle state indefinitely and never
transitions to Running — even though the libvirt domain is actually up on the KVM host
(the VNC console is reachable and the guest OS boots).
The same cluster creation succeeds when the default SystemVM template
(systemvm-kvm-4.22.0-x86_64) is used for the nodes. The only changed variable between
the working and failing cases is the node template selection, which points at the
Flexible Kubernetes Clusters per-node template selection path rather than at
in-guest provisioning (cloud-init / kubeadm / CNI).
STEPS TO REPRODUCE
- ACS 4.22.1.0 on KVM, CKS enabled.
- Register the stock CKS-ready Ubuntu 22.04 KVM template (
cks-ubuntu-2204-kvm),
marked "For CKS". - Register a supported Kubernetes binaries ISO/version.
- Create a CloudManaged Kubernetes cluster (3 control node HA) on a VPC tier network,
and in Advanced Settings explicitly selectcks-ubuntu-2204-kvmas the node
template. - Observe the control node Instance in the UI (Instances → the control node):
it stays inStarting. - Repeat the exact same cluster creation but do not select a template (use the
defaultsystemvm-kvm-4.22.0-x86_64): the node reachesRunningand the cluster
provisions normally.
EXPECTED RESULTS
Selecting a "For CKS" template in Advanced Settings should behave the same as the
default template path: the node Instance transitions Starting → Running within the
normal VM start window, after which CKS provisioning proceeds and the cluster reaches
Running.
ACTUAL RESULTS
Behaviour depends solely on the node template selection:
Plain Instance deployed from cks-ubuntu-2204-kvm (no CKS) | Reaches Running — works
CKS node from default SystemVM template systemvm-kvm-4.22.0-x86_64 | Reaches Running, cluster provisions — works
CKS node from selected cks-ubuntu-2204-kvm template | Instance stuck in Starting indefinitely
In the failing case:
- The control node Instance remains in
Starting(VM lifecycle state) indefinitely, so
the cluster also stays inStarting. - The libvirt domain is genuinely running on the KVM host: the VNC console is reachable
and the guest OS boots. - SSH to the node (port 2222) is not usable; the UI-displayed password is not accepted
on the VNC console (consistent with the node never being marked Running and/or the
start/provisioning workflow not completing).
### versions
Hypervisor version: KVM Ubuntu 24.04
ACS version: 4.22.1.0
Management server: Ubuntu 24.04
### The steps to reproduce the bug
_No response_
### What to do about it?
_No response_
Contributor guide
Research direction
Start by tracing the Flexible Kubernetes Clusters per-node template selection path and the VM lifecycle transition used by the Instances UI, comparing an explicitly selected cks-ubuntu-2204-kvm template with the default SystemVM template. Reproduce on KVM and inspect the libvirt domain state and node startup workflow. Done means a selected CKS template reaches Running and cluster provisioning proceeds as it does with the default template.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kubernetes, linux
- Domain
- backend, cloud, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100