mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-25 06:52:13 +00:00
runtime: Register defer function at early stage
Register defer function at early stage ensure that it can be called if the startSandbox fails. Fixes: #2230 Signed-off-by: bin <bin@hyper.sh>
This commit is contained in:
parent
67dfb0b922
commit
d0bc148fe0
@ -1008,6 +1008,12 @@ func (s *Sandbox) startVM(ctx context.Context) (err error) {
|
|||||||
s.cw = consoleWatcher
|
s.cw = consoleWatcher
|
||||||
}
|
}
|
||||||
|
|
||||||
|
defer func() {
|
||||||
|
if err != nil {
|
||||||
|
s.hypervisor.stopSandbox(ctx, false)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
if err := s.network.Run(ctx, s.networkNS.NetNsPath, func() error {
|
if err := s.network.Run(ctx, s.networkNS.NetNsPath, func() error {
|
||||||
if s.factory != nil {
|
if s.factory != nil {
|
||||||
vm, err := s.factory.GetVM(ctx, VMConfig{
|
vm, err := s.factory.GetVM(ctx, VMConfig{
|
||||||
@ -1027,12 +1033,6 @@ func (s *Sandbox) startVM(ctx context.Context) (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer func() {
|
|
||||||
if err != nil {
|
|
||||||
s.hypervisor.stopSandbox(ctx, false)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
// In case of vm factory, network interfaces are hotplugged
|
// In case of vm factory, network interfaces are hotplugged
|
||||||
// after vm is started.
|
// after vm is started.
|
||||||
if s.factory != nil {
|
if s.factory != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user