Skip to content

fix: replace 30s polling with RunnerConfig watch for gate 0 (session/3)#3

Merged
ontave merged 4 commits into
mainfrom
session/3-reconciler-bugs
May 2, 2026
Merged

fix: replace 30s polling with RunnerConfig watch for gate 0 (session/3)#3
ontave merged 4 commits into
mainfrom
session/3-reconciler-bugs

Conversation

@ontave
Copy link
Copy Markdown
Contributor

@ontave ontave commented Apr 19, 2026

Summary

  • Replace 30s requeue polling at gate 0 with event-driven RunnerConfig watch (CONDUCTOR-BL-CAPABILITY-WATCH)
  • WRAPPER-BL-PACKINSTANCE-WATCH verified: no regression

Changes

packexecution_reconciler.go -- add Watches on RunnerConfig (runner.ontai.dev/v1alpha1) in SetupWithManager. The mapRunnerConfigToPackExecutions mapper: skips objects outside ont-system; lists PackExecutions in seam-tenant-{clusterRef}; enqueues those whose TargetClusterRef matches. When Conductor publishes its capability manifest to RunnerConfig status, all pending PackExecutions for that cluster are immediately re-enqueued instead of waiting up to 30s.

packexecution_reconciler_test.go -- add TestPackExecutionReconciler_Gate0_RunnerConfigCapabilitiesAppear: verifies gate 0 blocks with Waiting=True when RunnerConfig has no capabilities, then clears immediately after capabilities are published.

Test plan

  • go test ./test/unit/... -- all pass
  • go test ./test/unit/controller/... -- all pass
  • Deploy to lab and confirm PackExecution proceeds within seconds of Conductor Deployment becoming available

ontave added 2 commits May 2, 2026 10:20
CONDUCTOR-BL-CAPABILITY-WATCH: PackExecutionReconciler now watches
RunnerConfig (runner.ontai.dev/v1alpha1) in ont-system and enqueues
PackExecutions in seam-tenant-{cluster} immediately when capabilities
are published, eliminating the 30s gateRequeueInterval delay for gate 0.

Add unit test verifying gate 0 blocks when RunnerConfig has no
capabilities and clears immediately after capabilities are published.
@ontave ontave force-pushed the session/3-reconciler-bugs branch from e27b8c6 to 8beb896 Compare May 2, 2026 08:21
ontave added 2 commits May 2, 2026 10:28
Use seamcorev1alpha1.InfrastructurePackExecution and conditions.FindCondition
instead of undefined infrav1alpha1 references. Fix record.NewFakeRecorder
to clientevents.NewFakeRecorder to match PackExecutionReconciler.Recorder type.
@ontave ontave merged commit 1241193 into main May 2, 2026
2 checks passed
@ontave ontave deleted the session/3-reconciler-bugs branch May 2, 2026 09:23
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