From 0ddf99d13c3493a2424896c96976a5e25a24f9e5 Mon Sep 17 00:00:00 2001 From: Peng Tao Date: Wed, 19 Sep 2018 15:36:06 +0800 Subject: [PATCH] agent: clean up proxy process if start sandbox failed Otherwise we'll leave kata-proxy process dangling around forever. Fixes: #759 Signed-off-by: Peng Tao --- virtcontainers/kata_agent.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/virtcontainers/kata_agent.go b/virtcontainers/kata_agent.go index 3f0a2916c..6396d4d88 100644 --- a/virtcontainers/kata_agent.go +++ b/virtcontainers/kata_agent.go @@ -569,6 +569,12 @@ func (k *kataAgent) startSandbox(sandbox *Sandbox) error { return err } + defer func() { + if err != nil { + k.proxy.stop(k.state.ProxyPid) + } + }() + hostname := sandbox.config.Hostname if len(hostname) > maxHostnameLen { hostname = hostname[:maxHostnameLen] @@ -586,10 +592,10 @@ func (k *kataAgent) startSandbox(sandbox *Sandbox) error { if err != nil { return err } - if err := k.updateInterfaces(interfaces); err != nil { + if err = k.updateInterfaces(interfaces); err != nil { return err } - if _, err := k.updateRoutes(routes); err != nil { + if _, err = k.updateRoutes(routes); err != nil { return err }