Set-OPS-Public/roles/client_sante/tasks/retirer.yml

49 lines
2.2 KiB
YAML
Raw Normal View History

---
# DEFAIRE CE QUE CE ROLE A POSE, SUR UN HOTE QUI N'EST PLUS DANS SON GROUPE (2026-10-03).
#
# Le cas qui l'a fait ecrire : les trois hyperviseurs du site. Ils ont recu `client_sante`
# le 2026-09-10, puis en sont sortis le jour meme — la route par defaut gelee (D-57)
# empeche un hyperviseur de joindre Icinga, et leurs metriques sont depuis TIREES par
# Prometheus (voir `scripts/site_inventaire.py`). Sortis du groupe, plus aucun play ne les
# touchait : le minuteur est reste, pointe sur `10.0.36.11`, l'adresse de `site-mon-01`
# d'avant la renumerotation.
#
# Mesure du 2026-10-03 : un echec toutes les 15 min depuis au moins sept jours, environ
# 2 050 par hyperviseur. Et `node_exporter` publiait sur chacun UNE unite en echec
# permanente — exactement ce que ce role refuse ailleurs (`client_sante_unites_tolerees`) :
# le jour ou une vraie unite tombe, le compte passe de 1 a 2 et personne ne le voit.
#
# ON NE RETIRE QUE CE QUE CE ROLE POSE. Les sondes de `client_journal` et de
# `client_metrique` restent dans `/usr/local/lib/setops/sondes/` : ces roles s'appliquent
# encore, ils les redeposeraient au prochain passage, et sans porteur elles sont inertes.
- name: Les unites du porteur sont-elles encore la ?
ansible.builtin.stat:
path: "/etc/systemd/system/{{ item }}"
loop: "{{ client_sante_unites_posees }}"
register: client_sante_unites_restantes
- name: Arreter et desactiver les minuteurs restes en place
ansible.builtin.systemd:
name: "{{ item.item }}"
state: stopped
enabled: false
loop: "{{ client_sante_unites_restantes.results }}"
loop_control:
label: "{{ item.item }}"
when:
- item.stat.exists
- item.item is search('\.timer$')
- name: Retirer les unites, le script et les secrets du rapport passif
ansible.builtin.file:
path: "{{ item }}"
state: absent
loop: >-
{{ client_sante_unites_posees | map('regex_replace', '^', '/etc/systemd/system/') | list
+ ['/usr/local/sbin/setops-sante.sh',
'/etc/setops/icinga-api.pass',
client_sante_ca_verification,
'/usr/local/lib/setops/sondes/disque.sh',
'/usr/local/lib/setops/sondes/plancher.sh'] }}
notify: Oublier l'echec du porteur retire