Project

General

Profile

Tâche #20063

Scénario #19810: Traitement express MEN (13-15)

Le diagnose 152-rvp ne rend pas la main avec >600 tunnels

Added by Olivier FEBWIN over 2 years ago. Updated 3 days ago.

Status:
Fermé
Priority:
Normal
Start date:
04/04/2017
Due date:
% Done:

100%

Estimated time:
3.00 h
Spent time:
Remaining (hours):
0.0

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

Revision 168e8bce (diff)
Added by Fabrice Barconnière over 2 years ago

Popen.wait() bloquait en cas d'OUTPUT important

ref #20063

Revision 43f250f8 (diff)
Added by Fabrice Barconnière over 2 years ago

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 2 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 2 years ago

  • Project changed from Sphynx to Distribution EOLE
  • Status changed from Nouveau to En cours

#3 Updated by Fabrice Barconnière over 2 years ago

  • Assigned To set to Fabrice Barconnière

#4 Updated by Fabrice Barconnière over 2 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 2 years ago

  • Status changed from En cours to Résolu

#6 Updated by Olivier FEBWIN over 2 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 2 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 2 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 2 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 2 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 2 years ago

  • Status changed from En cours to Résolu

#12 Updated by Olivier FEBWIN over 2 years ago

Parfait, ça fonctionne nickel !
Bravo Fabrice ;)

#13 Updated by Scrum Master over 2 years ago

  • Status changed from Résolu to Fermé
  • Remaining (hours) changed from 0.5 to 0.0

#14 Updated by Olivier FEBWIN 3 days ago

Ce problème se reproduit sur Sphynx 2.6.2

Also available in: Atom PDF