Projet

Général

Profil

Anomalie #3048

[reconfigure] La templatisation des fichiers se fait sur la destination

Ajouté par Daniel Dehennin il y a environ 12 ans. Mis à jour il y a presque 12 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
09/03/2012
Echéance:
% réalisé:

100%

Temps estimé:
0.50 h
Temps passé:
Distribution:
EOLE 2.3

Description

Avec eole-exim il m’est apparu que le fichier de configuration est compilé à sa destination et non dans un répertoire (ou nom de fichier) temporaire:

2012-03-09 09:18:43 Exim configuration error in line 10 of /etc/exim4/eole.d/exim-vars.conf:
  option setting expected: %if %%is_defined('nom_domaine_local') and %%nom_domaine_local != ''

Cela est dû au fait qu’exim4 recharge sa configuration lorsqu’elle est changée, de ce que je vois cela se passe comme suit:

  1. creole copie /usr/share/eole/creole/distrib/exim-vars.conf dans /usr/share/eole/creole/template/
  2. creole applique les patch si nécessaire
  3. creole copie /usr/share/eole/creole/template/exim-vars.conf dans ${CONTAINER_ROOT}/etc/exim4/eole.d/ (sa destination)
  4. exim4 recharge sa configuration -> erreur car il reste des cheetahzeries dans le fichier -> ajout d’un log au paniclog
  5. creole lance cheetah sur le fichier de configuration
  6. exim4 recharge sa configuration

creole devrait lancer cheetah sur les fichiers dans /usr/share/eole/creole/template/, cela offre deux avantages de mon point de vue :

  1. Plus de soucis avec les services qui détectent les changements sur leur fichier de configuration
  2. Si un problème survient à la phase de templatisation, on garde un fichier correcte en production -> on peut corriger sans avoir rendu le service inutilisable

Révisions associées

Révision 9752c18d (diff)
Ajouté par Joël Cuissinat il y a presque 12 ans

Suppression de la pré-copie du template brut en cas de fichier de destination inexistant
  • creole/template.py : "cp" mis en commentaire
    Fixes #3048 @20m

Historique

#1 Mis à jour par Daniel Dehennin il y a presque 12 ans

Je viens de le voir se produire dans un conteneur:

root@reseau:~# cat /etc/exim4/eole.d/rewrite.conf 
######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################

begin rewrite

%if %%is_defined('system_mail_from') and not %%is_empty(%%system_mail_from)
# Rewrite mail from root
root@* %%system_mail_from Ffrs
%end if
%if %%is_defined('system_mail_to') and not %%is_empty(%%system_mail_to)
# Rewrite mail to root
root@* %%system_mail_to Ttbc
%end if

# All source address with @localhost must have a good qualification.
*@localhost $1@QUALIFY_DOMAIN Ffrs

%if %%exim_address_rewrite == 'oui'
# Rewrite rules defined in gen_config
%for %%pattern in %%exim_address_rewrite_pattern
%%pattern %%pattern.exim_address_rewrite_replacement %%pattern.exim_address_rewrite_flags

%end for
%end if

#2 Mis à jour par Daniel Dehennin il y a presque 12 ans

Dans un shell1:

root@amonecole:~# watch -n 1 cat /opt/lxc/reseau/rootfs/etc/exim4/eole.d/rewrite.conf

Dans un autre shell:

root@amonecole:~# rm -f /opt/lxc/reseau/rootfs/etc/exim4/eole.d/rewrite.conf
root@amonecole:~# reconfigure

Le template non instancié est copié à la destination, puis la version instancié viens l’écraser. Cela ne se produit pas si le fichier est déjà existant.

#3 Mis à jour par Joël Cuissinat il y a presque 12 ans

  • Statut changé de Nouveau à Accepté
  • Assigné à mis à Joël Cuissinat
  • Version cible mis à Mises à jour 2.3.5 RC
  • Temps estimé mis à 0.50 h

#4 Mis à jour par Joël Cuissinat il y a presque 12 ans

  • Statut changé de Accepté à Résolu
  • % réalisé changé de 0 à 100

#5 Mis à jour par Daniel Dehennin il y a presque 12 ans

  • Statut changé de Résolu à Fermé

Plus de soucis avec le paquet 2.3-eole176~17.gbpdc96da en eole-2.3-proposed

Formats disponibles : Atom PDF