settings.py flaps between reconciles: needsMigrationSetting depends on map iteration order
I maintainer di solito rispondono entro 4 giorni
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- infrastructure
Direzione di ricerca
Leggi controllers/repo_manager/secret.go, iniziando da needsMigrationSetting() e da come utilizza MigrationSettingsList(). Controlla i test correlati prima di apportare modifiche. Il lavoro è concluso quando settings.py generato è stabile tra le riconciliazioni e ogni impostazione impostata su true viene scritta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version
Operator 1.3.0. The same code is on main.
Describe the bug
needsMigrationSetting() in controllers/repo_manager/secret.go builds part of settings.py by ranging over MigrationSettingsList(), which is a Go map, and it returns at the first setting that is false.
Go randomizes map iteration order. With redirect_to_object_storage: true and hide_guarded_distributions: false, REDIRECT_TO_OBJECT_STORAGE = True is written on some reconciles and missing on others. With both settings true, the two lines swap order.
So the <name>-server Secret changes between reconciles. The operator logs The Data from Secret pulp-server has been modified! Reconciling ... and Reprovisioning pulpcore pods to get the new settings ..., and rolls the api, content and worker Deployments. The rollout triggers more reconciles, each with roughly a 50% chance of flipping the Secret again, so the loop sustains itself. We saw it run for minutes after a single CR change, and once it ran for days, creating tens of thousands of ReplicaSets.
There is a second effect. Depending on the order, a true setting can be dropped from settings.py entirely, so REDIRECT_TO_OBJECT_STORAGE is sometimes not applied.
To Reproduce
- Set
redirect_to_object_storage: trueand leavehide_guarded_distributionsunset. - Change anything on the CR to trigger a reconcile.
- Watch the operator logs and
kubectl get rs.
Expected behavior
settings.py is identical on every reconcile, and each true setting is written.
Additional context
Fix: iterate over sorted keys, and continue instead of return on a false setting. PR to follow.
- Lingua principale
- Go
- Stelle
- 88
- Fork
- 68
- Merge medio
- 3g 3h
- PR unite (30g)
- 1
Preparare l'ambiente
- Include un Dockerfile o un 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 pulp/pulp-operator
-
Documentation for metadata signing (APT/RPM) removed but still relevantForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaIssue Triage-Needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
pulp/pulp-operator#1644 ·
I maintainer di solito rispondono entro 4 giorni
-
Issue Triage-Needed
Difficoltà 3/5 1-2 giorni Idoneità per principianti 74/100
pulp/pulp-operator#1685 ·
I maintainer di solito rispondono entro 4 giorni
-
Gateway API compatibilityApertaFeature Triage-Needed
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
pulp/pulp-operator#1682 ·
I maintainer di solito rispondono entro 4 giorni
-
Issue Triage-Needed
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
pulp/pulp-operator#1647 ·
I maintainer di solito rispondono entro 4 giorni
-
Job definition for reset-admin-password doesn't propagate image pull policyForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. ApertaIssue
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
pulp/pulp-operator#1630 ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di pulp/pulp-operator
Issue simili
-
[submenu] nil issue on ubuntu 26.04Forse già presa @egoist l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
prime-radiant-inc/evener#3873 ·
I maintainer di solito rispondono entro 1 giorno
-
extract_llm_sweep / cache_aware_summarizer prefix ask 400s when thinking.budget_tokens exceeds PrefixAskMaxTokensForse già presa @amiddavid l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
rossoctl/context-guru#405 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
router-for-me/CLIProxyAPI#6423 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni