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 13 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 13 ans
- Echéance changé de 01/02/2013 à 08/02/2013
#3 Mis à jour par Daniel Dehennin il y a environ 13 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 13 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 13 ans
- Statut changé de Résolu à Fermé