aboutsummaryrefslogtreecommitdiff
path: root/libpod
diff options
context:
space:
mode:
Diffstat (limited to 'libpod')
-rw-r--r--libpod/networking.go15
1 files changed, 13 insertions, 2 deletions
diff --git a/libpod/networking.go b/libpod/networking.go
index f92b80201..a508cd7b4 100644
--- a/libpod/networking.go
+++ b/libpod/networking.go
@@ -42,9 +42,20 @@ func (r *Runtime) createNetNS(ctr *Container) (err error) {
if err != nil {
return errors.Wrapf(err, "error configuring network namespace for container %s", ctr.ID())
}
+ defer func() {
+ if err != nil {
+ if err2 := r.netPlugin.TearDownPod(podNetwork); err2 != nil {
+ logrus.Errorf("Error tearing down partially created network namespace for container %s: %v", ctr.ID(), err2)
+ }
+ }
+ }()
+
+ logrus.Debugf("Response from CNI plugins: %v", result.String())
- resultStruct := result.(*cnitypes.Result)
- logrus.Debugf("Response from CNI plugins: %v", resultStruct.String())
+ resultStruct, err := cnitypes.GetResult(result)
+ if err != nil {
+ return errors.Wrapf(err, "error parsing result from CBI plugins")
+ }
ctr.state.NetNS = ctrNS
ctr.state.IPs = resultStruct.IPs