worker: wrap errors, adding descriptions

It's hard to figure out where an error came from otherwise.
This commit is contained in:
Lars Karlitski 2019-12-15 19:33:25 +01:00 committed by Tom Gundersen
parent df99e8b359
commit 5f8f417f65

View file

@ -47,12 +47,12 @@ func (job *Job) Run() (*store.Image, error, []error) {
err = json.NewEncoder(buildFile).Encode(build) err = json.NewEncoder(buildFile).Encode(build)
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error encoding build environment: %v", err), nil
} }
tmpStore, err := ioutil.TempDir("/var/tmp", "osbuild-store") tmpStore, err := ioutil.TempDir("/var/tmp", "osbuild-store")
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error setting up osbuild store: %v", err), nil
} }
defer os.RemoveAll(tmpStore) defer os.RemoveAll(tmpStore)
@ -66,22 +66,22 @@ func (job *Job) Run() (*store.Image, error, []error) {
stdin, err := cmd.StdinPipe() stdin, err := cmd.StdinPipe()
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error setting up stdin for osbuild: %v", err), nil
} }
stdout, err := cmd.StdoutPipe() stdout, err := cmd.StdoutPipe()
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error setting up stdout for osbuild: %v", err), nil
} }
err = cmd.Start() err = cmd.Start()
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error starting osbuild: %v", err), nil
} }
err = json.NewEncoder(stdin).Encode(job.Pipeline) err = json.NewEncoder(stdin).Encode(job.Pipeline)
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error encoding osbuild pipeline: %v", err), nil
} }
stdin.Close() stdin.Close()
@ -95,14 +95,14 @@ func (job *Job) Run() (*store.Image, error, []error) {
} }
err = json.NewDecoder(stdout).Decode(&result) err = json.NewDecoder(stdout).Decode(&result)
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("error decoding osbuild output: %#v", err), nil
} }
cmdError := cmd.Wait() cmdError := cmd.Wait()
filename, mimeType, err := d.FilenameFromType(job.OutputType) filename, mimeType, err := d.FilenameFromType(job.OutputType)
if err != nil { if err != nil {
return nil, err, nil return nil, fmt.Errorf("cannot fetch information about output type %s: %v", job.OutputType, err), nil
} }
var image store.Image var image store.Image