Skip to content

Commit f7558d0

Browse files
authored
Merge pull request #6971 from CecileRobertMichon/fix-machinepool-instance-id-bug
🐛 Fix machinepool instance id bug
2 parents 5dd4827 + 3619a9e commit f7558d0

File tree

2 files changed

+39
-4
lines changed

2 files changed

+39
-4
lines changed

exp/internal/controllers/machinepool_controller_noderef.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,15 @@ func (r *MachinePoolReconciler) deleteRetiredNodes(ctx context.Context, c client
156156
continue
157157
}
158158

159-
nodeRefsMap[nodeProviderID.ID()] = node
159+
nodeRefsMap[nodeProviderID.String()] = node
160160
}
161161
for _, providerID := range providerIDList {
162162
pid, err := noderefutil.NewProviderID(providerID)
163163
if err != nil {
164164
log.V(2).Info("Failed to parse ProviderID, skipping", "err", err, "providerID", providerID)
165165
continue
166166
}
167-
delete(nodeRefsMap, pid.ID())
167+
delete(nodeRefsMap, pid.String())
168168
}
169169
for _, node := range nodeRefsMap {
170170
if err := c.Delete(ctx, node); err != nil {
@@ -192,7 +192,7 @@ func (r *MachinePoolReconciler) getNodeReferences(ctx context.Context, c client.
192192
continue
193193
}
194194

195-
nodeRefsMap[nodeProviderID.ID()] = node
195+
nodeRefsMap[nodeProviderID.String()] = node
196196
}
197197

198198
if nodeList.Continue == "" {
@@ -207,7 +207,7 @@ func (r *MachinePoolReconciler) getNodeReferences(ctx context.Context, c client.
207207
log.V(2).Info("Failed to parse ProviderID, skipping", "err", err, "providerID", providerID)
208208
continue
209209
}
210-
if node, ok := nodeRefsMap[pid.ID()]; ok {
210+
if node, ok := nodeRefsMap[pid.String()]; ok {
211211
available++
212212
if nodeIsReady(&node) {
213213
ready++

exp/internal/controllers/machinepool_controller_noderef_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,22 @@ func TestMachinePoolGetNodeReference(t *testing.T) {
6666
ProviderID: "azure://westus2/id-node-4",
6767
},
6868
},
69+
&corev1.Node{
70+
ObjectMeta: metav1.ObjectMeta{
71+
Name: "azure-nodepool1-0",
72+
},
73+
Spec: corev1.NodeSpec{
74+
ProviderID: "azure://westus2/id-nodepool1/0",
75+
},
76+
},
77+
&corev1.Node{
78+
ObjectMeta: metav1.ObjectMeta{
79+
Name: "azure-nodepool2-0",
80+
},
81+
Spec: corev1.NodeSpec{
82+
ProviderID: "azure://westus2/id-nodepool2/0",
83+
},
84+
},
6985
}
7086

7187
client := fake.NewClientBuilder().WithObjects(nodeList...).Build()
@@ -137,6 +153,25 @@ func TestMachinePoolGetNodeReference(t *testing.T) {
137153
ready: 0,
138154
},
139155
},
156+
{
157+
name: "valid provider id with non-unique instance id, valid azure node",
158+
providerIDList: []string{"azure://westus2/id-nodepool1/0"},
159+
expected: &getNodeReferencesResult{
160+
references: []corev1.ObjectReference{
161+
{Name: "azure-nodepool1-0"},
162+
},
163+
},
164+
},
165+
{
166+
name: "valid provider ids with same instance ids, valid azure nodes",
167+
providerIDList: []string{"azure://westus2/id-nodepool1/0", "azure://westus2/id-nodepool2/0"},
168+
expected: &getNodeReferencesResult{
169+
references: []corev1.ObjectReference{
170+
{Name: "azure-nodepool1-0"},
171+
{Name: "azure-nodepool2-0"},
172+
},
173+
},
174+
},
140175
}
141176

142177
for _, test := range testCases {

0 commit comments

Comments
 (0)