Projet

Général

Profil

Tâche #29642

Scénario #29652: Traitement express MEN (10-12)

Soucis de cohabitation z_stats et dhcp

Ajouté par Thierry Bertrand il y a environ 4 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Début:
04/03/2020
Echéance:
% réalisé:

100%

Temps estimé:
0.00 h
Restant à faire (heures):
0.0

Demandes liées

Lié à eole-ead3 - Scénario #20753: Visibilité des baux DHCP restants (EAD3 et agent) Terminé (Sprint) 16/12/2019 17/01/2020

Révisions associées

Révision 240b3fee (diff)
Ajouté par Joël Cuissinat il y a environ 4 ans

zstats.cfg : add "activer_dhcp"

Ref: #29642

Révision 7cb991fa (diff)
Ajouté par Joël Cuissinat il y a environ 4 ans

agentmanager/config.py : add ACTIVER_DHCP

Ref: #29642

Révision e3bf99d7 (diff)
Ajouté par Joël Cuissinat il y a environ 4 ans

Do not load the agent if dhcp is not activated

Ref: #29642

Historique

#1 Mis à jour par Thierry Bertrand il y a environ 4 ans

sur des serveurs seth 2.7.1, que la fonctionnalité dhcpd soit activée ou pas, on obtient des erreurs z_stats.
Au delà des erreurs, cela génère des coupures de communication avec zephir.

1er serveur :

root@set-30-09:~# systemctl status z_stats.service 
● z_stats.service - Agent zephir
   Loaded: loaded (/lib/systemd/system/z_stats.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-02-19 11:26:06 CET; 1 day 6h ago
 Main PID: 11397 (twistd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/z_stats.service
           └─11397 /usr/bin/python2 /usr/bin/twistd --nodaemon --no_save --pidfile /run/z_stats.pid zephiragents --tmp=data --data=stats --archive=/tmp --static=static --actions=actions

févr. 20 17:23:10 set-30-09 zephiragents[11397]:         
févr. 20 17:23:10 set-30-09 zephiragents[11397]: [-]         Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition: process ended with exit code 1.
févr. 20 17:23:10 set-30-09 zephiragents[11397]: [-] Unhandled error in Deferred:
févr. 20 17:23:10 set-30-09 zephiragents[11397]: [-] Unhandled Error
févr. 20 17:23:10 set-30-09 zephiragents[11397]: [-]         Traceback (most recent call last):
févr. 20 17:23:10 set-30-09 zephiragents[11397]: [-]         Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition: process ended with exit code 1.
févr. 20 17:26:12 set-30-09 zephiragents[11397]: 2020-02-20T17:26:12+0100 [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
févr. 20 17:26:12 set-30-09 zephiragents[11397]: 2020-02-20T17:26:12+0100 [-] got stderr: 'Traceback (most recent call last):\n  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>\n    ranges = get_ranges()\n  File "/usr/shar
févr. 20 17:26:12 set-30-09 zephiragents[11397]: [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
févr. 20 17:26:12 set-30-09 zephiragents[11397]: [-] got stderr: 'Traceback (most recent call last):\n  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>\n    ranges = get_ranges()\n  File "/usr/share/eole/sbin/dhcp-tool", l
root@set-30-09:~# CreoleGet eole_release
2.7.1
root@set-30-09:~# CreoleGet activer_dhcp
oui
root@set-30-09:~# dhcp-tool 
ddtm30 30 51

Serveur 2:

root@seth-49-04:/usr/lib/nagios/plugins# systemctl status z_stats.service 
● z_stats.service - Agent zephir
   Loaded: loaded (/lib/systemd/system/z_stats.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-02-20 05:33:54 CET; 11h ago
 Main PID: 1765 (twistd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/z_stats.service
           └─1765 /usr/bin/python2 /usr/bin/twistd --nodaemon --no_save --pidfile /run/z_stats.pid zephiragents --tmp=data --data=stats --archive=/tmp --static=static --actions=actions

févr. 20 17:23:07 seth-49-04 zephiragents[1765]: [-]         Traceback (most recent call last):
févr. 20 17:23:07 seth-49-04 zephiragents[1765]: [-]         Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition: process ended with exit code 1.
févr. 20 17:23:07 seth-49-04 zephiragents[1765]: [-] Unhandled error in Deferred:
févr. 20 17:23:07 seth-49-04 zephiragents[1765]: [-] Unhandled Error
févr. 20 17:23:07 seth-49-04 zephiragents[1765]: [-]         Traceback (most recent call last):
févr. 20 17:23:07 seth-49-04 zephiragents[1765]: [-]         Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition: process ended with exit code 1.
févr. 20 17:23:59 seth-49-04 zephiragents[1765]: 2020-02-20T17:23:59+0100 [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
févr. 20 17:23:59 seth-49-04 zephiragents[1765]: 2020-02-20T17:23:59+0100 [-] got stderr: 'Traceback (most recent call last):\n  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>\n    ranges = g
févr. 20 17:23:59 seth-49-04 zephiragents[1765]: [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
févr. 20 17:23:59 seth-49-04 zephiragents[1765]: [-] got stderr: 'Traceback (most recent call last):\n  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>\n    ranges = get_ranges()\n  File "/usr
root@seth-49-04:/usr/lib/nagios/plugins# CreoleGet eole_release
2.7.1
root@seth-49-04:/usr/lib/nagios/plugins# CreoleGet activer_dhcp
non
root@seth-49-04:/usr/lib/nagios/plugins# dhcp-tool 
Traceback (most recent call last):
  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>
    ranges = get_ranges()
  File "/usr/share/eole/sbin/dhcp-tool", line 26, in get_ranges
    for ip, netmask in zip(list(cfg.creole.dhcp.adresse_network_dhcp.adresse_network_dhcp),
  File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 248, in __getattr__
    return self.getattr(name)
  File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 316, in getattr
    raise props
tiramisu.error.PropertiesOptionError: ne peut accéder à l'optiondescription "dhcp" a cause de la propriété disabled (la valeur de "Activer le serveur DHCP" est "non")

#2 Mis à jour par Thierry Bertrand il y a environ 4 ans

  • Tracker changé de Scénario à Proposition Scénario

#3 Mis à jour par Philippe Carre il y a environ 4 ans

D'apres mes tests , l'activation du dhcp change quand même la donne :
Sur un eSSL 2.7.1

Demande de synchronisation auprès du service z_stats : Traceback (most recent call last):
  File "/usr/bin/synchro_zephir", line 66, in <module>
    sys.stdout.write(z_stats_proxy.archive_for_upload())
  File "/usr/lib/python2.7/xmlrpclib.py", line 1243, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1283, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1316, in single_request
    return self.parse_response(response)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1493, in parse_response
    return u.close()
  File "/usr/lib/python2.7/xmlrpclib.py", line 800, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault 8002: 'error'>

root@essl-271-6371:~# dhcp-tool 
Traceback (most recent call last):
  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>
    ranges = get_ranges()
  File "/usr/share/eole/sbin/dhcp-tool", line 26, in get_ranges
    for ip, netmask in zip(list(cfg.creole.dhcp.adresse_network_dhcp.adresse_network_dhcp),
  File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 248, in __getattr__
    return self.getattr(name)
  File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 316, in getattr
    raise props
tiramisu.error.PropertiesOptionError: ne peut accéder à l'optiondescription "dhcp" a cause de la propriété disabled (la valeur de "Activer le serveur DHCP" est "non")

Activation du DHCP , puis reconfigure .
Tout est ok.

root@essl-271-6371:~# synchro_zephir 
Demande de synchronisation auprès du service z_stats : ok

root@essl-271-6371:~# dhcp-tool
plage0 10 10
lugdunum 767 767

root@essl-271-6371:~# systemctl status z_stats.service
● z_stats.service - Agent zephir
   Loaded: loaded (/lib/systemd/system/z_stats.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-02-27 11:20:31 CET; 21min ago

Si je re-désactive le dhcp c'est de nouveau HS.

root@essl-271-6371:~# systemctl status z_stats.service
● z_stats.service - Agent zephir
   Loaded: loaded (/lib/systemd/system/z_stats.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2020-02-27 11:50:10 CET; 2h 41min ago
 Main PID: 2923 (twistd)
    Tasks: 1 (limit: 3546)
   CGroup: /system.slice/z_stats.service
           └─2923 /usr/bin/python2 /usr/bin/twistd --nodaemon --no_save --pidfile /run/z_stats.pid zephiragents --tmp=data --data=stats --archive=/tmp --static=static 

févr. 27 14:27:27 essl-271-6371 zephiragents[2923]: [-]         Traceback (most recent call last):
févr. 27 14:27:27 essl-271-6371 zephiragents[2923]: [-]         Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition:
févr. 27 14:28:27 essl-271-6371 zephiragents[2923]: 2020-02-27T14:28:27+0100 [-] KernelMaintenance : pas de dernière mesure disponible.
févr. 27 14:28:27 essl-271-6371 zephiragents[2923]: [-] KernelMaintenance : pas de dernière mesure disponible.
févr. 27 14:30:27 essl-271-6371 zephiragents[2923]: 2020-02-27T14:30:27+0100 [-] KernelMaintenance : pas de dernière mesure disponible.
févr. 27 14:30:27 essl-271-6371 zephiragents[2923]: [-] KernelMaintenance : pas de dernière mesure disponible.
févr. 27 14:30:30 essl-271-6371 zephiragents[2923]: 2020-02-27T14:30:30+0100 [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
févr. 27 14:30:30 essl-271-6371 zephiragents[2923]: [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
févr. 27 14:30:30 essl-271-6371 zephiragents[2923]: 2020-02-27T14:30:30+0100 [-] got stderr: 'Traceback (most recent call last):\n  File "/usr/share/eole/sbin/dhcp-too
févr. 27 14:30:30 essl-271-6371 zephiragents[2923]: [-] got stderr: 'Traceback (most recent call last):\n  File "/usr/share/eole/sbin/dhcp-tool", line 102, in <module>

root@essl-271-6371:~# systemctl start z_stats.service
Pas de message d'erreur
mais le service est toujours HS.

Si je réactive le dhcp , tout redevient OK.

Au final, il semble bien que ce soit dhcp-tool qui cause l'erreur (nouveauté uniquement présente sur les 2.7.1), en fonction de l'activation ou non du dhcp.
Et, ça ne concerne que les stats zephir, l'envoi de conf ou la sauvegarde vers zephir sont ok.

#4 Mis à jour par équipe eole Academie d'Orléans-Tours il y a environ 4 ans

Bonjour,

je plussoie cette demande sur des AMON 2.7.1 a jour.
Sur ma maquette, je reproduit ce problème, qui apparait sur tous nos AMON déployés en etab privé : aucun n'a de DHCP. RAS sur nos AMON en EPLE publique : on a partout du DHCP.

Sur maquette, la désactivation du service dhcp (pas besoin de reconfigure, juste CreoleSet + restart z_stats) donne dans /var/log/rsyslog/local/zephiragents/zephiragents.info.log :

2020-02-28T17:00:06.941839+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: 2020-02-28T17:00:06+0100 [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
2020-02-28T17:00:06.942239+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents: [-] Erreur remontée par /usr/share/eole/sbin/dhcp-tool
2020-02-28T17:00:06.942606+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: 2020-02-28T17:00:06+0100 [-] got stderr: 'Traceback (most recent call last):\n'
2020-02-28T17:00:06.942807+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents: [-] got stderr: 'Traceback (most recent call last):\n'
2020-02-28T17:02:51.171601+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: 2020-02-28T17:02:51+0100 [twisted.internet.defer#critical] Unhandled error in Deferred:
2020-02-28T17:02:51.173427+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: 2020-02-28T17:02:51+0100 [twisted.internet.defer#critical]
2020-02-28T17:02:51.173608+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011Traceback (most recent call last):
2020-02-28T17:02:51.173806+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011Failure: twisted.internet.error.ProcessTerminated: A process has ended with a probable error condition: process ended with exit code 1.
2020-02-28T17:02:51.173937+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011
2020-02-28T17:02:58.268781+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: 2020-02-28T17:02:58+0100 [_GenericHTTPChannelProtocol,373,127.0.0.1] Unhandled Error
2020-02-28T17:02:58.269502+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011Traceback (most recent call last):
2020-02-28T17:02:58.269627+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/twisted/web/server.py", line 195, in process
2020-02-28T17:02:58.269746+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    self.render(resrc)
2020-02-28T17:02:58.269862+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/twisted/web/server.py", line 255, in render
2020-02-28T17:02:58.270001+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    body = resrc.render(self)
2020-02-28T17:02:58.270144+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/twisted/web/resource.py", line 250, in render
2020-02-28T17:02:58.270282+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    return m(request)
2020-02-28T17:02:58.270404+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/twisted/web/xmlrpc.py", line 172, in render_POST
2020-02-28T17:02:58.270540+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    d = defer.maybeDeferred(function, *args)
2020-02-28T17:02:58.270672+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011--- <exception caught here> ---
2020-02-28T17:02:58.270797+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 150, in maybeDeferred
2020-02-28T17:02:58.270912+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    result = f(*args, **kw)
2020-02-28T17:02:58.271038+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/zephirservice.py", line 456, in xmlrpc_archive_for_upload
2020-02-28T17:02:58.271172+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    self.wakeup_for_upload(False)
2020-02-28T17:02:58.271304+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/zephirservice.py", line 281, in wakeup_for_upload
2020-02-28T17:02:58.271428+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    agent.archive()
2020-02-28T17:02:58.271547+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/agent.py", line 415, in archive
2020-02-28T17:02:58.271678+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    self.ensure_data_uptodate()
2020-02-28T17:02:58.271792+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agentmanager/agent.py", line 426, in ensure_data_uptodate
2020-02-28T17:02:58.271916+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    self.write_data()
2020-02-28T17:02:58.272029+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011  File "/usr/lib/python2.7/dist-packages/zephir/monitor/agents/dhcp.py", line 49, in write_data
2020-02-28T17:02:58.272141+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011    self.table.table_data = self.last_measure.value['leases']
2020-02-28T17:02:58.272253+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011exceptions.TypeError: 'NoneType' object has no attribute '__getitem__'
2020-02-28T17:02:58.272367+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: #011
2020-02-28T17:02:58.278959+01:00 amon36-0999999f.etab-maquette36-dsi.lan zephiragents[2472]: 2020-02-28T17:02:58+0100 [twisted.python.log#info] 127.0.0.1 - - [28/Feb/2020:16:02:56 +0000] "POST /xmlrpc HTTP/1.1" 200 263 "-" "xmlrpclib.py/1.0.1 (by www.pythonware.com)" 

Et synchro_zephir devient alors inopérant.

Nicolas

#5 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Lié à Scénario #20753: Visibilité des baux DHCP restants (EAD3 et agent) ajouté

#6 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Sujet changé de soucis de cohabitation z_stats et dhcp à Soucis de cohabitation z_stats et dhcp
  • Tâche parente mis à #29652

#7 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Statut changé de Nouveau à En cours
  • Assigné à mis à Joël Cuissinat
  • Début mis à 04/03/2020

L'agent "dhcp" ajouté en 2.7.1 dans #20753 ne devait pas être chargé si le service DHCP n'est pas activé.
=> 3 paquets refaits et ajoutés à la candidate en cours

#8 Mis à jour par Joël Cuissinat il y a environ 4 ans

  • Statut changé de En cours à Résolu
  • % réalisé changé de 0 à 100

#9 Mis à jour par Daniel Dehennin il y a environ 4 ans

Sur un Amon 2.7.1 avec les paquets à jour cela fonctionne correctement :

  • eole-server 2.7.1-59
  • eole-dhcp 2.7.1-10
  • zephir-client 2.7.1-16

#10 Mis à jour par Daniel Dehennin il y a environ 4 ans

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

#11 Mis à jour par Thierry Bertrand il y a plus de 3 ans

  • Statut changé de Fermé à Nouveau
  • Assigné à Joël Cuissinat supprimé
  • Temps estimé mis à 0.00 h

#12 Mis à jour par Thierry Bertrand il y a plus de 3 ans

  • Statut changé de Nouveau à Fermé

Formats disponibles : Atom PDF