Project

General

Profile

Anomalie #3048

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

Added by Daniel Dehennin over 7 years ago. Updated over 7 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
03/09/2012
Due date:
% Done:

100%

Estimated time:
0.50 h
Spent time:
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

Associated revisions

Revision 9752c18d (diff)
Added by Joël Cuissinat over 7 years ago

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

History

#1 Updated by Daniel Dehennin over 7 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 over 7 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 over 7 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 over 7 years ago

  • Status changed from Accepté to Résolu
  • % Done changed from 0 to 100

#5 Updated by Daniel Dehennin over 7 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

Also available in: Atom PDF