CKS: Allow affinity group selection during cluster creation#12386
CKS: Allow affinity group selection during cluster creation#12386Damans227 wants to merge 47 commits intoapache:mainfrom
Conversation
…to CreateKubernetesClusterCmd
…ndling and enhance node type validation tests
…ubernetesClusterVO
…bernetesClusterManagerImpl
…lusterVO to support multiple IDs
…erviceHelper and related classes
…ting kubernetes_cluster
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 16294 |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #12386 +/- ##
============================================
+ Coverage 17.76% 17.94% +0.18%
- Complexity 15859 16223 +364
============================================
Files 5923 5944 +21
Lines 530470 533807 +3337
Branches 64823 65330 +507
============================================
+ Hits 94243 95812 +1569
- Misses 425682 427248 +1566
- Partials 10545 10747 +202
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@blueorangutan package |
|
@Damans227 a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 16885 |
|
@blueorangutan package |
|
@Damans227 a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✖️ el8 ✖️ el9 ✖️ debian ✖️ suse15. SL-JID 16915 |
|
@blueorangutan package |
|
@Damans227 a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 16919 |
|
@blueorangutan package |
|
@Damans227 a [SL] Jenkins job has been kicked to build packages. It will be bundled with no SystemVM templates. I'll keep you posted as I make progress. |
|
Packaging result [SF]: ✔️ el8 ✔️ el9 ✔️ el10 ✔️ debian ✔️ suse15. SL-JID 16949 |
|
@blueorangutan test |
kiranchavala
left a comment
There was a problem hiding this comment.
LGTM
| Test Case Execution | Result |
|---|---|
| Test affinity groups on cks control nodes | Pass |
| Test affinity groups on cks worker nodes | Pass |
| Test affinity groups on cks etcd nodes | Pass |
| Test differnet affinity groups on both cks control and worker nodes | Pass |
| Test manual scaling of cks cluster which has affinity groups present on control and worker nodes | Pass |
| Test auto scaling of cks cluster which has affinity groups present on control and worker nodes | Pass |
| Test changing of affinity groups on a stopped cks cluster | Pass |
| Test changing of affinity groups on a cks instance which is part of a cks cluster | Pass |
| Test creating of cks cluster which has invalid affinity group | Pass |
| Test creating of cks cluster which has invalid node type | Pass |
| Test the applying affinity groups on a cks cluster which was present before the upgarde | Pass |
| Test listing of affinity groups for a user when creating a cks cluster | Pass |
| Test the creation of affinity groups for a user from a admin user | Pass |
| Test cks deployement with affinitygroups from a project | Pass |
| Test the cks deployment with affinity groups from a user account | Pass |
| Test scaling with affinity groups when there is no capacity on the hypervisor host | Pass |
Description
This PR adds support for specifying affinity groups during CKS (CloudStack Kubernetes Service) cluster creation, allowing users to control VM placement for high availability.
Changes:
nodeaffinitygroupsparameter forcreateKubernetesClusterAPIDesign doc:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Allow+users+to+select+affinity+group+during+managed+CKS+cluster+creation
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
cmk based api testing:
Screen recording
Screencast.from.2026-01-13.06-47-14.mp4
Screenshots
How Has This Been Tested?
How did you try to break this feature and the system with this change?