make DeepEqual judgments more efficient

Signed-off-by: zhzhuang-zju <m17799853869@163.com>
This commit is contained in:
zhzhuang-zju 2024-04-15 10:09:53 +08:00
parent da7689f715
commit 672c77a631
1 changed files with 5 additions and 4 deletions

View File

@ -143,21 +143,22 @@ func CreateOrUpdateClusterObject(controlPlaneClient karmadaclientset.Interface,
return nil, err
}
if exist {
if reflect.DeepEqual(cluster.Spec, clusterObj.Spec) {
clusterCopy := cluster.DeepCopy()
mutate(cluster)
if reflect.DeepEqual(clusterCopy.Spec, cluster.Spec) {
klog.Warningf("Cluster(%s) already exist and newest", clusterObj.Name)
return cluster, nil
}
mutate(cluster)
cluster, err = updateCluster(controlPlaneClient, cluster)
if err != nil {
klog.Warningf("Failed to create cluster(%s). error: %v", clusterObj.Name, err)
klog.Warningf("Failed to update cluster(%s). error: %v", clusterObj.Name, err)
return nil, err
}
return cluster, nil
}
mutate(clusterObj)
if cluster, err = createCluster(controlPlaneClient, clusterObj); err != nil {
klog.Warningf("Failed to create cluster(%s). error: %v", clusterObj.Name, err)
return nil, err