--node-affinity panics without Type and wipes existing affinity settings
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Inizia da UpdateNodeAffinity in pkg/flags/podspec_helper.go e segui come analizza Type e aggiorna spec.Affinity. Controlla i test vicini per i tipi mancanti e le clausole di affinity esistenti. Il lavoro è completato quando un tipo mancante restituisce un errore che elenca Required | Preferred e l’aggiunta di un termine conserva le altre impostazioni di affinity.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Bug report
--node-affinity (UpdateNodeAffinity in pkg/flags/podspec_helper.go) has two problems:
-
When no
Type=is given, kn panics with a nil pointer dereference instead of reporting an error, becausespec.Affinityis only initialized inside theTypebranches:$ kn service create foo --image gcr.io/knative-samples/helloworld-go --node-affinity Key=topology.kubernetes.io/zone,Operator=In,Values=antarctica-east1 panic: runtime error: invalid memory address or nil pointer dereference -
When the requested clause (
RequiredorPreferred) doesn't exist on the service yet, the wholespec.Affinityis replaced by a new empty object. This silently deletes everything else in it: the other node affinity clause and anypodAffinity/podAntiAffinity. For example, adding aPreferredterm to a service with aRequiredterm removes theRequiredterm.
Expected behavior
- A missing type is reported as an error listing the valid values (
Required | Preferred). - The new term is added to the requested clause and all other affinity settings of the service are kept.
Steps to reproduce the problem
With the node affinity feature flag enabled in Knative Serving:
kn service create foo --image gcr.io/knative-samples/helloworld-go \
--node-affinity Type=Required,Key=topology.kubernetes.io/zone,Operator=In,Values=antarctica-east1
kn service update foo \
--node-affinity Type=Preferred,Key=disktype,Operator=In,Values=ssd,Weight=1
kn service describe foo -o yaml # requiredDuringSchedulingIgnoredDuringExecution is gone
kn version
main (f2bfc7f3)
Knative (serving/eventing) version
Nightly
- Lingua principale
- Go
- Stelle
- 387
- Fork
- 278
- Merge medio
- 3g 21h
- PR unite (30g)
- 5
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 knative/client
-
Env vars given with --env/--env-value-from/--env-file are silently dropped when they can't be matched in the command lineForse già presa @NopeCharon l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
kind/bug lifecycle/stale triage/accepted
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
[48h Knative] KServe pluginForse di nuovo libera @sharmaansh21 l’ha presa 1065 giorni fa e non c’è nessuna pull request aperta. Apertaknative48h triage/accepted
knative/client#1866 · 4 commenti · 1 reazione · 2 assegnatari ·
-
CLI: add support for experimental new filters API in triggerForse di nuovo libera @JuneOh710 l’ha presa 1065 giorni fa e non c’è nessuna pull request aperta. Apertakind/feature triage/accepted
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
-
Service export should handle securityContext fieldForse di nuovo libera @thiagomedina l’ha presa 431 giorni fa e non c’è nessuna pull request aperta. Apertagood first issue kind/feature triage/accepted
Tutte le issue di knative/client
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
schema-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
stefanhoth/paperless-ngx-cli#61 ·
I maintainer di solito rispondono entro 1 giorno
-
Project submission: CodeAFAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
slavakurilyak/awesome-ai-agents#888 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement nav-pilot
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
kind/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno