stackabletech / stackabletech/opa-operator

Improve tracing / reconciliation when clusterOperation.reconciliationPaused is set to true

Aperta
#521 0 commenti 2 reazioni 0 assegnatari Vedi su GitHub

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

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. 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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.