Projet

Général

Profil

Scénario #26277

Sauvegarde ERA vers zephir

Ajouté par Philippe Carre il y a plus de 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Début:
04/11/2019
Echéance:
13/12/2019
% réalisé:

100%

Points de scénarios:
4.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

Description

Suite à des envois groupés de conf la semaine dernière, on s'est retrouvé avec plusieurs eSSL HS le w.e. dernier!
Le pb est que sur ces serveurs le fichier modèle local n'était pas correct. D'où le plantage apres récupération de ce fichier et reconfigure.

J'ai testé :

dans ERA
ouverture fichier local 4zones-essl.xml
Zephir - Envoi à zephir (sans enregistrer le fichier)
=> sur Zephir :
/usr/share/eole/bastion/modeles Pourquoi ce dossier ?? Non présent sur le serveur.
<firewall name="/tmp/tmpxiTAgN" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42">

Fichier - Enregistrer
Zephir - Envoi à zephir
=> sur Zephir :
/usr/share/eole/bastion/modeles
<firewall name="/tmp/tmpoUwumd" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42">

Ajout d'une règle
Fichier - Enregistrer
Zephir - Envoi à zephir
=> sur Zephir :
/usr/share/eole/bastion/modeles
<firewall name="/tmp/tmpcObNDK" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42">
Quitter ERA

dans ERA
ouverture fichier local 4zones-essl.xml
Fichier - Enregistrer
Zephir - Envoi à zephir
=> sur Zephir :
/usr/share/eole/bastion/modeles
<firewall name="/tmp/tmpwYTTIw" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42">
Quitter ERA

dans ERA
ouverture fichier local 2zones-reference.xml (sans héritage)
Zephir - Envoi à zephir
=> sur Zephir :
/usr/share/eole/bastion/modeles
<firewall name="/tmp/tmpjIkBSN" netbios="1" qos="0" version="2.42">
Quitter ERA

/usr/share/zephir/scripts/save_files.zephir
=> sur Zephir :
Plus de dossier /usr/share/eole/bastion/modeles , mais le dossier
/usr/share/era/modeles
dans 4zones-essl.xml : &lt;firewall name="/usr/share/era/modeles/4zones-essl.xml" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42"&gt;

dans ERA
ouverture fichier local 4zones-essl.xml
Zephir - Envoi à zephir
=> sur Zephir :
/usr/share/eole/bastion/modeles (de retour!)
dans 4zones-essl.xml : <firewall name="/tmp/tmpv9ZrL2" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42">
/usr/share/era/modeles
dans 4zones-essl.xml : <firewall name="/tmp/tmpv9ZrL2" model="/usr/share/era/modeles/4zones-reference.xml" version="2.42">

Au final, j'ai l'impression que la svg depuis ERA envoi vers le zephir un fichier temporaire , et du coup modifie la ligne 'firewall name=".... '
La seule sauvegarde fiable est la svg de tous les fichiers locaux via save_files.


Sous-tâches

Tâche #29327: Permettre de spécifier le nom en attribut du modèle eraFerméBenjamin Bohard

Historique

#1 Mis à jour par Gilles Grandgérard il y a environ 5 ans

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

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

  • Release mis à EOLE 2.7.1

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

  • Echéance mis à 22/11/2019
  • Version cible mis à MTES - Prestation Cadoles 45-47
  • Début mis à 04/11/2019

#5 Mis à jour par Thierry Bertrand il y a plus de 4 ans

  • Points de scénarios mis à 4.0

#6 Mis à jour par Emmanuel IHRY il y a plus de 4 ans

  • Version cible changé de MTES - Prestation Cadoles 45-47 à MTES - Prestation Cadoles 48-50

#7 Mis à jour par Benjamin Bohard il y a plus de 4 ans

On pourrait supprimer le menu Zephir ? :-)

#8 Mis à jour par Benjamin Bohard il y a plus de 4 ans

Hormis l’emplacement des modèles sur Zéphir, l’erreur est reproduite.
Dans le code d’ERA, le contenu envoyé à Zéphir est celui d’un fichier temporaire créé à partir du modèle édité.
Une modification de la fonction _send_zephir dans le fichier matrix.py semble convenir.

            # on sauvegarde le fichier dans un emplacement temporaire
            #old_filename = self.ctrl.filename
            #temp_path = tempfile.mktemp()
            #self.ctrl.filename = temp_path
            #self.ctrl._do_save(self)
            ## on remet le chemin d'origine pour la sauvegarde du fichier
            #self.ctrl.filename = old_filename
            try:
                with open(self.ctrl.filename, 'r') as era_model:
                    buff_zephir = era_model.read()
                #temp_file = open(temp_path,'r')
                #buff_zephir = temp_file.read()
                #temp_file.close()
                #os.unlink(temp_path)

Par contre, la raison pour laquelle un fichier temporaire est créé à ce moment reste un mystère pour moi et une lecture plus approfondie s’impose pour voir si il n’y a pas d’effets de bord (a priori non, vu que ce fichier temporaire était de toute façon supprimé dès le contenu lu). Peut-être un problème de lock sur le fichier empêchait-il de le lire ?

#9 Mis à jour par Benjamin Bohard il y a plus de 4 ans

En fait, il est probable qu’il soit nécessaire de sauver le fichier puisque le contenu est lu depuis un fichier sur le disque.
La solution proposée précédemment n’est donc valide que si le modèle a été sauvé localement juste avant l’export vers Zéphir (ou si il n’a pas été modifié depuis l’ouverture).

#10 Mis à jour par Thierry Bertrand il y a plus de 4 ans

  • Statut changé de Nouveau à Terminé (Sprint)

#11 Mis à jour par Joël Cuissinat il y a plus de 4 ans

  • Release changé de EOLE 2.7.1 à EOLE 2.7.1.2

Formats disponibles : Atom PDF