Bug 1898670 - Pod gets stuck in ContainerCreating state with exhausted Whereabouts IPAM range with a daemonset
Summary: Pod gets stuck in ContainerCreating state with exhausted Whereabouts IPAM ran...
Keywords:
Status: CLOSED DUPLICATE of bug 1898613
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.6
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.7.0
Assignee: Douglas Smith
QA Contact: Weibin Liang
URL:
Whiteboard:
Depends On:
Blocks: 1898675
TreeView+ depends on / blocked
 
Reported: 2020-11-17 19:06 UTC by Douglas Smith
Modified: 2021-01-08 17:16 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Whereabouts would exit non-zero on CNI delete when a range was exhausted. Consequence: This caused pods to endlessly crash loop. Fix: Exit zero on CNI delete operations. Result: Pods exit as anticipated.
Clone Of:
: 1898672 (view as bug list)
Environment:
Last Closed: 2021-01-08 17:16:34 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift whereabouts-cni pull 39 0 None closed Bug 1898670: Removes error when deallocating IP errors out, instead just warns 2021-01-28 18:09:52 UTC

Description Douglas Smith 2020-11-17 19:06:59 UTC
Description of problem: When using a daemonset and a Whereabouts range gets exhausted, a pod can get stuck in a containercreating state indefinitely.

See: https://github.com/intel/multus-cni/issues/578


How reproducible: Always.


Steps to Reproduce:

Create a net-attach-def:

```
apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
 name: whereabouts-nad2
 namespace: whereabouts
spec:
 config: '{
  "cniVersion": "0.3.1",
  "type": "macvlan",
  "master": "eth0",
  "ipam": {
   "type": "whereabouts",
   "range": "10.10.10.0/24",
   "range_start": "10.10.10.100",
   "range_end": "10.10.10.128",
   "exclude": ["10.10.10.0/25"]
  }
 }'
```

Create a deployment:

```
apiVersion: apps/v1
kind: Deployment
metadata:
 labels:
  run: multustest2
 name: multustest2
 namespace: whereabouts
spec:
 replicas: 1
 selector:
  matchLabels:
   run: multustest2
 template:
  metadata:
   namespace: whereabouts
   labels:
    run: multustest2
   annotations:
    k8s.v1.cni.cncf.io/networks: whereabouts-nad2
  spec:
   containers:
   - image: busybox:latest
     name: multustest2
     command: [ "/bin/sh", "-c", "while true; do date; sleep 10; done"]
     securityContext:
       runAsNonRoot: true
       runAsUser: 1000
```

List the pods (oc get pods -w), you'll show one pod running.

Delete that pod. (oc delete pod multustest2-594975985d-clp6z) for example.

Actual results:

That pod is stuck in a ContainerCreating status, indefinitely.


Expected results:

Pod is recreated normally after it's deleted.

Comment 2 Douglas Smith 2021-01-08 17:16:34 UTC

*** This bug has been marked as a duplicate of bug 1898613 ***


Note You need to log in before you can comment on or make changes to this bug.