stackabletech / stackabletech/commons-operator
Pod expiration drifts when system is suspended
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 4
- Merge medio
- 7h 48m
- PR unite (30g)
- 7
Descrizione
Affected Stackable version
dev (24.11 prerelease)
Current and expected behavior
@xeniape ran into an issue (sble employees: see slack) where pods would be left with expired certificates after a while, rather than getting evicted by commons-op as expected. Restarting commons-op evicted the pods, as expected.
Our current working hypothesis here is that commons-op's re-reconciliation timer didn't advance while the computer was suspended, causing the eviction to be delayed by the same amount of time.
Possible solution
Either:
- Change the timer to use wall time instead of monotonic/CPU time
- Cap the re-reconciliation timer, causing spurious reconciles but at least limiting the issue
- Make the timer automatically expire when resuming from suspend
Either way, we should probably also communicate upstream with kube-rs and either fix it there or highlight the issue somehow.
Additional context
No response
Environment
No response
Would you like to work on fixing this bug?
None
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
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.
Direzione di ricerca
Inizia individuando il timer di ri-riconciliazione di commons-op e verificando come si comportano i timer di kube-rs durante la sospensione e la ripresa del sistema. Riproduci, se possibile, l'eviction ritardata del pod, quindi determina se sia appropriato un fix upstream in kube-rs o una modifica a commons-op. Il lavoro è completato quando i certificati scaduti causano un'eviction tempestiva dopo la ripresa, con una copertura di regressione o una issue upstream che documenti la limitazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- kubernetes, rust
- Ambito
- devops, infrastructure
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 35/100