Tâche #33520
Scénario #33440: problème lié à la gestion du dhcp via l'EAD3 sur module scribe AD
tester
Début:
13/12/2021
Echéance:
% réalisé:
100%
Restant à faire (heures):
0.0
Historique
#1 Mis à jour par Emmanuel GARETTE il y a plus de 2 ans
Sur un Scribe etb1 en 2.7.2 ou 2.8.1, on peut reproduire l'erreur en remplissant le fichier /var/lib/dhcp/dhcpd.leases :
# The format of this file is documented in the dhcpd.leases(5) manual page. # This lease file was written by isc-dhcp-4.4.1 # authoring-byte-order entry is generated, DO NOT DELETE authoring-byte-order little-endian; lease 1.1.1.1 { starts 1 2022/01/03 13:17:40; ends 1 2022/01/03 23:17:40; cltt 1 2022/01/03 13:17:40; binding state active; next binding state free; rewind binding state free; hardware ethernet 1c:1c:1c:1c:1c:1c; uid "\001\034lll\235|"; set vendor-class-identifier = "MSFT 5.0"; client-hostname "CCCC_C"; }
On voit l'erreur :
root@scribe:~# cd /srv/ead3/salt/_modules root@scribe:/srv/ead3/salt/_modules# python3 Type "help", "copyright", "credits" or "license" for more information. >>> import ead >>> ead.__salt__ = None >>> ead.__utils__ = None >>> ead.__context__ = None >>> ead.dhcp_get_leases() Traceback (most recent call last): File "/srv/ead3/salt/_modules/ead/dhcp/__init__.py", line 269, in get_leases _DomainnameOption('test', '', name, type_='domainname', allow_ip=False, allow_without_dot=True, allow_uppercase=True) File "/usr/lib/python3/dist-packages/tiramisu/option/option.py", line 492, in __init__ super(DomainnameOption, self).__init__(name, doc, default=default, File "/usr/lib/python3/dist-packages/tiramisu/option/baseoption.py", line 164, in __init__ raise err ValueError: "CCCC_C" est une valeur invalide pour l'option "test" de type nom de domaine During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/srv/ead3/salt/_modules/ead/__init__.py", line 55, in func return getattr(module, function)(*args, **kwargs) File "/srv/ead3/salt/_modules/ead/dhcp/__init__.py", line 40, in wrapper return func(*args, **kwargs) File "/srv/ead3/salt/_modules/ead/dhcp/__init__.py", line 271, in get_leases lease['client-hostname'] = None TypeError: 're.Match' object does not support item assignment
Après mise à jour :
root@scribe:/srv/ead3/salt/_modules# python3 Python 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import ead >>> ead.__salt__ = None >>> ead.__utils__ = None >>> ead.__context__ = None >>> ead.dhcp_get_leases() {'leases': [{'id': 0, 'name': None, 'address': '1.1.1.1', 'mac': '1c:1c:1c:1c:1c:1c', 'expiration': '2022/01/03 23:17:40'}]} >>>
#2 Mis à jour par Ludwig Seys il y a plus de 2 ans
- Statut changé de Nouveau à En cours
- Assigné à changé de Arnaud FORNEROT à Ludwig Seys
#3 Mis à jour par Ludwig Seys il y a plus de 2 ans
- Statut changé de En cours à Résolu
le résultat à été reproduit :
-{'leases': [{'id': 0, 'name': None, 'address': '1.1.1.1', 'mac': '1c:1c:1c:1c:1c:1c', 'expiration': '2022/01/03 23:17:40'}]}
#4 Mis à jour par Ludwig Seys il y a plus de 2 ans
- % réalisé changé de 0 à 100
#5 Mis à jour par Joël Cuissinat il y a plus de 2 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) mis à 0.0
OK (testé ligne de commande et interface)