🤖 CoderWorkspaceClaim: a bound claim whose member failed stays Reconciling, so GitOps waits only time out
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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 thekwp-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 fromwatchReadywhilestatus.bindExtendedis 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
- Set
Stalled=Trueon a bound claim whose member phase isFailed(the claim is notLost, because the workspace can still exist). The health rules need no change. - 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
- Langage dominant
- Go
- Étoiles
- 5
- Forks
- 3
- Merge moyen
- 1 h 50 min
- PR mergées (30 j)
- 160
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de coder/coder-k8s
-
CoderWorkspacePool: count bound and used members only when their owner matches the pool's ownerOuverte
Difficulté 3/5 Une demi-journée Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 45/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 30/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 8/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de coder/coder-k8s
Issues similaires
-
[bug]: scan-all update-schedule does not auto-convert 5-field cron expressions as documentedPeut-être pris @vishnums2k5 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
goharbor/harbor-cli#1143 · 1 commentaire ·
Les mainteneurs répondent en général sous 8 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
--info inline-right:PREFIX leaves the first character of the prefix when the info gets shorterOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
rossoctl/context-guru#1053 ·
Les mainteneurs répondent en général sous 1 jour
-
[BUG] EphemeralJob matches every pod in the namespace when spec.selector is emptyPeut-être pris @vishnums2k5 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
openkruise/kruise#2656 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour