mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-07-03 02:26:37 +00:00
virtcontainers: Call agent startSandbox from startVM
We always ask the agent to start the sandbox when we start the VM, so we should simply call agent.startSandbox from startVM instead of open coding those. This slightly simplifies the complex createSandboxFromConfig routine. Fixes: #1011 Signed-off-by: Samuel Ortiz <sameo@linux.intel.com> Signed-off-by: Eric Ernst <eric.ernst@intel.com>
This commit is contained in:
parent
ebf8547c38
commit
acf833cb4a
@ -105,21 +105,7 @@ func createSandboxFromConfig(ctx context.Context, sandboxConfig SandboxConfig, f
|
||||
}
|
||||
}()
|
||||
|
||||
// Once startVM is done, we want to guarantee
|
||||
// that the sandbox is manageable. For that we need
|
||||
// to start the sandbox inside the VM.
|
||||
if err = s.agent.startSandbox(s); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// rollback to stop sandbox in VM
|
||||
defer func() {
|
||||
if err != nil {
|
||||
s.agent.stopSandbox(s)
|
||||
}
|
||||
}()
|
||||
|
||||
if err = s.getAndStoreGuestDetails(); err != nil {
|
||||
if err := s.getAndStoreGuestDetails(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -1234,9 +1234,18 @@ func (s *Sandbox) startVM() error {
|
||||
}
|
||||
}
|
||||
|
||||
// Store the network
|
||||
s.Logger().Info("VM started")
|
||||
|
||||
// Once the hypervisor is done starting the sandbox,
|
||||
// we want to guarantee that it is manageable.
|
||||
// For that we need to ask the agent to start the
|
||||
// sandbox inside the VM.
|
||||
if err := s.agent.startSandbox(s); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
s.Logger().Info("Agent started in the sandbox")
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -1245,6 +1254,10 @@ func (s *Sandbox) stopVM() error {
|
||||
span, _ := s.trace("stopVM")
|
||||
defer span.Finish()
|
||||
|
||||
if err := s.agent.stopSandbox(s); err != nil {
|
||||
s.Logger().WithError(err).WithField("sandboxid", s.id).Warning("Agent did not stop sandbox")
|
||||
}
|
||||
|
||||
return s.hypervisor.stopSandbox()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user