Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
vc: Restore sandbox state when there is error starting containers
Browse files Browse the repository at this point in the history
Fixes #2237

Signed-off-by: Ted Yu <[email protected]>
  • Loading branch information
yutedz committed Nov 21, 2019
1 parent 1f71114 commit 93a0336
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions virtcontainers/sandbox.go
Original file line number Diff line number Diff line change
Expand Up @@ -1523,13 +1523,21 @@ func (s *Sandbox) Start() error {
return err
}

prevState := s.state.State

if err := s.setSandboxState(types.StateRunning); err != nil {
return err
}

var startErr error
defer func() {
if startErr != nil {
s.setSandboxState(prevState)
}
}()
for _, c := range s.containers {
if err := c.start(); err != nil {
return err
if startErr = c.start(); startErr != nil {
return startErr
}
}

Expand Down

0 comments on commit 93a0336

Please sign in to comment.