Anomalie #4774
Impossible d'écraser un <fill> sur une variable 2.4
Description
L'installation des paquets 2.4 eole-dhcp (20_dhcp.xml) et eole-ltsp-server (30_ltsp_server.xml) entraîne le message d'erreur :
Calcul déjà présent pour adresse_ip_tftp |
L'ajout d'une déclaration explicite de la variable avec un redefine='True' dans 30_ltsp_server.xml ne change rien.
-> entering init_default_dict((<__main__.ConfigGui object at 0x988e3ac>,), {}) Traceback (most recent call last): File "/usr/share/creole/gen_config.py", line 2077, in main filename=config_file, title=options.title) File "/usr/share/creole/gen_config.py", line 644, in __init__ super(ConfigGui, self).__init__(dir_config, mode) File "/usr/share/creole/gen_config.py", line 262, in __init__ super(ConfigZephir, self).__init__(dir_config, mode) File "/usr/share/creole/gen_config.py", line 75, in __init__ self.init_default_dict() File "/usr/share/creole/gen_config.py", line 45, in newfunc return func(*targs, **kwargs) File "/usr/share/creole/gen_config.py", line 94, in init_default_dict self.eole_dico.read_dir(self.dir_config) File "/usr/lib/python2.7/dist-packages/creole/cfgparser.py", line 220, in read_dir self.var_loader.read_dir(eole_dirs, 'creole') File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 679, in read_dir getattr(self, 'populate_' + keys)(parse[keys]) File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 293, in populate_fills self.fill.update(self._populate_auto_fill(fills, 'fill')) File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 288, in _populate_auto_fill raise Exception(u"Calcul déjà présent pour {0}".format(target)) Exception: Calcul déjà présent pour adresse_ip_tftp
Demandes liées
Révisions associées
La redéfinition d’une variable conserve les attributs déjà définis
Lorsqu’un dictionnaire redéfinie une variable, il n’est plus nécessaire
de répéter les attributs « hidden », « auto_freeze », « mode »,
« mandatory », « multi », « remove_check ».
Par défaut, les valeurs précédemment définies sont utilisées.
- creole/lxml_parser.py (_get_boolean_attr): Retourne None si l’attribut
n’est pas défini.
(parse_variables): La valeur par défaut du mode est maintenant définie
dans creole.loader.
- creole/loader.py (CreoleFamily._update_variable_attributes): Définie
les valeurs par défaut lors de la création de la variable. Met à jour
si de nouveaux attributs sont redéfinie.
- creole/loader.py (CreoleFamily.populate_variables):
Utilise « CreoleFamily._update_variable_attributes » pour
l’initialisation des valeurs par défaut des attributs et pour mettre à
jour en cas de redéfinition.
Ref: #4774 @3h
Permettre la redéfinition des variables auto et fill
- creole/loader.py (CreoleConstrainte._populate_auto_fill): Écraser la
fonction auto/fill si la variable est redéfinie.
Fixes: #4774 @5m
Utilisation d’une boucle pour éviter les erreurs de copier/coller
- creole/loader.py (CreoleFamily._update_variable_attributes): Boucle sur
tous les attributs ayant une valeur par défaut à « False ».
Ref: #4774 @2m
Historique
#1 Mis à jour par Daniel Dehennin il y a environ 11 ans
J’ai le même soucis avec mode_conteneur_actif
:
creoled - Unable to load configuration: Calcul déjà présent pour mode_conteneur_actif
Je prévois que le paquet eole-lxc-controller
force cette variable à oui, avec un :
<!-- automatic update of value -->
<auto name='auto_copy_val' target='mode_conteneur_actif'>
<param>oui</param>
</auto>
#2 Mis à jour par Joël Cuissinat il y a environ 11 ans
- Echéance changé de 01/02/2013 à 08/02/2013
#3 Mis à jour par Daniel Dehennin il y a environ 11 ans
- Statut changé de Nouveau à Accepté
- Assigné à changé de Emmanuel GARETTE à Daniel Dehennin
Je regarde.
#4 Mis à jour par Daniel Dehennin il y a environ 11 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit d17d23b2c36a1d8ba663df1c7e1486f48e99cd8e.
#5 Mis à jour par Fabrice Barconnière il y a environ 11 ans
- Statut changé de Résolu à Fermé