Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@thiyyakat
Copy link
Member

@thiyyakat thiyyakat commented Sep 2, 2025

What this PR does / why we need it:

This PR fixes a bug which made CA treat similar node groups as dissimilar, resulting in imbalanced scale ups across zones. The PR adds the following labels to BasicIgnoredLabels:

topology.k8s.aws/zone-id
node.gardener.cloud/machine-name
topology.diskplugin.csi.alibabacloud
alibabacloud.com/ecs-instance-id
topology.cinder.csi.openstack.org/zone
topology.manila.csi.openstack.org/zone

The values for these labels will be ignored during the similarity check. Hence, two node templates with differing values for these labels can still be considered "similar" if other similarity checks pass.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:
Unit tests and integration tests (aws) passed.

Release note:

Fixed bug that causes CA to treat two similar nodegroups as dissimilar due to missing labels in `BasicIgnoredLabels`. 

@thiyyakat thiyyakat requested review from a team and unmarshall as code owners September 2, 2025 10:01
@gardener-robot gardener-robot added needs/review Needs review size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Sep 2, 2025
@gardener-robot-ci-1 gardener-robot-ci-1 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Sep 2, 2025
@aaronfern aaronfern self-assigned this Sep 16, 2025
// LabelTopologyDiskCSIAzure is a CSI-specific label for disk driver in Azure.
LabelTopologyDiskCSIAzure = "topology.disk.csi.azure.com/zone"
// LabelAWSZoneID indicates the zone-id of the node in AWS
LabelAWSZoneID = "topology.k8s.aws/zone-id"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
LabelAWSZoneID = "topology.k8s.aws/zone-id"
LabelTopologyAWSZoneID = "topology.k8s.aws/zone-id"

Consider changing this var (feel free to use something different if you have more ideas) for uniformity as other labels around topology seem to follow it

Comment on lines 45 to 46
// LabelMachineName adds the name of the machine to the node
LabelMachineName = "node.gardener.cloud/machine-name"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Please move this label to be above all cloud provider labels

Copy link
Member

@aaronfern aaronfern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@gardener-robot gardener-robot added reviewed/lgtm Has approval for merging and removed needs/review Needs review labels Sep 19, 2025
@aaronfern aaronfern merged commit 6e805c8 into gardener:machine-controller-manager-provider Sep 19, 2025
17 checks passed
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Sep 19, 2025
@aaronfern aaronfern removed their assignment Oct 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

reviewed/lgtm Has approval for merging reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. status/closed Issue is closed (either delivered or triaged)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants