diff --git a/management/server/types/job.go b/management/server/types/job.go index d1bddb497..1ecbdcf2f 100644 --- a/management/server/types/job.go +++ b/management/server/types/job.go @@ -104,15 +104,8 @@ func (j *Job) BuildWorkloadResponse() (*api.WorkloadResponse, error) { switch j.Workload.Type { case JobTypeBundle: - if j.Workload.BundleParameters == nil { - return nil, status.Errorf(status.InvalidArgument, "missing bundle parameters") - } - if err := wl.FromBundleWorkloadResponse(api.BundleWorkloadResponse{ - Type: api.WorkloadTypeBundle, - Parameters: *j.Workload.BundleParameters, - Result: *j.Workload.BundleResult, - }); err != nil { - return nil, status.Errorf(status.InvalidArgument, "unknown job parameters: %v", err) + if err := j.buildBundleResponse(&wl); err != nil { + return nil, status.Errorf(status.InvalidArgument, err.Error()) } return &wl, nil @@ -121,6 +114,20 @@ func (j *Job) BuildWorkloadResponse() (*api.WorkloadResponse, error) { } } +func (j *Job) buildBundleResponse(wl *api.WorkloadResponse) error { + if j.Workload.BundleParameters == nil { + return fmt.Errorf("missing bundle parameters") + } + if err := wl.FromBundleWorkloadResponse(api.BundleWorkloadResponse{ + Type: api.WorkloadTypeBundle, + Parameters: *j.Workload.BundleParameters, + Result: *j.Workload.BundleResult, + }); err != nil { + return fmt.Errorf("unknown job parameters: %v", err) + } + return nil +} + func validateBundleParams(req api.WorkloadRequest, workload *Workload) error { bundle, err := req.AsBundleWorkloadRequest() if err != nil {