Skip to content

Commit 73ea234

Browse files
nfm-corticlaude
andcommitted
fix(instances): propagate IPAM errors during node initialization
Prevent nodes from being initialized without InternalIPs when IPAM queries fail transiently. By returning errors instead of only logging warnings, the node keeps its uninitialized taint and Kubernetes retries until IPAM is available. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ffe03fa commit 73ea234

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

scaleway/instances.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,8 @@ func (i *instances) instanceAddresses(server *scwinstance.Server) ([]v1.NodeAddr
181181
// Try to get private network IPs
182182
privateAddresses, err := i.getPrivateNetworkAddresses(server)
183183
if err != nil {
184-
klog.Warningf("error getting private network addresses for node %s: %v", server.Name, err)
184+
klog.Warningf("failed to get private network addresses for node %s: %v", server.Name, err)
185+
return nil, fmt.Errorf("failed to get private network addresses for node %s: %w", server.Name, err)
185186
}
186187

187188
if len(privateAddresses) > 0 {
@@ -235,8 +236,8 @@ func (i *instances) getPrivateNetworkAddresses(server *scwinstance.Server) ([]v1
235236
for _, pNIC := range server.PrivateNics {
236237
nicAddresses, err := i.getIPsForPrivateNIC(server, pNIC, region)
237238
if err != nil {
238-
klog.Warningf("error getting IPs for private NIC %s on node %s: %v", pNIC.ID, server.Name, err)
239-
continue
239+
klog.Warningf("failed to query IPAM for node %s: %v", server.Name, err)
240+
return addresses, fmt.Errorf("failed to query IPAM for node %s: %w", server.Name, err)
240241
}
241242
addresses = append(addresses, nicAddresses...)
242243
}

0 commit comments

Comments
 (0)