MaintainIPPool refactor and support for aborting release handshake#18330
MaintainIPPool refactor and support for aborting release handshake#18330joestringer merged 3 commits intocilium:masterfrom
Conversation
6621042 to
22315d9
Compare
gandro
left a comment
There was a problem hiding this comment.
Good catch! Thank you.
Only some minor nits, nothing blocking.
22315d9 to
53f626a
Compare
|
@gandro Thanks for the review 🙇 |
|
/ci-eks |
|
/test-runtime |
|
/test-runtime |
… node Imagine a scenario where a node has 2 unused IPs and pre-allocate set to 1. Let's say one of the IPs is in the middle of a handshake and a new pod is scheduled on the node. The other unused IP would be allocated to the pod. Now, when the operator re-evaluates, the node is no longer considered to be in excess. Without this commit, the operator does not act further on IPs in this state. This results in a scenario where no new IPs are allocated to the node and agent cannot allocate the unused IPs because they're in the middle of a handshake. Signed-off-by: Hemanth Malla <[email protected]>
53f626a to
ef5ed6b
Compare
christarazi
left a comment
There was a problem hiding this comment.
Thanks for the PR. The changes LGTM, could you update the 2nd commit msg with the motivation behind the refactor?
|
Given the current title of the PR plus the labels, if we merge & backport & release this as part of v1.11.1, then the PR will show up in the release notes under "Bugfixes" as |
…ol() With the addition of IP release handhake, maintainIPPool() became too long and not very readable. So, moving release and allocate logic into their own functions. Signed-off-by: Hemanth Malla <[email protected]>
Signed-off-by: Hemanth Malla <[email protected]>
ef5ed6b to
ef6b386
Compare
|
@christarazi @joestringer Updated the commit message and added a release note. |
|
I see that this was previously marked |
Imagine a scenario where a node has 2 unused IPs and pre-allocate set to one. Let's say one of the IPs is in the middle of a handshake and a new pod is scheduled on the node. The other unused IP would be allocated to the pod. Now, when the operator re-evaluates, the node is no longer considered to be in excess. Without this commit, the operator does not act further on IPs in this state. This results in a scenario where no new IPs are allocated to the node and agent cannot allocate the unused IPs because they're in the middle of a handshake.
Also refactors IP release and allocate functionality out of maintainIPPool()