🤖 CoderWorkspaceClaim: a bound claim whose member failed stays Reconciling, so GitOps waits only time out

Đang mở
#454 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go
Lĩnh vực
devops

Hướng nghiên cứu

Start with writeClaimStatuses in internal/controller/coderworkspacepool_claim.go, which sets Stalled only for Lost or a Share stall, and with readPoolMemberWorkspace in internal/controller/coderworkspacepoolmember_ready.go. The issue leaves open whether to set Stalled=True on a bound claim whose member is Failed, or to keep the current delete-and-recreate behavior documented in docs/how-to/gitops.md, so confirm the choice with maintainers first. Done means a bound claim with a failed member reports a terminal state that the GitOps health rules can read.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Problem

A bound CoderWorkspaceClaim whose member fails stays Reconciling=True forever, so the GitOps health rules from #453 show it Progressing (Argo CD) or InProgress (Flux) and never Degraded/Failed. A sync wave or a Flux wait: true that waits on such a claim ends only at its timeout.

Reachable member failures after a bind:

  • OwnershipUnknown: someone renamed the kwp- workspace, or it has another owner or template (readPoolMemberWorkspace, internal/controller/coderworkspacepoolmember_ready.go), on every poll of a bound member.
  • ChangedExternally: someone started a build before the bind extension finished (poolMemberStartBuildStep, reached from watchReady while status.bindExtended is false).

writeClaimStatuses (internal/controller/coderworkspacepool_claim.go) copies the member's reason, but sets Stalled only for Lost or a Share stall. The pool deletes only unclaimed failed members, so the claim stays Bound, not ready, and Reconciling=True.

Options

  1. Set Stalled=True on a bound claim whose member phase is Failed (the claim is not Lost, because the workspace can still exist). The health rules need no change.
  2. Keep the behavior, which #453 documents in docs/how-to/gitops.md: delete the claim and let GitOps create it again.

Found by the independent readiness review of #453 (plan PR 16a of #153).


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: xhigh

Ngôn ngữ chính
Go
Star
5
Fork
3
Merge trung bình
1 giờ 50 phút
Pull request đã merge (30 ngày)
160

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của coder/coder-k8s

Tất cả issue của coder/coder-k8s

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.