Skip to content

fix: nil FlowControl after ApplyTo to unblock readyz#29

Merged
scotwells merged 1 commit into
mainfrom
fix/apf-flowcontrol-nil-after-apply-to
May 23, 2026
Merged

fix: nil FlowControl after ApplyTo to unblock readyz#29
scotwells merged 1 commit into
mainfrom
fix/apf-flowcontrol-nil-after-apply-to

Conversation

@scotwells
Copy link
Copy Markdown
Contributor

Problem

The IPAM apiserver pods in staging are stuck 0/1 Ready. The readiness probe returns HTTP 500 indefinitely with:

informer-sync failed: 2 informers not started yet: [*v1.FlowSchema *v1.PriorityLevelConfiguration]

The APF (API Priority and Fairness) controller was starting and waiting to sync FlowSchema and PriorityLevelConfiguration objects from the main kube-apiserver — resources the IPAM aggregated apiserver has no reason to watch.

Root Cause

A previous fix (885bd93) set genericConfig.FlowControl = nil before calling RecommendedOptions.ApplyTo(genericConfig). But ApplyTo re-initializes FlowControl internally, so the nil had no effect and the APF controller started anyway.

Fix

Move genericConfig.FlowControl = nil to after ApplyTo. One line change.

Impact

  • Restores readiness for all IPAM apiserver pods in staging
  • No behavior change for the request path; APF is correctly handled by the main kube-apiserver for all aggregated apiservers

🤖 Generated with Claude Code

RecommendedOptions.ApplyTo re-initializes genericConfig.FlowControl,
so setting it to nil before the call had no effect. The APF controller
started anyway, and its FlowSchema/PriorityLevelConfiguration informers
never synced — blocking readyz indefinitely.

Move the nil assignment to after ApplyTo so it takes effect.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown

@ecv ecv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

too many comments, i'll educate claude as to terseness

legit thinking we should enable caveman mode companywide to avoid tokenmaxxing

@scotwells
Copy link
Copy Markdown
Contributor Author

Idk, that's a pretty helpful comment. Not obvious at all what that setting does without it.

@scotwells scotwells merged commit e57ce11 into main May 23, 2026
10 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.

2 participants