diff options
Diffstat (limited to 'container/init.go')
| -rw-r--r-- | container/init.go | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/container/init.go b/container/init.go index 8b0a7a26..e56b4cf0 100644 --- a/container/init.go +++ b/container/init.go @@ -184,10 +184,14 @@ func initEntrypoint(k syscallDispatcher, prepareLogger func(prefix string), setV } if err := op.early(state, k); err != nil { - k.printBaseErr(err, - fmt.Sprintf("cannot prepare op at index %d:", i)) - k.beforeExit() - k.exit(1) + if m, ok := messageFromError(err); ok { + k.fatal(m) + } else { + k.printBaseErr(err, + fmt.Sprintf("cannot prepare op at index %d:", i)) + k.beforeExit() + k.exit(1) + } } } @@ -224,10 +228,14 @@ func initEntrypoint(k syscallDispatcher, prepareLogger func(prefix string), setV // ops already checked during early setup k.verbosef("%s %s", op.prefix(), op) if err := op.apply(state, k); err != nil { - k.printBaseErr(err, - fmt.Sprintf("cannot apply op at index %d:", i)) - k.beforeExit() - k.exit(1) + if m, ok := messageFromError(err); ok { + k.fatal(m) + } else { + k.printBaseErr(err, + fmt.Sprintf("cannot apply op at index %d:", i)) + k.beforeExit() + k.exit(1) + } } } |
