diff --git a/virtcontainers/api.go b/virtcontainers/api.go index 039dc2e0c8..59070d30ab 100644 --- a/virtcontainers/api.go +++ b/virtcontainers/api.go @@ -264,16 +264,11 @@ func StopSandbox(ctx context.Context, sandboxID string) (VCSandbox, error) { defer s.releaseStatelessSandbox() // Stop it. - err = s.stop() + err = s.Stop() if err != nil { return nil, err } - // Remove the network. - if err := s.removeNetwork(); err != nil { - return nil, err - } - return s, nil } diff --git a/virtcontainers/interfaces.go b/virtcontainers/interfaces.go index 083d23a14a..5b132a4765 100644 --- a/virtcontainers/interfaces.go +++ b/virtcontainers/interfaces.go @@ -67,6 +67,7 @@ type VCSandbox interface { SetAnnotations(annotations map[string]string) error Start() error + Stop() error Pause() error Resume() error Release() error diff --git a/virtcontainers/pkg/vcmock/sandbox.go b/virtcontainers/pkg/vcmock/sandbox.go index 2350207219..d0fd57f0e1 100644 --- a/virtcontainers/pkg/vcmock/sandbox.go +++ b/virtcontainers/pkg/vcmock/sandbox.go @@ -72,6 +72,11 @@ func (s *Sandbox) Start() error { return nil } +// Stop implements the VCSandbox function of the same name. +func (s *Sandbox) Stop() error { + return nil +} + // Pause implements the VCSandbox function of the same name. func (s *Sandbox) Pause() error { return nil diff --git a/virtcontainers/sandbox.go b/virtcontainers/sandbox.go index 2899418955..e099d8e3a5 100644 --- a/virtcontainers/sandbox.go +++ b/virtcontainers/sandbox.go @@ -1464,9 +1464,9 @@ func (s *Sandbox) Start() error { return nil } -// stop stops a sandbox. The containers that are making the sandbox +// Stop stops a sandbox. The containers that are making the sandbox // will be destroyed. -func (s *Sandbox) stop() error { +func (s *Sandbox) Stop() error { span, _ := s.trace("stop") defer span.Finish() @@ -1489,7 +1489,12 @@ func (s *Sandbox) stop() error { return err } - return s.setSandboxState(StateStopped) + if err := s.setSandboxState(StateStopped); err != nil { + return err + } + + // Remove the network. + return s.removeNetwork() } // Pause pauses the sandbox