ate-setup deploy ate-system fails on in-place upgrade when v1alpha1 CRDs exist (storedVersions: ["v1alpha1"] missing from spec.versions)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go, kubernetes
- Ambito
- backend-api-design, infrastructure
Direzione di ricerca
Read cmd/ate-setup/internal/steps/deploy.go at DeployCRDs and inspect the three generated CRDs named in the issue. First reproduce the upgrade failure using the supplied kubectl commands and go run ./cmd/ate-setup deploy ate-system. Done means an in-place upgrade succeeds while preserving existing custom resources; the issue describes keeping the old version during migration or migrating stored objects before removing it.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary & Root Cause
Commit 48f5744c replaced name: v1alpha1 with name: v1 in the generated CRDs and did not keep v1alpha1 as a served-false, storage-false version. A cluster installed before that change has status.storedVersions: ["v1alpha1"] on workerpools.ate.dev, sandboxconfigs.ate.dev and csidriverconfigs.ate.dev. The API server refuses any CRD update that drops a version still listed in storedVersions. DeployCRDs just re-applies the generated manifests and has no migration step (no StorageVersionMigration, no storedVersions rewrite), so the upgrade fails at the first step.
Affected Code Locations
manifests/ate-install/generated/ate.dev_workerpools.yaml:32, 52, 632-633(single versionv1,served: true,storage: true)manifests/ate-install/generated/ate.dev_sandboxconfigs.yaml:43(single versionname: v1)manifests/ate-install/generated/ate.dev_csidriverconfigs.yaml:40(single versionname: v1)cmd/ate-setup/internal/steps/deploy.go:666-676(DeployCRDs: appliesgeneratedwith no storage-version handling)- Commit
48f5744c("Move public APIs underapi/<api-name>/v1", #2996) renamed the CRD versionv1alpha1→v1in place, with no transitionalv1alpha1entry.
Detailed Reproduction Guide
-
On a cluster where a CRD was created with
v1alpha1as its storage version (simulated on a fresh cluster by applying av1alpha1-onlyworkerpools.ate.devbefore the first deploy), confirm:kubectl get crd workerpools.ate.dev -o jsonpath='{.status.storedVersions}' -
Run the deploy:
go run ./cmd/ate-setup deploy ate-system -
Control: delete the CRD and deploy again:
kubectl delete crd workerpools.ate.dev go run ./cmd/ate-setup deploy ate-system
Expected vs. Actual Behavior
- Expected:
deploy ate-systemupgrades CRDs in place, either by keepingv1alpha1inspec.versionswithserved: false, storage: falseuntil storage is migrated, or by migrating objects and trimmingstatus.storedVersionsbefore applying the new CRD. - Actual: The deploy fails immediately at
[step]: deploy_crds. It only succeeds after the operator deletes the custom resources and CRDs by hand, which destroys everyWorkerPoolandSandboxConfig.
Observed Output & Logs
[step]: deploy_crds
Error: while applying customresourcedefinition/workerpools.ate.dev: CustomResourceDefinition.apiextensions.k8s.io "workerpools.ate.dev" is invalid: status.storedVersions[0]: Invalid value: "v1alpha1": missing from spec.versions; v1alpha1 was previously a storage version, and must remain in spec.versions ...
versions after DeployCRDs: v1alpha1
[step]: deploy_crds
Error: ... status.storedVersions[0]: Invalid value: "v1alpha1": missing from spec.versions
- Lingua principale
- Go
- Stelle
- 6.1k
- Fork
- 676
- Merge medio
- 2g 41m
- PR unite (30g)
- 500
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di agent-substrate/substrate
-
network-egress.md describes actor certificate checks the egress gateway doesn't makeForse già presa @ericcurtin l’ha presa oggi. Apertaarea/network area/security kind/docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
agent-substrate/substrate#3709 ·
I maintainer di solito rispondono entro 1 giorno
-
Clean up the ko retry testsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertaarea/dev-infra area/reliability area/tests kind/cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
agent-substrate/substrate#3461 ·
I maintainer di solito rispondono entro 1 giorno
-
egress: drop the empty-provider check in providerCredentialForse già presa @cloudonly l’ha presa 7 giorni fa. Apertaarea/network kind/cleanup
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
agent-substrate/substrate#3428 ·
I maintainer di solito rispondono entro 1 giorno
-
kubectl-ate create actor-template -f <file> fails with useless errorForse già presa @cloudonly l’ha presa 9 giorni fa. Apertaarea/cli kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
agent-substrate/substrate#3406 ·
I maintainer di solito rispondono entro 1 giorno
-
k8s-credential-provider manifest is missing ate-otel-config envFrom, failing OTLP metric exports to [::1]:4317 / 127.0.0.1:4317 every 60sForse già presa @ericcurtin l’ha presa 9 giorni fa. Apertaarea/dev-infra area/observability area/security kind/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
agent-substrate/substrate#3282 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di agent-substrate/substrate
Issue simili
-
enhancement needs:sonnet ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microsoft/TypeScript#65370 ·
I maintainer di solito rispondono entro 1 giorno
-
docs: data-ownership invites vendors to build add-ons around the OSForse già presa @brandli l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
gentian-org/gentian-os#894 ·
I maintainer di solito rispondono entro 1 giorno
-
bug tech debt testing
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
aws/amazon-vpc-cni-k8s#3976 ·
I maintainer di solito rispondono entro 1 giorno
-
bug raised-by:desk
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
medici-finance/assay#5678 ·
I maintainer di solito rispondono entro 1 giorno