Skip to content

Commit

Permalink
Merge pull request #170 from sunya-ch/v1.2.0
Browse files Browse the repository at this point in the history
mitigate multinicnetwork reconcile
  • Loading branch information
sunya-ch authored Jan 11, 2024
2 parents 8bdc725 + 2bf6999 commit 5762020
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 4 deletions.
12 changes: 10 additions & 2 deletions controllers/multinicnetwork_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,14 +184,18 @@ func (r *MultiNicNetworkReconciler) Reconcile(ctx context.Context, req ctrl.Requ
vars.NetworkLog.V(3).Info(fmt.Sprintf("CIDR %s successfully applied", multinicnetworkName))
}
}
} else if !instance.Spec.IsMultiNICIPAM && routeStatus == multinicv1.RouteNoApplied {
} else if !instance.Spec.IsMultiNICIPAM && (routeStatus == "" || routeStatus == multinicv1.RouteNoApplied) {
// not related to L3
instance.Status.Message = ""
instance.Status.RouteStatus = multinicv1.RouteNoApplied
vars.NetworkLog.V(3).Info(fmt.Sprintf("Update %s status (Non-MultiNICIPAM, RouteNoApplied)", multinicnetworkName))
err = r.CIDRHandler.MultiNicNetworkHandler.UpdateNetConfigStatus(instance, multinicv1.ConfigComplete, "")
if err != nil {
vars.NetworkLog.V(3).Info(fmt.Sprintf("Failed to UpdateNetConfigStatus %s for non-L3: %v", instance.Name, err))
}
} else if routeStatus != multinicv1.AllRouteApplied {
// some route still fails
vars.NetworkLog.V(3).Info(fmt.Sprintf("Update %s status (waiting for route configuration)", multinicnetworkName))
err = r.CIDRHandler.MultiNicNetworkHandler.UpdateNetConfigStatus(instance, multinicv1.WaitForConfig, "")
if err != nil {
vars.NetworkLog.V(3).Info(fmt.Sprintf("Failed to UpdateNetConfigStatus %s at route failure: %v", instance.Name, err))
Expand Down Expand Up @@ -234,12 +238,16 @@ func (r *MultiNicNetworkReconciler) GetIPAMConfig(instance *multinicv1.MultiNicN
ipamConfig.MasterNetAddrs = instance.Spec.MasterNetAddrs
return ipamConfig, nil
}
return nil, fmt.Errorf("non-MultiNicIPAM")
vars.NetworkLog.V(3).Info("non-MultiNicIPAM")
return nil, nil
}

// HandleMultiNicIPAM handles ipam if target type
func (r *MultiNicNetworkReconciler) HandleMultiNicIPAM(instance *multinicv1.MultiNicNetwork) error {
ipamConfig, err := r.GetIPAMConfig(instance)
if ipamConfig == nil {
return err
}
if err == nil {
cidrName := instance.GetName()
_, err := r.CIDRHandler.GetCIDR(cidrName)
Expand Down
1 change: 0 additions & 1 deletion controllers/multinicnetwork_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ func (h *MultiNicNetworkHandler) UpdateNetConfigStatus(instance *multinicv1.Mult
if instance.Status.ComputeResults == nil {
instance.Status.ComputeResults = []multinicv1.NicNetworkResult{}
}
instance.Status.LastSyncTime = metav1.Now()
instance.Status.NetConfigStatus = netConfigStatus
err := h.Client.Status().Update(context.Background(), instance)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion plugin/net_attach_def.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ func (h *NetAttachDefHandler) CreateOrUpdate(net *multinicv1.MultiNicNetwork, pl
}
}
if errMsg != "" {
return fmt.Errorf(errMsg)
vars.NetworkLog.V(2).Info(errMsg)
}
return nil
}
Expand Down

0 comments on commit 5762020

Please sign in to comment.