Skip to content

feat: use explicit task status from sidecar for polling#8

Merged
bdchatham merged 1 commit into
mainfrom
feat/task-in-progress
Mar 17, 2026
Merged

feat: use explicit task status from sidecar for polling#8
bdchatham merged 1 commit into
mainfrom
feat/task-in-progress

Conversation

@bdchatham
Copy link
Copy Markdown
Collaborator

Summary

  • Bump seictl to v0.0.15: Picks up in-progress task tracking -- the sidecar now returns 200 with status: "running" instead of 404 for in-flight tasks.
  • Switch pollTask to status-based dispatch: Replaces the CompletedAt == nil / Error != "" inference chain with an explicit switch result.Status over running, failed, completed. Unknown statuses requeue gracefully.
  • Update test helpers: completedResult and runningResult now set the Status field on TaskResult to match the new sidecar contract.

Test plan

  • All existing controller node tests pass with updated helpers
  • pollTask routes correctly for running, completed, and failed statuses
  • Unknown status falls through to default requeue

… CompletedAt

Bump seictl to v0.0.15 which adds in-progress task tracking. The
sidecar now returns 200 with status "running" instead of 404 for
in-flight tasks. Switch pollTask to a status-based switch so each
state is handled explicitly.
@bdchatham bdchatham marked this pull request as ready for review March 17, 2026 02:05
@bdchatham bdchatham merged commit bfbcec7 into main Mar 17, 2026
2 checks passed
@bdchatham bdchatham deleted the feat/task-in-progress branch March 19, 2026 21:00
bdchatham added a commit that referenced this pull request Apr 30, 2026
Updates the LLD's Open Dependencies section to reflect the resolution
of three companion sub-issues:

#3 SND inline genesis rejection — Resolved by #148 (merged); the CEL
   rule lands on SeiNodeDeploymentSpec rejecting genesis on non-
   validator-role deployments. Broader than the original ValidationRun-
   side framing (covers fullNode/archive/replayer; SND has a 4-role
   discriminator).

#4 PodMonitor for sei-k8s-controller — Resolved as already-implemented.
   The upstream config/monitoring/ ships a ServiceMonitor (functionally
   equivalent to PodMonitor) which is pulled in transitively via the
   platform's kustomization. sei-protocol/platform#243 closed-as-already-
   implemented after kubectl kustomize verification. Same pattern as
   Open Dependency #1's lag_status mis-claim.

#6 monitoring/ namespace label — Resolved by sei-protocol/platform#269
   (merged); the cluster's monitoring/ namespace now carries
   sei.io/validation-shared-rules=true.

Open Dependencies #2 (TaskPlan.TargetPhase decision), #5 (heartbeat
PrometheusRule, deferred), #7 (Indexed-Job shard env injection), and
#8 (controller registration opt-in plumbing) remain open.

Refs sei-k8s-controller#143 #145 #144 platform#243 #245

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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