Décommissionnement#
Note
Cette documentation ne s'applique qu'à NGOT à partir de la version Comet.
L'ensemble des actions suivantes doivent être tracées dans un CAASCHR.
L'opération s'effectue en trois étapes :
- suppression du mot de passe dans Vault infra
- suppression des données dans NGOT-Zones
- réinstallation du composant Cloudeye-Exporter-Client et de ses Prometheus-Rules avec Trackbone
Suppression du cloudeye-exporter#
Danger
Si l'opération consiste à supprimer toutes les instances Cloudeye-Exporter du client, il faut impérativement lancer trackbone destroy à cette étape de la procédure. Cela ne sera plus possible ultérieurement.
Ne faites pas cette opération s'il doit rester des instances Cloudeye-Exporter.
CLIENT="<client>" # exemple : CLIENT="pf"
cd ~/git/caascad/terraform/envs-ng/contexts/ngot
trackbone destroy -z "svc-monitoring-stack-client-${CLIENT}" -c cloudeye-exporter-client
Suppression du mot de passe dans Vault infra.#
Authentification au Vault infra#
INFRA_ZONE_NAME="" # infra-stg | infra-prd
export VAULT_ADDR="https://vault.${INFRA_ZONE_NAME}.caascad.com"
vault login -method oidc
Suppression du mot de passe dans Vault infra#
-
Afficher les commandes à lancer :
CLIENT="<client>" # exemple : CLIENT="pf" DOMAIN_NAME="<domain_name>" # exemple : DOMAIN_NAME="OCB0001234" # Affichage des commandes possibles printf "vault delete secret/zones/fe/svc-monitoring-stack-client-${CLIENT}/cloudeye-exporter-client/%s-%s\n" $(sd get zones | jq -r --arg z "svc-monitoring-stack-client-${CLIENT}" '.[$z].parameters."monitoring-stack".prometheus.exporters.cloudeyeExporter[] | [.domain_name, .project_name] | @sh') | grep -i "${DOMAIN_NAME}" -
Lancer les commandes
vault delete ...affichées ci-dessus (faire un copier/coller).
Danger
Si le client spécifie plusieurs domain_names ou demande à supprimer l'intégralité de ses exporters Cloudeye, il est possible d'afficher toutes les commandes vault delete en supprimant le grep -i "${DOMAIN_NAME}" ci-dessous.
ATTENTION : ces commandes sont dangereuses et il ne faut lancer que celles demandées par le client.
Suppression des données dans NGOT-Zones#
Modification du fichier envs-ng/zones/ngot_zones/values.cue#
Création une branche dans le repository envs-ng.
Suppression des données dans la clé .svc-monitoring-stack-client-${CLIENT}.parameters.monitoring-stack.prometheus.exporters.cloudeyeExporter (où ${CLIENT} est le nom du client, par exemple pf).
Génération des fichiers de zones :
cd ~/git/caascad/terraform/envs-ng
nix-shell
generate-static-zones-files
git status
Créer un commit puis une MR, la faire valider et la merger dans le cadre du CAASCHR.
Réinstallation de Cloudeye-Exporter-Client et des Prometheus-Rules#
cd ~/git/caascad/terraform/envs-ng/contexts/ngot
trackbone apply -z "svc-monitoring-stack-client-${CLIENT}" -c prometheus-rules
trackbone apply -z "svc-monitoring-stack-client-${CLIENT}" -c cloudeye-exporter-client
Note
Un déploiement consiste à déployer tous les cloudeye-exporters déclarés. En ayant supprimé la déclaration d'un cloudeye-exporter, la réinstallation aura pour effet de supprimer ce cloudeye-exporter devenu non déclaré.
Si toutes les instances de Cloudeye-Exporter ont été supprimées, le redéploiement trackbone apply -c cloude-exporter-client doit terminer en échec.
- Cela est normal.
- Cela prouve que la suppression a bien été prise en compte.