Anomalie #3048
[reconfigure] La templatisation des fichiers se fait sur la destination
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:
creolecopie/usr/share/eole/creole/distrib/exim-vars.confdans/usr/share/eole/creole/template/creoleapplique les patch si nécessairecreolecopie/usr/share/eole/creole/template/exim-vars.confdans ${CONTAINER_ROOT}/etc/exim4/eole.d/ (sa destination)exim4recharge sa configuration -> erreur car il reste des cheetahzeries dans le fichier -> ajout d’un log au paniclogcreolelancecheetahsur le fichier de configurationexim4recharge sa configuration
creole devrait lancer cheetah sur les fichiers dans /usr/share/eole/creole/template/, cela offre deux avantages de mon point de vue :
- Plus de soucis avec les services qui détectent les changements sur leur fichier de configuration
- 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
- creole/template.py : "cp" mis en commentaire
Fixes #3048 @20m
Historique
#1 Mis à jour par Daniel Dehennin il y a presque 14 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 14 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 14 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 14 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit 9752c18d3ad4064766000d8273943d0cf4c67bc7.
#5 Mis à jour par Daniel Dehennin il y a presque 14 ans
- Statut changé de Résolu à Fermé
Plus de soucis avec le paquet 2.3-eole176~17.gbpdc96da en eole-2.3-proposed