Multus should exit zero on DEL when cache file is missing and pod cannot be found.

Otherwise, this can cause a pod to not be fully deleted, its sandbox may remain as the DEL continues to be retried due to exiting non-zero every time.

See: https://bugzilla.redhat.com/show_bug.cgi?id=1900835
This commit is contained in:
dougbtv 2020-11-24 13:18:34 -05:00
parent dffa09195b
commit 42d5484d25

View File

@ -758,7 +758,10 @@ func cmdDel(args *skel.CmdArgs, exec invoke.Exec, kubeClient *k8s.ClientInfo) er
logging.Errorf("Multus: failed to get delegates: %v, but continue to delete clusterNetwork", err) logging.Errorf("Multus: failed to get delegates: %v, but continue to delete clusterNetwork", err)
} }
} else { } else {
return cmdErr(k8sArgs, "error reading the delegates: %v", err) // The options to continue with a delete have been exhausted (cachefile + API query didn't work)
// We cannot exit with an error as this may cause a sandbox to never get deleted.
logging.Errorf("Multus: failed to get the cached delegates file: %v, cannot properly delete", err)
return nil
} }
} else { } else {
defer os.Remove(path) defer os.Remove(path)