Tâche #20063
Scénario #19810: Traitement express MEN (13-15)
Le diagnose 152-rvp ne rend pas la main avec >600 tunnels
Description
L'utilisation de Popen.wait()
bloque le diagnose.
Avec l'utilisation de Popen.communicate()
, la commande rend bien la main rapidement.
root@sphynx25-agriates:~# python Python 2.7.6 (default, Oct 26 2016, 20:30:19) [GCC 4.8.4] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> process = subprocess.Popen(['ipsec', 'statusall'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False) >>> statusall_err, ret = process.communicate() >>>
Il faudra tester le code retour avec Popen.poll()
dans une boucle (pas infinie).
Un truc du style :
process = subprocess.Popen(['ipsec', 'statusall'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False) i = 0 ret = process.poll() while ret is None and i < 20 : time.sleep(0.5) ret = process.poll() i+=1
Associated revisions
Popen.wait() bloquait en cas d'OUTPUT important
ref #20063
La boucle avec process.poll()
a le même effet que process.wait()
process.communicate()
suffit et l'exécution est rapide
ref #20063
History
#1 Updated by Fabrice Barconnière over 6 years ago
- Tracker changed from Demande to Tâche
- Subject changed from Diagnose ne rend pas la main avec >600 tunnels to Le diagnose 152-rvp ne rend pas la main avec >600 tunnels
- Description updated (diff)
- Estimated time set to 3.00 h
- Parent task set to #19810
- Remaining (hours) set to 3.0
#2 Updated by Fabrice Barconnière over 6 years ago
- Project changed from Sphynx to Distribution EOLE
- Status changed from Nouveau to En cours
#3 Updated by Fabrice Barconnière over 6 years ago
- Assigned To set to Fabrice Barconnière
#4 Updated by Fabrice Barconnière over 6 years ago
- % Done changed from 0 to 100
- Remaining (hours) changed from 3.0 to 0.25
Un paquet candidat eole-vpn 2.5.2-13 est disponible sur test-eole.ac-dijon.fr
Est-il possible de faire un retour pour indiquer si le problème est résolu ?
Installation du paquet :
root@sphynx:~# Query-auto -C -S test-eole.ac-dijon.fr root@sphynx:~# apt-eole install eole-vpn root@sphynx:~# Query-Auto
Merci
#5 Updated by Fabrice Barconnière over 6 years ago
- Status changed from En cours to Résolu
#6 Updated by Olivier FEBWIN over 6 years ago
Je peux le faire sans problème sur un Sphynx en prod ?
root@sphynx25-agriates:~# Query-Auto -C -S test-eole.ac-dijon.fr Mise à jour le mercredi 05 avril 2017 12:28:26 *** sphynx 2.5.2 (0800069R) *** Maj-Auto - (VERSION CANDIDATE) - Augmenter le niveau de mise à jour peut empêcher de revenir au niveau de mise à jour stable. Voulez-vous continuer ? [oui/non] [non] :
#7 Updated by Fabrice Barconnière over 6 years ago
Après le Query-Auto, si tu n'installes que le paquet eole-vpn, il n'y aura que la correction du diagnose, donc pas d'impact sur le reste.
Pas besoin de reconfigure. Il suffit juste de relancer diagnose pour vérifier si ça ne bloque plus.
#8 Updated by Olivier FEBWIN over 6 years ago
Oui c'est bien ce que je me disais, mais j'ai préféré demander car le message d'avertissement fait un peu peur...
Bref, le diagnose ne bloque plus mais il affiche VPN en erreur :
root@sphynx25-agriates:~# Query-Auto -C -S test-eole.ac-dijon.fr Mise à jour le mercredi 05 avril 2017 14:12:18 *** sphynx 2.5.2 (0800069R) *** Maj-Auto - (VERSION CANDIDATE) - Augmenter le niveau de mise à jour peut empêcher de revenir au niveau de mise à jour stable. Voulez-vous continuer ? [oui/non] [non] : oui Configuration du dépôt Ubuntu avec la source eole.ac-dijon.fr Configuration du dépôt EOLE avec la source test-eole.ac-dijon.fr Action update pour root Action list-upgrade pour root 0 nouveau, 13 mis à jour, 0 à enlever Paquets à mettre à jour : creole (2.5.2-97) (root) creole-common (2.5.2-97) (root) eole-common-pkg (2.5.2-62) (root) eole-pacemaker (2.5.2-24) (root) eole-resolvconf (2.5.2-62) (root) eole-server (2.5.2-62) (root) eole-vpn (2.5.2-13) (root) initramfs-tools (0.103ubuntu4.7) (root) initramfs-tools-bin (0.103ubuntu4.7) (root) makedev (2.3.1-93ubuntu2~ubuntu14.04.1) (root) python-creole (2.5.2-97) (root) zephir-client (2.5.2-42) (root) zephir-stats (2.5.2-42) (root) root@sphynx25-agriates:~# apt-eole install eole-vpn Action install pour root Lecture des listes de paquets… Construction de l'arbre des dépendances… Lecture des informations d'état… Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires : linux-headers-3.13.0-113 linux-headers-3.13.0-113-generic linux-image-3.13.0-113-generic linux-image-extra-3.13.0-113-generic Veuillez utiliser « apt-get autoremove » pour les supprimer. Les paquets suivants seront mis à jour : eole-vpn 1 mis à jour, 0 nouvellement installés, 0 à enlever et 12 non mis à jour. Il est nécessaire de prendre 20,9 ko dans les archives. Après cette opération, 1 024 o d'espace disque supplémentaires seront utilisés. Réception de : 1 http://test-eole.ac-dijon.fr/eole/ eole-2.5.2-proposed-updates/main eole-vpn all 2.5.2-13 [20,9 kB] 20,9 ko réceptionnés en 0s (459 ko/s) (Lecture de la base de données... 101590 fichiers et répertoires déjà installés.) Préparation du dépaquetage de .../eole-vpn_2.5.2-13_all.deb ... Dépaquetage de eole-vpn (2.5.2-13) sur (2.5.2-12) ... Paramétrage de eole-vpn (2.5.2-13) ... root@sphynx25-agriates:~# diagnose *** Test du module sphynx version 2.5.2 (sphynx25-agriates 0800069R) *** *** Paquets installés Noyau linux : Linux 4.4.0-71-generic => OK *** Cartes réseau eth0: Speed: 10000Mb/s Duplex: Full Link detected: yes eth1: Speed: 10000Mb/s Duplex: Full Link detected: yes *** Interfaces sphynx25-agriates: 194.199.47.250 => Ok sphynx25-agriates: 172.30.188.97 => Ok *** Services distants . Passerelle 194.199.47.254 => Ok . DNS 194.199.46.5 => Ok . DNS 194.199.46.6 => Ok . NTP ntp.ac-amiens.fr => Ok . Accès distant => Ok Sur l'interface réseau eth0 . SSH => Désactivé . EAD Web => Désactivé Sur l'interface réseau eth1 . SSH => Ok . EAD Server => Ok . EAD Web => Ok *** Pare-feu . Génération des règles => Ok (22:16:54 30/03/17) . Pare-feu => Ok *** Validité du certificat . eole.crt => Ok *** Logrotate (fichiers pris en charge par rsyslog) Fichiers non pris en charge par logrotate : 0 Filtres automatiques (/etc/logrotate.d/generated_{remote,local}_rules) : 24 *** Mise à jour . Dernière mise à jour => OK (Update completed successfully (état le 30 Mar 2017 22:17:14)) . Reconfigure effectué => OK . Reboot nécessaire => Non *** Réseau virtuel privé . VPN => Erreur . ARV => Ok *** Messagerie . Courrier SMTP => Ok . File d'attente => 3 message(s) . Messages "Frozen" => 3 message(s) *** FIN DU DIAGNOSTIC *** root@sphynx25-agriates:~# test-rvp Nombre d'établissements OK : 142 (696 VPN) / 144 root@sphynx25-agriates:~# Query-Auto Mise à jour le mercredi 05 avril 2017 14:13:40 *** sphynx 2.5.2 (0800069R) *** Configuration du dépôt Ubuntu avec la source eole.ac-dijon.fr Configuration du dépôt EOLE avec la source eole.ac-dijon.fr Action update pour root Action list-upgrade pour root 0 nouveau, 8 mis à jour, 0 à enlever Paquets à mettre à jour : eole-common-pkg (2.5.2-62) (root) eole-resolvconf (2.5.2-62) (root) eole-server (2.5.2-62) (root) initramfs-tools (0.103ubuntu4.7) (root) initramfs-tools-bin (0.103ubuntu4.7) (root) makedev (2.3.1-93ubuntu2~ubuntu14.04.1) (root) zephir-client (2.5.2-42) (root) zephir-stats (2.5.2-42) (root) root@sphynx25-agriates:~#
#9 Updated by Fabrice Barconnière over 6 years ago
- Status changed from Résolu to En cours
- % Done changed from 100 to 80
- Remaining (hours) changed from 0.25 to 1.0
ipsec statusall
doit mettre du temps à répondre. J'ai mis un timeout de 10s.
Je peux allonger le timeout et afficher un warning dans le cas où le code retour n'est pas connu après ce timeout.
#10 Updated by Fabrice Barconnière over 6 years ago
- % Done changed from 80 to 100
- Remaining (hours) changed from 1.0 to 0.5
Un paquet candidat eole-vpn 2.5.2-14 est disponible sur test-eole.ac-dijon.fr.
Olivier, si tu veux tester, c'est la même procédure que #20063#note-4
#11 Updated by Fabrice Barconnière over 6 years ago
- Status changed from En cours to Résolu
#12 Updated by Olivier FEBWIN over 6 years ago
Parfait, ça fonctionne nickel !
Bravo Fabrice ;)
#13 Updated by Scrum Master over 6 years ago
- Status changed from Résolu to Fermé
- Remaining (hours) changed from 0.5 to 0.0
#14 Updated by Olivier FEBWIN about 4 years ago
Ce problème se reproduit sur Sphynx 2.6.2