stackabletech / stackabletech/opa-operator
Improve tracing / reconciliation when clusterOperation.reconciliationPaused is set to true
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 21
- Fork
- 5
- Merge medio
- 12h 44m
- PR unite (30g)
- 11
Descrizione
When clusterOperation.reconciliationPaused is set to true, the operator still runs through reconciliation without applying anything. This leads to errors in the operator logs when required dependencies are not applied and missing (e.g. retrieve a nodeport from a service etc.)
2024-02-13T09:18:40.770253Z ERROR stackable_operator::logging::controller: Failed to reconcile objec │
│ t controller.name="opacluster.opa.stackable.tech" error=reconciler for object OpaCluster.v1alpha1.op │
│ a.stackable.tech/opa.platform failed error.sources=[failed to apply role Service, Kubernetes reporte │
│ d error: ApiError: services "opa" not found: NotFound (ErrorResponse { status: "Failure", message: " │
│ services \"opa\" not found", reason: "NotFound", code: 404 }), ApiError: services "opa" not found: N │
│ otFound (ErrorResponse { status: "Failure", message: "services \"opa\" not found", reason: "NotFound │
│ ", code: 404 }), services "opa" not found: NotFound]
This shadows the real problem (in this case it was hard to see that the operator is actually not reconciling that cluster) and the errors is logged constantly in the operator and the CR events.
We need to improve the operator logging in this case to "ignore" errors and simply log that this cluster is currently not reconciled.
This may affect other operators as well.
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 percorso di riconciliazione che gestisce clusterOperation.reconciliationPaused e verifica come vengono registrati gli errori e come vengono emessi come eventi CR. Il lavoro è completato quando un cluster in pausa non produce errori di dipendenza ripetuti e registra invece chiaramente che la riconciliazione è in pausa; verifica se il comportamento si applica anche ad altri operatori, come suggerito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- devops
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100