Unable to update worker node SSH key for CloudStack cluster.
- Dominant language
- Go
- Stars
- 2.1k
- Forks
- 328
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 9
Description
**What happened**:
Attempted to update the ssh keys and run an upgrade. The upgrade was successful, the control plane rolls out a new node and the new ssh key could be used to access the node. However, a new worker node not rolled out and the new SSH key could not be used to access the node, while the old one still worked.
**What you expected to happen**:
The new SSH key could be used to access the worker node after upgrade.
**How to reproduce it (as minimally and precisely as possible)**:
- Create a CloudStack management cluster providing some initial ssh keys on the `CloudStackMachineConfigs`.
- Update the ssh keys on the `CloudStackMachineConfig` referenced by the worker nodes and run an upgrade on the management cluster.
- On success, try to connect to the worker node with the new SSH key.
This issue only exists with the CLI. It looks like when the CLI decides to rename the`KubeadmConfigTemplate` for the worker nodes only when the taints in the `WorkerNodeConfigurationGroup` change. Other providers that don't have the issue, like vSphere, also check for changes in the `Spec.Users` of the machineconfig, and rolling out a new node even for existing worker nodes.
Contributor guide
Research direction
Start with the CLI logic that decides when to rename the worker-node KubeadmConfigTemplate, then compare it with the vSphere provider's handling of Spec.Users. Reproduce the CloudStack upgrade with changed CloudStackMachineConfig SSH keys; done means a new worker node rolls out and accepts the new key while the old key no longer does.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- cli, infrastructure
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100