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:
creole
copie/usr/share/eole/creole/distrib/exim-vars.conf
dans/usr/share/eole/creole/template/
creole
applique les patch si nécessairecreole
copie/usr/share/eole/creole/template/exim-vars.conf
dans ${CONTAINER_ROOT}/etc/exim4/eole.d/ (sa destination)exim4
recharge sa configuration -> erreur car il reste des cheetahzeries dans le fichier -> ajout d’un log au paniclogcreole
lancecheetah
sur le fichier de configurationexim4
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 :
- 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
Associated revisions
- creole/template.py : "cp" mis en commentaire
Fixes #3048 @20m
History
#1 Updated by Daniel Dehennin almost 11 years ago
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 Updated by Daniel Dehennin almost 11 years ago
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 Updated by Joël Cuissinat almost 11 years ago
- Status changed from Nouveau to Accepté
- Assigned To set to Joël Cuissinat
- Target version set to Mises à jour 2.3.5 RC
- Estimated time set to 0.50 h
#4 Updated by Joël Cuissinat almost 11 years ago
- Status changed from Accepté to Résolu
- % Done changed from 0 to 100
Appliqué par commit 9752c18d3ad4064766000d8273943d0cf4c67bc7.
#5 Updated by Daniel Dehennin almost 11 years ago
- Status changed from Résolu to Fermé
Plus de soucis avec le paquet 2.3-eole176~17.gbpdc96da
en eole-2.3-proposed