Skip to content

Commit 19ac6a0

Browse files
committed
daemon: add a wait check for mac in ecs metadata
metadata sync is slow, have to wait it found Signed-off-by: l1b0k <[email protected]>
1 parent 5fd541d commit 19ac6a0

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

pkg/factory/aliyun/aliyun.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,19 @@ func (a *Aliyun) CreateNetworkInterface(ipv4, ipv6 int, eniType string) (*daemon
191191
return r, nil, nil, err
192192
}
193193

194+
// wait mac
195+
err = wait.PollUntilContextTimeout(ctx, metadataPollInterval, metadataWaitTimeout, true, func(ctx context.Context) (bool, error) {
196+
macs, err := metadata.GetENIsMAC()
197+
if err != nil {
198+
klog.Errorf("metadata: error get mac: %v", err)
199+
return false, nil
200+
}
201+
return sets.NewString(macs...).Has(r.MAC), nil
202+
})
203+
if err != nil {
204+
return r, nil, nil, err
205+
}
206+
194207
prefix, err := metadata.GetVSwitchCIDR(eni.MacAddress)
195208
if err != nil {
196209
return r, nil, nil, err

0 commit comments

Comments
 (0)