Projet

Général

Profil

Demande #16746

ARV : améliorer la détection des identifiants de modules (Zéphir)

Ajouté par Christophe Dezé il y a presque 8 ans. Mis à jour il y a presque 8 ans.

Statut:
Classée sans suite
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
11/07/2016
Echéance:
% réalisé:

0%


Description

lorsque je tente de copier une conf VPN de spynx vers zephir 2.5.2
voir pièce jointe pour voir les modules supprimés

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/arv/lib/usezephir.py", line 260, in send_db
    sphynx_module = self.get_module('sphynx')['moduleid']
TypeError: 'NoneType' object has no attribute '__getitem__'
Traceback (most recent call last):
  File "./conf2.4.py", line 331, in <module>
    ipsec_conf_apply(zephir=zephir)
  File "/usr/lib/python2.7/dist-packages/arv/lib/util.py", line 49, in newFunc
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/arv/lib/sw_config_apply.py", line 698, in ipsec_conf_apply
    ipsec_conf_build(zephir, node)
  File "/usr/lib/python2.7/dist-packages/arv/lib/util.py", line 49, in newFunc
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/arv/lib/sw_config_apply.py", line 668, in ipsec_conf_build
    zephir.send_db(archive, uai, name, id_zephir)
  File "/usr/lib/python2.7/dist-packages/arv/lib/util.py", line 49, in newFunc
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/arv/lib/usezephir.py", line 271, in send_db
    raise Exception('Error: unable to send data to zephir')
Exception: Error: unable to send data to zephir

from arv.lib.usezephir import Zephir
z = Zephir(user="tonuser', password='tonpass')
z.get_modules()
[{'name': 'amon', 'moduleid': 177}, {'name': 'horus', 'moduleid': 179}]
from arv.lib.usezephir import ZEPHIR_MODULE_VERSION
print ZEPHIR_MODULE_VERSION
10

16:10:26 - gnunux : dans userzephir.py remplace le ZEPHIR_MODULE_VERSION = 10 par ZEPHIR_MODULE_VERSION = 8
cela a fonctionné

Sélection_097.png Voir (169 ko) Christophe Dezé, 11/07/2016 08:57


Demandes liées

Duplique arv - Tâche #15096: si l'on fait du menage de modules sur zephir, arv ne peut plus envoyer de conf sur le zephir Fermé 22/02/2016

Historique

#1 Mis à jour par Bruno Boiget il y a presque 8 ans

  • Tracker changé de Demande à Proposition Scénario
  • Sujet changé de problèmes suite suppression de modules inutilisés à ARV : améliorer la détection des identifiants de modules (Zéphir)
  • Catégorie mis à Version mineure

Après avoir regardé un peu le code de usezephir.py dans arv, je constate qu'il se base sur la liste des modules présent dans la version Eole 2.3 pour récupérer tous les serveurs concernés par ARV (ZEPHIR_MODULE_VERSION=5).

Cela explique qu'en cas de suppression du module amon ou sphynx en version 2.3, arv n'arrive plus à retrouver ses modules.

Voir avec Fabrice pour améliorer la gestion des modules par rapport à Zéphir.

Je vois que dans ton cas ZEPHIR_MODULE_VERSION est à 10 (eole 2.5.1), version qui ne comporte pas non plus de serveur Sphynx chez toi. Est ce que tu as modifié cette valeur à la main, ou un mécanisme m'échappe (sur mon sphynx 2.5.2, il est à 5) ?

En attendant pour te débloquer, il y a quelques solutions:

  • remettre en place les modules sphynx/amon manquants sur Zéphir (recréer à la main le lien entre les fichiers de /usr/share/zephir/eole_modules et /usr/share/zephir/default_modules (+ relance du service zephir)
  • ou modifier ZEPHIR_MODULE_VERSION dans usezephir.py pour utiliser une version ayant tous les modules nécessaires

#2 Mis à jour par Bruno Boiget il y a presque 8 ans

  • Tracker changé de Proposition Scénario à Demande
  • Statut changé de Nouveau à En attente d'informations

J'ai continué de creuser un peu et je constate que ton problème a déjà été corrigé sur Sphynx 2.4.2 et 2.5.2 (cf demande #15096).

La ligne qui cause ce traceback (sphynx_module = self.get_module('sphynx')['moduleid']) ne devrait plus exister dans ces versions, Par contre le correctif ne semble pas reporté dans la version 2.5.1. La fonction en question n'est plus utilisée dans les versions corrigées.

Quelle version de Sphynx utilises tu ? Il faudra voir avec Fabrice pourquoi la correction n'est pas en 2.5.1 (il me semble que sphynx 2.5.1 n'est pas considéré comme stable à cause de problèmes sur la haute dispo).

Tu peux appliquer si besoin la modification présente ici : 8a4606fe7ae561e18da5594d56b442df953b1a59

#3 Mis à jour par Bruno Boiget il y a presque 8 ans

  • Projet changé de Zéphir à arv
  • Catégorie Version mineure supprimé
  • Assigné à mis à Bruno Boiget

#4 Mis à jour par Christophe Dezé il y a presque 8 ans

root@barbechat:~# cat /etc/eole/release
EOLE_MODULE=sphynx
EOLE_VERSION=2.4
EOLE_RELEASE=2.4.2

root@zephir:~# cat /etc/eole/release
EOLE_MODULE=zephir
EOLE_VERSION=2.5
EOLE_RELEASE=2.5.

#5 Mis à jour par Christophe Dezé il y a presque 8 ans

Christophe Dezé a écrit :

root@barbechat:~# cat /etc/eole/release
EOLE_MODULE=sphynx
EOLE_VERSION=2.4
EOLE_RELEASE=2.4.2

root@zephir:~# cat /etc/eole/release
EOLE_MODULE=zephir
EOLE_VERSION=2.5
EOLE_RELEASE=2.5.2

#6 Mis à jour par Christophe Dezé il y a presque 8 ans

mon sphynx n'est pas à jour!
mea culpa

#7 Mis à jour par Bruno Boiget il y a presque 8 ans

  • Statut changé de En attente d'informations à Classée sans suite

Correctif déjà publié (voir demande liée)

Formats disponibles : Atom PDF