handling the multiple cmd del call from kubelet

This commit is contained in:
rkamudhan 2018-08-02 11:10:19 +01:00 committed by Kuralamudhan Ramakrishnan
parent 6d3216c340
commit b01f784504

View File

@ -308,6 +308,24 @@ func cmdDel(args *skel.CmdArgs, exec invoke.Exec, kubeClient k8s.KubeClient) err
return err
}
if args.Netns == "" {
return nil
}
netns, err := ns.GetNS(args.Netns)
if err != nil {
if err != nil {
// if NetNs is passed down by the CEO, or if it called multiple times
// so don't return an error if the device is already removed.
// https://github.com/kubernetes/kubernetes/issues/43014#issuecomment-287164444
_, ok := err.(ns.NSPathNotExistErr)
if ok {
return nil
}
return fmt.Errorf("failed to open netns %q: %v", netns, err)
}
}
defer netns.Close()
k8sArgs, err := k8s.GetK8sArgs(args)
if err != nil {
return logging.Errorf("Multus: Err in getting k8s args: %v", err)