-
Notifications
You must be signed in to change notification settings - Fork 689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow follower to start with empty initial resource list #6295
Allow follower to start with empty initial resource list #6295
Conversation
Signed-off-by: Tero Saarni <tero.saarni@est.tech>
497ef40
to
81b2a2d
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #6295 +/- ##
==========================================
- Coverage 81.56% 81.55% -0.01%
==========================================
Files 133 133
Lines 15801 15805 +4
==========================================
+ Hits 12888 12890 +2
- Misses 2617 2619 +2
Partials 296 296
|
LGTM |
The Contour project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 LGTM, thanks for the fix @tsaarni!
…our#6295) Signed-off-by: Tero Saarni <tero.saarni@est.tech> Signed-off-by: Saman Mahdanian <saman@mahdanian.xyz>
This change fixes a bug that caused follower instance of Contour not reach the ready state when started under following condition:
--watched-namespaces
do not contain any resources.As result, XDS server is not started at all and those Contour instances will not reach ready state.
Note that leader instance still worked correctly even when the conditions were true. This is because leader election triggers "fake" DAG update and therefore the same code path gets executed as if informer delivered some relevant resources that necessitated DAG rebuild - and therefore XDS server start.
The change adds explicit checks to cover the conditions (1) and (2).
Background:
Prior to #5672 we had hardcoded timer that triggered start of XDS server regardless of DAG rebuild status - even if it was not built at all. Starting from 1.27.0 we wait until all relevant resources have been received from the API server and then build the initial DAG. Back then it was not considered that there might not be initial resources and no initial DAG to build at all.
Fixes #6291