Projet

Général

Profil

Tâche #35313

Scénario #35390: Seth 2.8.1 : pas de données de surveillance - zephiragents en erreur

Incohérence entre l'agent Zéphir et diagnose sur les erreurs de base de données Scribe

Ajouté par Emmanuel GARETTE il y a environ un an. Mis à jour il y a 3 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
PNE-SR - Distribution EOLE - Prestation Cadoles MTE 2023 s40 - s44
Début:
08/11/2023
Echéance:
% réalisé:

100%

Restant à faire (heures):
0.0

Description

Dans l'agent Zéphir on m'annonce 10 erreurs dans l'action "vérification de la base Samba"

Par contre dans diagnose j'ai :

Base de données samba :
.           Nombre d'erreurs  => 

Le problème semble être le contenu du fichier de log :

root@scribe2:~# cat /var/lib/eole/reports/samba-dbcheck.log

10 errors

Si je supprime la ligne vide le diagnose est bien en rouge.
Par contre il y a 2 fois la valeur 10 :

Base de données samba :
.           Nombre d'erreurs  => 10
10

Demandes liées

Lié à EOLE AD DC - Scénario #31927: Mettre en place un check de la bd Samba Terminé (Sprint) 06/04/2021 23/04/2021

Révisions associées

Révision d2dd0ee7 (diff)
Ajouté par Benjamin Bohard il y a 6 mois

Chercher spécifiquement le motif ([0-9]+ errors) dans le rapport.

Ref #35313

Révision bf440cde (diff)
Ajouté par Benjamin Bohard il y a 6 mois

Ne pas afficher de complément d’information.

Le fichier de rapport ne semble pas devoir contenir
d’informations autres que le nombre d’erreurs.

Ref #35313

Révision 6d91ac7c (diff)
Ajouté par Benjamin Bohard il y a 6 mois

Conserver l’intégralité du rapport de la commande samba-tool dbcheck.

Ref #35313

Historique

#1 Mis à jour par Joël Cuissinat il y a environ un an

#2 Mis à jour par Joël Cuissinat il y a environ un an

root@scribe:~# dpkg -S /usr/share/eole/sbin/run_samba_tool_dbcheck 
eole-ad-dc-scribe: /usr/share/eole/sbin/run_samba_tool_dbcheck
root@scribe:/usr/share/eole/diagnose# cat 151-AD-scribe 
#!/bin/bash

[ -x /var/lib/lxc/addc/rootfs/usr/share/eole/diagnose/151-AD ] && /var/lib/lxc/addc/rootfs/usr/share/eole/diagnose/151-AD
exit 0

Fonctionnalité ajoutée sur EOLE ≥ 2.8.1

#3 Mis à jour par Joël Cuissinat il y a environ un an

  • Tracker changé de Demande à Scénario
  • Début 22/03/2023 supprimé
  • Release mis à EOLE 2.8.1
  • Points de scénarios mis à 1.0

#4 Mis à jour par Joël Cuissinat il y a environ un an

#5 Mis à jour par Joël Cuissinat il y a 11 mois

  • Lié à Scénario #35390: Seth 2.8.1 : pas de données de surveillance - zephiragents en erreur ajouté

#6 Mis à jour par Joël Cuissinat il y a 11 mois

  • Tâche parente mis à #35390

#7 Mis à jour par Joël Cuissinat il y a 11 mois

à défaut de trouver la source du problème, il faudrait que le test diagnose supporte le "mauvais" format...

#8 Mis à jour par Benjamin Bohard il y a 6 mois

La lecture du contenu du rapport de samba-tool dbcheck est assurée par

read -a db_status <<< $(cat /var/lib/eole/reports/samba-dbcheck.log)
db_errors=${db_status[0]}

qui s’accommode mal de la présence d’une ligne vide.

Le doublon est présent à cause de

EchoRouge "${db_errors}" 
EchoRouge "${db_status[@]}" 

dans le cas ou db_errors est différent de 0.

db_status est un tableau qui ne contient que la partie du retour de samba-tool dbcheck qui est entre parenthèses, par exemple "0 errors". Il faudrait un exemple avec au moins une erreur dans la base pour sur la pertinence d’afficher ce contenu.

#9 Mis à jour par Daniel Dehennin il y a 6 mois

Pour tester, il faudrait peut-être regarder comment samba fait ces tests dbcheck ?

#10 Mis à jour par Benjamin Bohard il y a 6 mois

Sur un Seth avec import :
dbcheck.ldif

dn: CN=c42e15,CN=Users,DC=domseth,DC=ac-test,DC=fr
changetype: modify
add: otherHomePhone
otherHomePhone: 1
otherHomePhone: 2
otherHomePhone: 1
otherHomePhone: 3
otherHomePhone: 2

ldbmodify -H /var/lib/samba/private/sam.ldb.d/DC%3DDOMSETH%2CDC%3DAC-TEST%2CDC%3DFR.ldb dbcheck.ldif

# samba-tool dbcheck
Checking 321 objects
ERROR: Duplicate values for attribute 'otherHomePhone' in 'CN=c42e15,CN=Users,DC=domseth,DC=ac-test,DC=fr'
Values contain a duplicate: [1,2,1,3,2]/[2,1,3]!
Not fixing attribute 'otherHomePhone'
On object CN=c42e15,CN=Users,DC=domseth,DC=ac-test,DC=fr
ERROR: Attribute otherhomephone not present in replication metadata
Not fixing missing replPropertyMetaData element 'otherhomephone'
Please use --fix to fix these errors
Checked 321 objects (2 errors)

Une première lecture du code confirme également que la seule information entre parenthèses devrait être le nombre d’erreurs.
Il ne semble pas nécessaire de répéter cette information. Peut-être afficher un conseil sur l’exécution de samba-tool dbcheck pour avoir plus de détails ?

Au passage, on peut voir que la commande awk utilisée pour extraire les informations pour le rapport doit intercepter la phrase "Please use --fix to fix these errors". On peut filtrer sur "errors)" plutôt que sur "errors" ou encore se fier au fait que le nombre d’erreurs est toujours sur la dernière ligne.

#11 Mis à jour par Benjamin Bohard il y a 6 mois

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Benjamin Bohard
  • Début mis à 08/11/2023

#12 Mis à jour par Benjamin Bohard il y a 6 mois

Actuellement, le script run_samba_tool_dbcheck filtre les résultats écrits dans le fichier de rapport.
Ce rapport, de ce fait, ne contient pas de détails sur les erreurs identifiées par "samba-tool dbcheck".

L’idée proposée précédemment de conseiller à l’administrateur de relancer "samba-tool dbcheck" pour avoir des détails sur les erreurs ne semble pas judicieuse si cette commande peut mettre du temps.

Il semble finalement plus pertinent d’inclure dans le rapport /var/lib/eole/reports/samba-dbcheck.log la totalité du retour de la commande "samba-tool dbcheck" et de déléguer le filtrage aux scripts qui le lisent (diagnose et agent zéphir).

Pour éviter les effets de bords d’un changement conséquent du contenu du fichier de rapport, le résultat de la commande peut être envoyé dans un autre fichier (/var/lib/eole/reports/samba-dbcheck.full_report par exemple) et le contenu de ce dernier filtré pour construire le fichier /var/lib/eole/reports/samba-dbcheck.log. Les scripts peuvent continuer à le lire et renvoyer l’administrateur à la lecture de l’autre fichier pour plus de détails).

#13 Mis à jour par Benjamin Bohard il y a 5 mois

  • Statut changé de En cours à À valider

#14 Mis à jour par Philippe Carre il y a 4 mois

  • Statut changé de À valider à Résolu

A vérifier coté Eole, on n'utilise pas de scribe .

#15 Mis à jour par Joël Cuissinat il y a 3 mois

eole-ad-dc$ git branch -r --contains  6d91ac7c  
  origin/2.8.1/master
  origin/HEAD -> origin/master
  origin/dist/eole/2.8.1/master
  origin/dist/eole/2.9.0/master
  origin/master

#16 Mis à jour par Joël Cuissinat il y a 3 mois

  • % réalisé changé de 0 à 100

#17 Mis à jour par Joël Cuissinat il y a 3 mois

  • Statut changé de Résolu à Fermé
  • Restant à faire (heures) mis à 0.0

Rédaction d'un test squash pour Scribe et AmonEcole : https://dev-eole.ac-dijon.fr/squash/test-cases/9526/info
Passant sur ces deux modules.

Formats disponibles : Atom PDF