-
Notifications
You must be signed in to change notification settings - Fork 7.9k
pilot: switch to incremental Service Account building #39133
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
pilot: switch to incremental Service Account building #39133
Conversation
Skipping CI for Draft Pull Request. |
Attempt to fix #38709 /test all |
9c8df7e
to
58ebf9b
Compare
Changes LGTM. UT failure seems related. And do we have a test that validates this behaviour ? |
Yeah we have a few existing tests that validate the SAN matching (I know since most of them failed previously when I missed some parts ) and I added a test to validate it is incremental |
This impacts tests only. In istio#39133 we changed to notify on writes; this ended up triggering a ton of test flake. Instead, just add explicit functions to notify (new test needs them) and revert the other changes
* Revert changes to always notify XdsUpdater in mem discovery This impacts tests only. In #39133 we changed to notify on writes; this ended up triggering a ton of test flake. Instead, just add explicit functions to notify (new test needs them) and revert the other changes * conflict
Fixes istio#39652 This reverts istio#36882. At the time, that PR was needed because EDS ServiceAccounts and CDS ServiceAccounts were decoupled; Since istio#39133, this is no longer true, and the fix in 36882 is not needed any longer. This PR *removes* the test added in 36882 (since it tests low level details that are not relevant anymore). It improves the existing TestEndpointFlipFlops test -- while that test *would* have caught the regression, it didn't actually set any service accounts so it was missed. The update changes it to correctly detect the behavior (it now fails without this PR, passes with it).
* Disable full push on scale from 1->0->1 Fixes #39652 This reverts #36882. At the time, that PR was needed because EDS ServiceAccounts and CDS ServiceAccounts were decoupled; Since #39133, this is no longer true, and the fix in 36882 is not needed any longer. This PR *removes* the test added in 36882 (since it tests low level details that are not relevant anymore). It improves the existing TestEndpointFlipFlops test -- while that test *would* have caught the regression, it didn't actually set any service accounts so it was missed. The update changes it to correctly detect the behavior (it now fails without this PR, passes with it). * add note * fix note * Add new SA case
* Disable full push on scale from 1->0->1 Fixes istio#39652 This reverts istio#36882. At the time, that PR was needed because EDS ServiceAccounts and CDS ServiceAccounts were decoupled; Since istio#39133, this is no longer true, and the fix in 36882 is not needed any longer. This PR *removes* the test added in 36882 (since it tests low level details that are not relevant anymore). It improves the existing TestEndpointFlipFlops test -- while that test *would* have caught the regression, it didn't actually set any service accounts so it was missed. The update changes it to correctly detect the behavior (it now fails without this PR, passes with it). * add note * fix note * Add new SA case (cherry picked from commit 9f1cbfb)
* SAN improvements (#40863) * wip * wip * Add tests * drop logs * revert changes * Add one more case * Add namespace into SA key as well * Add back svc.ServiceAccounts * add note * lint (cherry picked from commit 0abe39d) * Disable full push on scale from 1->0->1 (#40866) * Disable full push on scale from 1->0->1 Fixes #39652 This reverts #36882. At the time, that PR was needed because EDS ServiceAccounts and CDS ServiceAccounts were decoupled; Since #39133, this is no longer true, and the fix in 36882 is not needed any longer. This PR *removes* the test added in 36882 (since it tests low level details that are not relevant anymore). It improves the existing TestEndpointFlipFlops test -- while that test *would* have caught the regression, it didn't actually set any service accounts so it was missed. The update changes it to correctly detect the behavior (it now fails without this PR, passes with it). * add note * fix note * Add new SA case (cherry picked from commit 9f1cbfb)
* Disable full push on scale from 1->0->1 Fixes istio/istio#39652 This reverts istio/istio#36882. At the time, that PR was needed because EDS ServiceAccounts and CDS ServiceAccounts were decoupled; Since istio/istio#39133, this is no longer true, and the fix in 36882 is not needed any longer. This PR *removes* the test added in 36882 (since it tests low level details that are not relevant anymore). It improves the existing TestEndpointFlipFlops test -- while that test *would* have caught the regression, it didn't actually set any service accounts so it was missed. The update changes it to correctly detect the behavior (it now fails without this PR, passes with it). * add note * fix note * Add new SA case
This is both a bug fix and a long standing optimization.
Fixes #38709 - I recommend reading the last few notes their to understand why its broken today. But basically we don't update Service Accounts when they change, only when we happen to trigger a full push at a later time. In some circumstances this delta causes critical issues.