Merge pull request #1412 from dougbtv/fix-empty-cni-result

Properly structure empty CNI result
This commit is contained in:
Ben Pickard 2025-03-25 17:42:43 -04:00 committed by GitHub
commit 1821311479
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -650,10 +650,9 @@ func CmdAdd(args *skel.CmdArgs, exec invoke.Exec, kubeClient *k8s.ClientInfo) (c
pod, err := GetPod(kubeClient, k8sArgs, false) pod, err := GetPod(kubeClient, k8sArgs, false)
if err != nil { if err != nil {
if err == errPodNotFound { if err == errPodNotFound {
logging.Verbosef("CmdAdd: Warning: pod [%s/%s] not found, exiting with empty CNI result", k8sArgs.K8S_POD_NAMESPACE, k8sArgs.K8S_POD_NAME) emptyresult := emptyCNIResult(args, "1.0.0")
return &cni100.Result{ logging.Verbosef("CmdAdd: Warning: pod [%s/%s] not found, exiting with empty CNI result: %v", k8sArgs.K8S_POD_NAMESPACE, k8sArgs.K8S_POD_NAME, emptyresult)
CNIVersion: n.CNIVersion, return emptyresult, nil
}, nil
} }
return nil, err return nil, err
} }
@ -1081,3 +1080,24 @@ func CmdGC(args *skel.CmdArgs, exec invoke.Exec, kubeClient *k8s.ClientInfo) err
return nil return nil
} }
func emptyCNIResult(args *skel.CmdArgs, cniVersion string) *cni100.Result {
return &cni100.Result{
CNIVersion: cniVersion,
Interfaces: []*cni100.Interface{
{
Name: args.IfName,
Sandbox: args.Netns,
},
},
IPs: []*cni100.IPConfig{
{
Address: net.IPNet{
IP: net.ParseIP("0.0.0.0"),
Mask: net.CIDRMask(0, 32),
},
Gateway: net.ParseIP("0.0.0.0"),
},
},
}
}