Skip to content

Force ENI/IP reconciliation to delete from the datastore#754

Merged
mogren merged 3 commits intoaws:masterfrom
jaypipes:check-euan
Dec 11, 2019
Merged

Force ENI/IP reconciliation to delete from the datastore#754
mogren merged 3 commits intoaws:masterfrom
jaypipes:check-euan

Conversation

@jaypipes
Copy link
Copy Markdown
Contributor

Fixes #732

The ENI/IP reconciliation logic fails to delete from the datastore, if any IPs are already assigned to pods. This is wrong; the AWS local metadata is the source of truth for what ENIs/IPs are actually attached to the EC2 instance. By failing to delete from the datastore, ipamd will assign IPs from ENIs that aren't actually attached to the EC2 instance.

This PR fixes this by forcing the reconciliation logic to delete from the datastore. I've also added prometheus counters to track how often this force-deletion is occurring, to aid debugging.

The unittests pass, and I've been running an image built from this on my clusters, and have seen that it fixes the problem.

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

@mogren mogren merged commit 145c3b7 into aws:master Dec 11, 2019
@jaypipes jaypipes deleted the check-euan branch December 18, 2019 17:57
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.

ipamd assigns IPs from detached ENIs

3 participants