Skip to content

fix: treat no-op SSA apply as cache-sync success - #1

Merged
jleeh merged 2 commits into
feat/node-name-rewriting-v0.37from
fix/noop-ssa-apply-timeout
Sep 9, 2026
Merged

fix: treat no-op SSA apply as cache-sync success#1
jleeh merged 2 commits into
feat/node-name-rewriting-v0.37from
fix/noop-ssa-apply-timeout

Conversation

@jleeh

@jleeh jleeh commented Sep 9, 2026

Copy link
Copy Markdown

Summary

  • blockApply required a newer resourceVersion after server-side apply. A no-op apply (existing vcluster-protected-apiservices) never changes RV, so the 2s poll returned context deadline exceeded and the controller leader exited.
  • Once the object is visible in the cache, treat the apply as synced. That covers create, update, and no-op SSA.

Test plan

  • go test ./pkg/util/blockingcacheclient/
  • Roll image ghcr.io/linkpoolio/vcluster:feat-node-name-rewriting-v0.37-578c583c7 on vcluster-test, then kick the leader and confirm it stays Ready

Made with Cursor

jleeh and others added 2 commits September 9, 2026 15:53
Re-applying an unchanged ValidatingAdmissionPolicy left resourceVersion
the same, so blockApply waited 2s for a newer RV and killed the leader.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the resourceVersion catch-up wait for real applies. If the poll
expires and the object is still there, Apply already succeeded.

Co-authored-by: Cursor <cursoragent@cursor.com>
@jleeh
jleeh merged commit b832ffe into feat/node-name-rewriting-v0.37 Sep 9, 2026
2 checks passed
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.

1 participant