Use more reliable function for parsing CNI result

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #440
Approved by: baude
This commit is contained in:
Matthew Heon
2018-03-02 12:31:12 -05:00
committed by Atomic Bot
parent edb1609c61
commit 02c6ba9949

View File

@ -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)
}
}
}()
resultStruct := result.(*cnitypes.Result)
logrus.Debugf("Response from CNI plugins: %v", resultStruct.String())
logrus.Debugf("Response from CNI plugins: %v", result.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