diff --git a/pkg/controller/workloadspread/workloadspread_controller.go b/pkg/controller/workloadspread/workloadspread_controller.go index 8292f4283b..4d558cf576 100644 --- a/pkg/controller/workloadspread/workloadspread_controller.go +++ b/pkg/controller/workloadspread/workloadspread_controller.go @@ -289,6 +289,9 @@ func (r *ReconcileWorkloadSpread) getReplicasPathList(ws *appsv1alpha1.WorkloadS return nil, err } gv, err := schema.ParseGroupVersion(ws.Spec.TargetReference.APIVersion) + if err != nil { + return nil, err + } for _, wl := range whiteList.Workloads { if wl.GroupVersion() != gv || wl.GroupVersionKind.Kind != ws.Spec.TargetReference.Kind { continue @@ -313,6 +316,9 @@ func (r *ReconcileWorkloadSpread) getPodsForWorkloadSpread(ws *appsv1alpha1.Work pods, workloadReplicas, err = r.getPodJob(targetRef, ws.Namespace) default: pods, workloadReplicas, err = r.controllerFinder.GetPodsForRef(targetRef.APIVersion, targetRef.Kind, ws.Namespace, targetRef.Name, false) + if err != nil { + break + } workloadReplicas, pods, err = r.filterWorkload(ws, pods, workloadReplicas) } diff --git a/pkg/util/workloadspread/workloadspread.go b/pkg/util/workloadspread/workloadspread.go index 5f307754d7..64423212c0 100644 --- a/pkg/util/workloadspread/workloadspread.go +++ b/pkg/util/workloadspread/workloadspread.go @@ -885,7 +885,6 @@ func GenerateEmptyWorkloadObject(gvk schema.GroupVersionKind, key types.Namespac return } -// GetReplicasFromObject tries to get replicas from object by given path (default path is "spec.replcias") func GetReplicasFromObject(object *unstructured.Unstructured, replicasPath string) (int32, error) { if replicasPath == "" { return 0, nil