openldap : la mesure d'un annuaire vierge ne meurt plus sur lui
Sur un annuaire vraiment vierge, grep -v ne gardait aucune ligne et sortait en 1 : pipefail faisait echouer la mesure dans le seul cas qu'elle doit reconnaitre. Comptage par awk. Trouve par la reconstruction de Chezlepro. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
515aac415a
commit
d9a8905fc7
1 changed files with 8 additions and 3 deletions
|
|
@ -57,12 +57,17 @@
|
||||||
# L'ANNUAIRE EST-IL VIERGE ? Mesure AVANT que ce role n'y cree quoi que ce soit (unites,
|
# L'ANNUAIRE EST-IL VIERGE ? Mesure AVANT que ce role n'y cree quoi que ce soit (unites,
|
||||||
# comptes de service) : apres, il ne le serait plus jamais. Le paquet ne pose que la
|
# comptes de service) : apres, il ne le serait plus jamais. Le paquet ne pose que la
|
||||||
# racine — `cn=admin` n'y figure que sur les installations anciennes.
|
# racine — `cn=admin` n'y figure que sur les installations anciennes.
|
||||||
|
#
|
||||||
|
# `awk`, PAS `grep -v | wc -l` : sur un annuaire VRAIMENT vierge, `grep -v` ne garde aucune
|
||||||
|
# ligne et sort en 1 — `pipefail` faisait alors echouer la mesure precisement dans le cas
|
||||||
|
# qu'elle doit reconnaitre (reconstruction de Chezlepro, 2026-09-30).
|
||||||
- name: Restauration — l'annuaire est-il vierge ?
|
- name: Restauration — l'annuaire est-il vierge ?
|
||||||
ansible.builtin.shell: >-
|
ansible.builtin.shell: >-
|
||||||
set -o pipefail;
|
set -o pipefail;
|
||||||
slapcat -b '{{ serveur_openldap_base_dn }}' 2>/dev/null | grep '^dn:'
|
slapcat -b '{{ serveur_openldap_base_dn }}' 2>/dev/null
|
||||||
| grep -v -i -x -e 'dn: {{ serveur_openldap_base_dn }}' -e 'dn: cn=admin,{{ serveur_openldap_base_dn }}'
|
| awk -v base='dn: {{ serveur_openldap_base_dn | lower }}'
|
||||||
| wc -l
|
'tolower($0) ~ /^dn: / && tolower($0) != base && tolower($0) != "dn: cn=admin," substr(base, 5) {n++}
|
||||||
|
END {print n + 0}'
|
||||||
args:
|
args:
|
||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
register: serveur_openldap_entrees_initiales
|
register: serveur_openldap_entrees_initiales
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue