You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Validate the cache contains the created address before moving on
IPAM controller relies on controller runtime client, which is cached, to
list the existing address before allocating a new IP.
When the cache is too slow to reflect the changes, we may end up with an
IPAddressClaim reconciliation happening before the previous reconciliation
address acknowledge by the cache, which may end with duplicated IP address
allocations.
This change enforces that the Reconcile function waits for the cached client
to be aware of the IPAddress before allowing the reconciliation to move on
to the next reconciliation request
log.Error(err, "failed waiting for IPAddress to be visible in the cache after create", "namespace", address.GetNamespace(), "name", address.GetName())
264
+
return ctrl.Result{}, errors.Wrapf(err, "failed waiting for IPAddress %s/%s to be visible in the cache after create", address.GetNamespace(), address.GetName())
265
+
}
266
+
248
267
log.Info(fmt.Sprintf("IPAddress %s/%s (%s) has been %s", address.Namespace, address.Name, address.Spec.Address, operationResult),
0 commit comments