-
Task
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
Quality / Stability / Reliability
-
False
-
-
False
-
None
-
None
-
None
-
None
Test: OCP-79251 - Validate matching provider IDs between Windows nodes and machines
Problem: Test produces FALSE NEGATIVE in BYOH (Bring Your Own Host) scenarios
Root Cause (test/extended/winc/winc.go lines 2686-2699):
Test iterates through ALL Windows nodes and expects each to have a matching Machine object:
for _, nodeName := range winHostNames { nodeProviderID, exists := nodeProviderIDs[nodeName] o.Expect(exists).To(o.BeTrue(), ...) matchingMachineFound := false for machineName, machineProviderID := range machineProviderIDs { if machineProviderID == nodeProviderID { matchingMachineFound = true break } } o.Expect(matchingMachineFound).To(o.BeTrue(), ...) // ❌ Fails for BYOH nodes }
Why it's false negative:
- BYOH nodes don't have Machine objects (they're manually added, not MachineSet-created)
- Example scenario:
- 2 MachineSet nodes: winworker-a-rfjr6, winworker-a-vbgcf ✅ Have Machines
- 2 BYOH nodes: byoh-254-0, byoh-254-1 ❌ No Machines (expected!)
- Test expects ALL 4 nodes to have Machines → Fails on 2 BYOH nodes
- But the 2 MachineSet nodes ARE correctly matching their Machines!
Evidence from logs:
Machine provider IDs: {rfjr6, vbgcf}
Node provider IDs: {byoh-254-0, byoh-254-1, rfjr6, vbgcf}
Fix Options:
1. Skip BYOH nodes entirely (check for BYOH label/annotation)
2. Only validate nodes that have corresponding Machines
3. Make test conditional: if BYOH nodes detected, skip validation for them
File: test/extended/winc/winc.go (lines 2686-2699)
Priority: Medium - False negative causes unnecessary test failures in valid BYOH scenarios
- links to