in pkg/cni/overlay.go [38:75]
func (r *Reconciler) reconcileOverlayCniIfNeeded(ctx context.Context, subnetID string) error {
if r.reconciledOverlayCNI {
return nil
}
isOverlay, err := r.isClusterOverlayCNI(ctx)
if err != nil {
return errors.New("failed to check if cluster is using overlay CNI")
}
if !isOverlay {
return nil
}
klog.Infof("Cluster is using overlay CNI, using subnetID %q for application gateway", subnetID)
subnet, err := r.armClient.GetSubnet(subnetID)
if err != nil {
return errors.Wrap(err, "failed to get subnet")
}
var subnetCIDR string
if subnet.AddressPrefix != nil {
subnetCIDR = *subnet.AddressPrefix
} else if subnet.AddressPrefixes != nil && len(*subnet.AddressPrefixes) > 0 {
subnetCIDR = (*subnet.AddressPrefixes)[0]
} else {
return errors.New("subnet does not have an address prefix(es)")
}
klog.Infof("Using subnet prefix %q", subnetCIDR)
err = r.reconcileOverlayExtensionConfig(ctx, subnetCIDR)
if err != nil {
return errors.Wrap(err, "failed to reconcile overlay resources")
}
r.reconciledOverlayCNI = true
return nil
}