Tâche #15796
creole - Scénario #15610: Corriger les problèmes liés à Creole 2.6
gen_config : les "warnings" ne partent pas dans certains cas
Description
Il arrive que les warnings gen_config sur certains variables ne disparaissent pas.
Exemple sur un aca.eolebase :
Sur une configuration fonctionnement changer :
adresse_ip_eth0 à 192.168.230.200
adresse_netmask_eth0 à 255.255.255.128
Un warning doit apparaitre.
Il est difficile de le faire partir.
Révisions associées
recharger les warnings quand nécessaire (ref #15796 @1h)
recharger les warnings quand nécessaire (ref #15796 @1h)
Revert "recharger les warnings quand nécessaire (ref #15796 @1h)"
Erreur de branche.
This reverts commit c2c5136001b6162fdd56833a1455a835971d41ef.
recharger les warnings quand nécessaire (ref #15796 @1h)
Conflicts:
src/eolegenconfig/lib.py
recharger les warnings quand nécessaire (ref #15796 @1h)
Conflicts:
src/eolegenconfig/lib.py
Restauration de lignes supprimées par erreur
Ref: #15796 @20m
meilleur affichage des warnings (ref #15796)
meilleur affichage des warnings (ref #15796)
conservation des messages d'erreur (ref #15796)
Test unitaire validant l'affichage et la disparition des warnings
Ref: #15796 @30m
Historique
#1 Mis à jour par Emmanuel GARETTE il y a environ 8 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par Emmanuel GARETTE il y a environ 8 ans
- Assigné à mis à Emmanuel GARETTE
#3 Mis à jour par Emmanuel GARETTE il y a environ 8 ans
- % réalisé changé de 0 à 100
- Restant à faire (heures) changé de 1.0 à 0.25
#4 Mis à jour par Scrum Master il y a environ 8 ans
- Statut changé de En cours à Résolu
#5 Mis à jour par Emmanuel GARETTE il y a environ 8 ans
Pour tester :
from eolegenconfig import lib id_='pouet' lib.get_config(id_) assert lib.get_variable(id_, 'interface_0', 'adresse_netmask_eth0')['warning'] == '' lib.set_value(id_, 'interface_0', 'adresse_ip_eth0', '192.168.230.240') assert len(lib.get_variable(id_, 'interface_0', 'adresse_netmask_eth0')['warning']) != '' lib.set_value(id_, 'interface_0', 'adresse_netmask_eth0', '255.255.255.128') assert len(lib.get_variable(id_, 'interface_0', 'adresse_netmask_eth0')['warning']) != '' lib.set_value(id_, 'interface_0', 'adresse_netmask_eth0', '255.255.255.128') lib.set_value(id_, 'interface_0', 'adresse_ip_gw', '192.168.230.254') assert lib.get_variable(id_, 'interface_0', 'adresse_netmask_eth0')['warning'] != '' assert lib.get_variable(id_, 'interface_0', 'adresse_netmask_eth0')['warning'] == ''
#6 Mis à jour par Joël Cuissinat il y a environ 8 ans
- Tâche parente changé de #15554 à #15584
#7 Mis à jour par Joël Cuissinat il y a environ 8 ans
- Tâche parente changé de #15584 à #15610
#8 Mis à jour par Emmanuel GARETTE il y a environ 8 ans
Si on a trois variables qui font des warnings les une par rapport aux autres, il arrive que les warnings ne disparaissent pas.
Ici nous avons 3 variables (adresse_ip_eth0, adresse_netmask_eth0 et adresse_ip_gw). La gateway doit être dans le réseau eth0.
Si on change l'adresse IP du réseau eth0 sans toucher à la gateway => il y a un warning parce que la gateway n'est pas dans le bon réseau.
Si on change l'adresse du réseau de la zone => il y a une erreur parce que la gateway n'est pas dans le bon réseau.
Si on change l'adresse ip de la gateway, il n'y a plus de raison de conserver le warning sur la variable "adresse_netmask_eth0".
Avant la correction, le warning sur l'adresse réseau de la zone ne disparaissait pas.
#9 Mis à jour par Joël Cuissinat il y a environ 8 ans
- Statut changé de Résolu à Fermé
- Restant à faire (heures) changé de 0.25 à 0.0
OK (ajout du test unitaire).