Aller au contenu

PrometheusRules : migration upstream -> custom#

Contexte#

Il s'agit de migrer des rules upstream pour les avoir dans nos rules custom.

Ce cas peut par exemple se passer quand on a besoin de faire une modification sur une rule upstream.

CAASCHR#

Champ Description
Titre [STG] Prometheus-rules : Réimplémentation de l'alerte AlertmanagerMembersInconsistent
Zones Toutes les zones cloud FE + la zone infra
Durée En général, il faut 3Om

Dans la description, bien revoir ces points :

  • les objectifs
  • la procédure de vérification

Description#

h1. Zones

<Indiquer les zones ici>

h1. Préparatifs

{code}
export INFRA_ZONE=infra-stg
export OCB_ZONES=(ocb-test05 ocb-test06)
export ZONES=(infra-stg ocb-test05 ocb-test06)
{code}

h1. Objectifs

* Supprimer la rule upstream AlertmanagerMembersInconsistent
* Déployer la nouvelle rule custom AlertmanagerMembersInconsistent

h1. Déploiement

Mettre un commentaire *trackbone apply* dans la MR.

h1. Vérification

h2. Vérification rules upstream

{code}

export NAMESPACE=prometheusrules-dashboards-upstream

for i in "${OCB_ZONES[@]}"; do
  kswitch "$i"
  kubectl -n "${NAMESPACE}" get prometheusrules -o yaml |  grep AlertmanagerMembersInconsistent
done

kswitch ${INFRA_ZONE}
kubectl -n "${NAMESPACE}" get prometheusrules -o yaml | grep AlertmanagerMembersInconsistent
{code}

*Résultat* : aucune ligne 

h2. Vérification rules custom

* Vérifier dans la MR que la CI a déployé comme souhaité

* Lancer ce test sur toutes les zones

{code}

export NAMESPACE=prometheusrules

for i in "${ZONES[@]}"; do
  kswitch "$i"
  kubectl -n "${NAMESPACE}" get prometheusrules -o yaml | grep "alert: AlertmanagerMembersInconsistent"
done
{code}

*Résultat attendu*: 
* zone infra : 1
* zones cloud : 1

h1. Fin de MR

Si tout s'est bien passé, *merger la MR envs-ng*