Skip to content

Conversation

pippolo84
Copy link
Member

Fix the usage of the firstInit flag and run an initial full reconciliation in the iptables reconciler. This should avoid spurious errors during startup from listening on partial reconciliation request channels too soon.

Read the commit messages for further details.

@pippolo84 pippolo84 added release-note/bug This PR fixes an issue in a previous release of Cilium. area/iptables Impacts how Cilium interacts with iptables. labels Jun 12, 2024
@pippolo84
Copy link
Member Author

/test

@pippolo84 pippolo84 marked this pull request as ready for review June 12, 2024 18:56
@pippolo84 pippolo84 requested a review from a team as a code owner June 12, 2024 18:56
@pippolo84 pippolo84 requested a review from jibi June 12, 2024 18:56
The firstInit flag is meant to avoid partial reconciliations (like the
ones for proxy rules and no track pod rules) until the first full
reconciliation is successfully completed. This is done to avoid trying a
partial reconciliation when all the required chains have been created.

The commit fixes the if conditions checking the flag that turned out to
be inverted. Though the reconciler was already able to recover with the
next full reconciliation, this led to spurious errors during Cilium
startup where partial reconciliations were attempted too soon.

Reported-by: Dylan Reimerink <dylan.reimerink@isovalent.com>
Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
Run an initial full reconciliation before listening on partial
reconciliation request channels like the ones related to proxy rules and
no track pod rules.

This avoid spurious errors at startup when a partial reconciliation
request was seen by the reconciler before the 200 ms interval needed for
the first full reconciliation. In that case, the partial reconciliation
failed due to missing chains installed by the first full reconciliation.

Reported-by: Dylan Reimerink <dylan.reimerink@isovalent.com>
Suggested-by: Dylan Reimerink <dylan.reimerink@isovalent.com>
Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
@pippolo84 pippolo84 force-pushed the pr/pippolo84/iptables-fix-startup-flakes branch from 2c4bee0 to 781a1eb Compare June 13, 2024 09:38
@pippolo84
Copy link
Member Author

Force-pushed to incorporate #33093 and fix conformance ingress flake.

@pippolo84
Copy link
Member Author

/test

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Jun 13, 2024
@dylandreimerink dylandreimerink added this pull request to the merge queue Jun 13, 2024
Merged via the queue into cilium:main with commit 183f0fa Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/iptables Impacts how Cilium interacts with iptables. ready-to-merge This PR has passed all tests and received consensus from code owners to merge. release-note/bug This PR fixes an issue in a previous release of Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants