Scénario #33440
problème lié à la gestion du dhcp via l'EAD3 sur module scribe AD
100%
Description
Nous rencontrons un problème lié à la gestion du DHCP via l’EAD3 sur le module ScribeAD.
Nous avons le problème sur deux serveurs en v2.7.1 et v2.8.1.
La configuration actuelle sur les deux serveurs : deux plages DHCP, une en dynamique (10.0.60.0/24) et une en statique pour les réservations (10.254.0.0/24). La gestion du DHCP sur l’EAD3 est activée.
Quand nous nous connectons sur l’EAD3, nous obtenons les erreurs suivantes :
· Passed invalid arguments to ead.dhcp_get_leases: '_sre.SRE_Match' object does not support item assignment None
· Passed invalid arguments to ead.dhcp_get_subnets: '_sre.SRE_Match' object does not support item assignment None
Ces erreurs rendent inutilisable la gestion du DHCP sur l’EAD3. Tous les onglets sont vides et nous ne voyons plus le baux en cours ni les deux plages d’adresses.
Cependant, le DHCP fonctionne correctement. Les périphériques récupèrent bien leurs adresses (via les deux plages d’adresses) sur le réseau.
Le problème semble se situer sur la lecture du baux DHCP en cours (fichier /var/lib/dhcp/dhcpd.leases) par l’EAD3.
Nous l’avons supprimé pour repartir sur un nouveau.
Résultat, la gestion du DHCP sur l’EAD3 est de nouveau fonctionnelle.
Mais dès que les stations sur le réseau sollicitent le DHCP, le problème revient.
Les logs pour le serveur v2.7.2 : https://we.tl/t-Znl0x2gnKr
Les logs pour le serveur v2.8.1 : https://we.tl/t-8YnGWtPFE3
Sous-tâches
Demandes liées
Historique
#1 Mis à jour par Gilles Grandgérard il y a plus de 2 ans
- Tracker changé de Demande à Scénario
- Début
23/11/2021supprimé
#2 Mis à jour par Gilles Grandgérard il y a plus de 2 ans
- Release mis à EOLE 2.8.1
#3 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Points de scénarios mis à 1.0
#4 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Release changé de EOLE 2.8.1 à Carnet de produit (Cadoles)
#5 Mis à jour par Joël Cuissinat il y a plus de 2 ans
Julien Lacombe a écrit :
Les logs pour le serveur v2.7.2 : https://we.tl/t-Znl0x2gnKr
Les logs pour le serveur v2.8.1 : https://we.tl/t-8YnGWtPFE3
Nous avons trop tardé, les partages sont expirés...
Il faudrait nous transmettre le fichier "/var/lib/dhcp/dhcpd.leases" qui pose problème afin que l'on puisse reproduire l'erreur.
Et éventuellement voir si il n'y a pas une pile d'appel (traceback) dans les logs : /var/log/rsyslog/local/salt-master-ead3/salt-master-ead3.info.log
#6 Mis à jour par Joël Cuissinat il y a plus de 2 ans
Dans les logs fournis par un autre utilisateur (Valence Romans Agglo), on peut trouver :
File "/usr/lib/python3/dist-packages/salt/ext/tornado/gen.py", line 309, in wrapper yielded = next(result) File "/usr/lib/python3/dist-packages/salt/utils/process.py", line 664, in run self.check_children() File "/usr/lib/python3/dist-packages/salt/utils/process.py", line 689, in check_children for pid, mapping in self._process_map.items(): RuntimeError: dictionary keys changed during iteration [WARNING ] Master received a SIGTERM. Exiting. The salt master is shutdown. Master received a SIGTERM. Exited. Exception ignored in: <Finalize object, dead> Traceback (most recent call last): File "/usr/lib/python3.8/multiprocessing/util.py", line 224, in __call__ File "/usr/lib/python3.8/multiprocessing/util.py", line 464, in close_fds AttributeError: 'NoneType' object has no attribute 'close' [ERROR ] Future <salt.ext.tornado.concurrent.Future object at 0x7f096840cca0> exception was never retrieved: Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/salt/ext/tornao/gen.py", line 309, in wrapper yielded = next(result) File "/usr/lib/python3/dist-packages/salt/utils/process.py", line 664, in run self.check_children() File "/usr/lib/python3/dist-packages/salt/utils/process.py", line 689, in check_children for pid, mapping in self._process_map.items(): RuntimeError: dictionary keys changed during iteration
J'ai copié le fichier de leases transmis dans le partage interne pour étude ultérieure :
/mnt/eole-ci-tests/output/dhcp/valence-dhcpd.leases
#7 Mis à jour par Emmanuel GARETTE il y a plus de 2 ans
Dans le fichier /usr/lib/python3/dist-packages/salt/utils/process.py on voit que parfois il copie le dico avant d'itérer dessus :
for pid, p_map in self._process_map.copy().items():
Mais pas partout.
#8 Mis à jour par Matthieu Lamalle il y a plus de 2 ans
- Echéance mis à 14/01/2022
- Assigné à mis à Emmanuel GARETTE
- Version cible mis à Prestation Cadoles MEN 2021 50-02
- Début mis à 13/12/2021
- Release
Carnet de produit (Cadoles)supprimé
#9 Mis à jour par Emmanuel GARETTE il y a plus de 2 ans
- Lié à Scénario #30406: Erreur EAD3 DHCP SETH 2.7.1.2 ajouté
#10 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Statut changé de Nouveau à Terminé (Sprint)
- Release mis à EOLE 2.7.2
#11 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Lié à Tâche #33570: Valider le scénario problème lié à la gestion du dhcp via l'EAD3 sur module scribe AD ajouté