Projet

Général

Profil

Tâche #33520

Scénario #33440: problème lié à la gestion du dhcp via l'EAD3 sur module scribe AD

tester

Ajouté par Emmanuel GARETTE il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
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)

Formats disponibles : Atom PDF