Projet

Général

Profil

Actions

Amélioration #5430

fermé

Problème avec CORE_TMPDIR et FREEDOM_UPLOADDIR après restauration d'une archive de contexte

Ajouté par Jérôme Augé il y a environ 11 ans. Mis à jour il y a plus de 10 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
Version cible:
Début:
13/03/2015
Echéance:
% réalisé:

100%

Temps estimé:
Version source:
Solution proposée:

Restaurer les valeurs par défaut aux paramètres CORE_TMPDIR et FREEDOM_UPLOADDIR lors d'une restauration et logguer l'action si les répertoires CORE_TMPDIR et FREEDOM_UPLOADDIR de l'archive pointent vers des répertoires externes.

Indiquer ce fonctionnement dans la doc aux chapitres :
- restauration de contexte
- description des paramètres

Principaux fichiers impactés:
Wiki Détail:
Contrôle:

Description

Soit une machine A avec un contexte configuré avec CORE_TMPDIR et FREEDOM_UPLOADDIR pour pointer vers un répertoire externe au contexte : par ex."/some/path/on/machine/A".

Quand je restaure cette archive sur une machine B, les paramètres CORE_TMPDIR et FREEDOM_UPLOADDIR pointent toujours vers le répertoire "/some/path/on/machine/A".

Deux problèmes peuvent se poser :

- "/some/path/on/machine/A" n'existe pas sur la machine B. Dans ce cas le contexte n'est pas directement exploitable suite à la restauration sans devoir modifier CORE_TMPDIR et FREEDOM_UPLOADDIR.

- "/some/path/on/machine/A" existe sur la machine B mais est utilisé par/contient une autre application (ou contexte) tournant sur la machine B. Dans ce cas on risque de créer, effacer ou modifier des fichiers qui ne nous appartiennent pas.

Dans les deux cas, la restauration d'une archive de contexte ne garantie pas une stricte isolation et par conséquent il n'est pas "sûr" de restaurer et d'utiliser une archive de contexte dont on ne maîtrise pas la source.

Pour cela, je propose que lors de la restauration d'une archive, si les répertoires CORE_TMPDIR et FREEDOM_UPLOADDIR pointent vers une ressource extérieure au contexte, qu'ils soient réinitialisés avec la valeur par défaut utilisée lors de l'installation : à savoir le chemin relatif à la racine du contexte "./var/tmp".

Cela pourrait être fait dans le 'post-restore' de dynacase-core.

Mis à jour par Marc Claverie il y a environ 11 ans

  • Statut changé de Nouveau à À analyser
  • Assigné à mis à Éric Brison
  • Version cible mis à 3.2.19

Mis à jour par Éric Brison il y a environ 11 ans

  • Statut changé de À analyser à Analysé
  • Assigné à Éric Brison supprimé
  • Solution proposée mis à jour (diff)

Mis à jour par Éric Brison il y a environ 11 ans

  • Solution proposée mis à jour (diff)

Mis à jour par Éric Brison il y a environ 11 ans

  • Version cible changé de 3.2.19 à 3.2.20

Mis à jour par Charles Bonnissent il y a environ 11 ans

La solution présentée ne peut pas être retenue car elle ne propose à l'utilisateur lambda aucun moyen de résoudre le problème. C'est bien de l'avertir mais il serait plus utile de le laisser re-paramétrer les répertoires temporaires lors de la restauration.

D'ailleurs, on voit aussi un manque de cohérence pourquoi ces paramètres ne peuvent pas être paramétrés à l'installation alors que le pg_service le peut ? Si on suit la logique de cette anno, on devrait juste dire à l'utilisateur votre pg_service est invalide et remettre une valeur par défaut.

Mis à jour par Charles Bonnissent il y a environ 11 ans

De plus, avec la solution proposée on ne peut plus utiliser le système de sauvegarde pour simplement sauver et restaurer à l'identique un contexte sur la même machine.

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de Analysé à Assigné
  • Assigné à mis à Jérôme Augé

Mis à jour par Jérôme Augé il y a plus de 10 ans

De plus, avec la solution proposée on ne peut plus utiliser le système de sauvegarde pour simplement sauver et restaurer à l'identique un contexte sur la même machine.

Pour moi ce n'est pas le même besoin :
- l'archive adresse le besoin de partager un contexte et que sa restauration, sur une machine différente, donne un résultat qui soit fonctionnel en minimisant autant que possible les corrections et reconfigurations manuelles.
- la sauvegarde, par expérience, dépend de l'architecture/infrastructure et l'archive n'est généralement le moyen le plus adéquat ou optimal. La sauvegarde est généralement étudiée et mise ne place afin de répondre à des contrainte de rapidité de la sauvegarde, rapidité de la restauration, contraintes de volumes (e.g. sauvegarde incrémentale de fichiers), ne pas interférer avec le contenu du contexte (ce qui n'est pas le cas de l'archivage qui exécute des scripts de {pre,post}-{archive,restore} qui peuvent modifier le contexte), base de données distante sauvegardée par son propre mécanisme indépendamment de la sauvegarde des fichiers du contexte, etc.

Mis à jour par Marc Claverie il y a plus de 10 ans

  • Solution proposée mis à jour (diff)

Mis à jour par Jérôme Augé il y a plus de 10 ans

  • % réalisé changé de 0 à 100

Mis à jour par Éric Brison il y a plus de 10 ans

  • Statut changé de Assigné à Intégré

Appliqué par commit dynacase-core|commit:7d5985712d359b1fc976beb8c104986f73510522.

Actions

Formats disponibles : Atom PDF