Skip to content

Release IP back to datastore if CNI failed to set Pod's namespace#127

Merged
liwenwu-amazon merged 1 commit intoaws:masterfrom
liwenwu-amazon:add-fail-hdlr
Jul 11, 2018
Merged

Release IP back to datastore if CNI failed to set Pod's namespace#127
liwenwu-amazon merged 1 commit intoaws:masterfrom
liwenwu-amazon:add-fail-hdlr

Conversation

@liwenwu-amazon
Copy link
Copy Markdown
Contributor

Issue #59

Description of changes:
Whenever CNI fails to setup network stack for a Pod, it should release Pod's IP back to ipamD data store. Otherwise, kubelet will never invoke delete pod request for this pod and this Pod's IP is leaked.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@liwenwu-amazon liwenwu-amazon added this to the v1.1 milestone Jul 11, 2018
Copy link
Copy Markdown
Contributor

@nckturner nckturner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Question about whether or not we want to metric this failure mode.

if err != nil {
log.Errorf("Failed SetupPodNetwork for pod %s namespace %s container %s: %v",
string(k8sArgs.K8S_POD_NAME), string(k8sArgs.K8S_POD_NAMESPACE), string(k8sArgs.K8S_POD_INFRA_CONTAINER_ID), err)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want metrics for this branch?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. there is a metrics for this in ipamd.go, and reason indicates why Pod is deleted.

+       addIPCnt = prometheus.NewCounter(
+               prometheus.CounterOpts{
+                       Name: "add_ip_req_count",
+                       Help: "The number of add IP address request",
+               },
+       )
+       delIPCnt = prometheus.NewCounterVec(
+               prometheus.CounterOpts{
+                       Name: "del_ip_req_count",
+                       Help: "The number of delete IP address request",
+               },
+               []string{"reason"},
+       )

@liwenwu-amazon liwenwu-amazon merged commit 1e2853b into aws:master Jul 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants