Whereabouts IPAM cannot assign IPs to pods when multus-rke2-whereabouts pods are older than one hour
Pods that use whereabouts IPAM with Multus NADs cannot be created when multus-rke2-whereabouts pods are older than one hour. Using any other IPAM or not specifying an IPAM is working. #### Reproduced in rke2-multus helm chart versions: - `v4.2.205` - `v4.2.300` - `v4.2.305` - `v4.2.311` #### Steps to reproduce 1. Deploy a cluster with Sylva `main` or `release-1.6` branches, enabling Multus unit, having some secondary node interface to be able to create Multus macvlan interfaces (alternative is to use bridge CNI instead of macvlan, if secondary node interface is not available). 2. Wait for rke2-multus-whereabouts pods to be running for more than 60 mins: ```shell $ k get pods -n kube-system | grep whereabouts multus-rke2-whereabouts-4sdvt 1/1 Running 0 65m multus-rke2-whereabouts-g2wll 1/1 Running 0 66m multus-rke2-whereabouts-ndhpl 1/1 Running 0 65m ``` 3. Apply the following manifest, adding a macvlan NetworkAttachmentDefinition to the pod. ```yaml --- apiVersion: v1 kind: Namespace metadata: name: multus-test labels: pod-security.kubernetes.io/enforce: privileged pod-security.kubernetes.io/enforce-version: latest --- apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: macvlan-ens4 namespace: multus-test spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "mode": "bridge", "master": "ens4", "ipam": { "type": "whereabouts", "range": "10.200.0.0/24" } }' --- apiVersion: v1 kind: Pod metadata: name: pod-multus1 namespace: multus-test labels: app: macvlan iperf: server annotations: k8s.v1.cni.cncf.io/networks: | [ { "name": "macvlan-ens4", "namespace": "multus-test" } ] spec: containers: - name: multus-test-pod image: praqma/network-multitool:extra command: ["/bin/sh", "-c"] args: - | iperf3 -s & sleep infinity ports: - containerPort: 5201 securityContext: privileged: true ``` The pods will be stuck in `ContainerCreating`: ```shell root@vlado-jump:~/git_folder/sylva-core# k -n multus-test get pods NAME READY STATUS RESTARTS AGE pod-multus1 0/1 ContainerCreating 0 9m57s pod-multus2 0/1 ContainerCreating 0 9m57s pod-multus3 0/1 ContainerCreating 0 9m57s root@vlado-jump:~/git_folder/sylva-core# k -n multus-test describe pod pod-multus1 Name: pod-multus1 Namespace: multus-test Priority: 0 Service Account: default Node: wc1-rke2-capo-vlado-cp-6959d62863-68dsj/172.20.219.216 Start Time: Fri, 06 Mar 2026 15:14:14 +0000 Labels: app=macvlan iperf=server Annotations: k8s.v1.cni.cncf.io/networks: [ { "name": "macvlan-ens4", "namespace": "multus-test" } ] Status: Pending IP: IPs: <none> Containers: multus-test-pod: Container ID: Image: praqma/network-multitool:extra Image ID: Port: 5201/TCP Host Port: 0/TCP Command: /bin/sh -c Args: iperf3 -s & sleep infinity State: Waiting Reason: ContainerCreating Ready: False Restart Count: 0 Environment: <none> Mounts: /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-lzllf (ro) Conditions: Type Status PodReadyToStartContainers False Initialized True Ready False ContainersReady False PodScheduled True Volumes: kube-api-access-lzllf: Type: Projected (a volume that contains injected data from multiple sources) TokenExpirationSeconds: 3607 ConfigMapName: kube-root-ca.crt Optional: false DownwardAPI: true QoS Class: BestEffort Node-Selectors: kubernetes.io/hostname=wc1-rke2-capo-vlado-cp-6959d62863-68dsj Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 8m33s default-scheduler Successfully assigned multus-test/pod-multus1 to wc1-rke2-capo-vlado-cp-6959d62863-68dsj Warning FailedCreatePodSandBox 8m33s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "56ea95f14f4c96561bd86d4668f799cf8033263a3ac7e8f01d6da9b399477300": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 8m20s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "823b81fecb69a414794ba638ddb23e626b1c2e341d2582278f4b51a342146625": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 8m8s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "f78b45a15d64cd01148f4e5b30bfe809acfee92a53f7b8e9c93a0cacfe9da931": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 7m54s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "054b371e013eb5c86038e6417624cf90b7f55c21f3955ec59f58c7458689cb65": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 7m42s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "874f764a89f28101bbb464ccc1ce84fc92e050146486f0a1983a08dfab7490ee": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 7m28s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "32ba1a1a143c8bccb8ee8594a2ee98e554d67c35599d5227cb3ae36b95884487": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 7m13s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "f6c8591ea2ae3c43d8cfd36fb10f20a4d8f718412cdee7d3b46cf4649d510bbf": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 7m kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "67b3cfc1408033521daee5c864b873ee8dd7649e02ed6a56f13caf12fc9ffed4": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 6m47s kubelet Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "0f9dab6b75f2892440098014f5d3c7a5f505bbb64a16ab98755b164213f22053": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized Warning FailedCreatePodSandBox 3m5s (x17 over 6m32s) kubelet (combined from similar events): Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "620ec643f65d742607a8bbdc51db7af6918baa5d7b7ca8224f8efb796c6ae3ff": plugin type="multus" name="multus-cni-network" failed (add): Multus: [multus-test/pod-multus1/161abcdb-adcc-47ab-b729-4761cd70f20c]: error waiting for pod: Unauthorized ``` #### Whereabouts pod logs (while a script that creates/deletes pods with macvlan in a loop is running). [whereabouts_logs.txt](/uploads/5faf5605215b7ada4cd005efbfb58d41/whereabouts_logs.txt) #### Multus pod logs for another platform [multus_pod_logs.txt](/uploads/bc3b8722c545c334a91b2da3ca0cc6d9/multus_pod_logs.txt)
issue