Proposition Scénario #5158
Pouvoir définir le nom de la carte réseau lié lors de la création d'une interface
100%
Description
J’ai tenté de définir deux fois la même interface de conteneur avec des interfacelist afin d’en cacher une ou l’autre, mais cela ne fonctionne pas :
<interface linkto="eth0"
ip="adresse_ip_ltsp_link"
mask="adresse_mask_ltsp_link"
bcast="adresse_bcast_ltsp_link"
method="bridge"
interfacelist="ltsp_mode_1_carte">
ltsp_net
</interface>
<interface linkto="eth1"
ip="adresse_ip_ltsp_link"
mask="adresse_mask_ltsp_link"
bcast="adresse_bcast_ltsp_link"
method="bridge"
interfacelist="ltsp_mode_2_cartes">
ltsp_net
</interface>
>>> from creole.loader import creole_loader
>>> conf = creole_loader()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 1402, in creole_loader
loader = get_loader(namespace, load_values)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 1425, in get_loader
loader.read_dir(dirs, namespace)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 861, in read_dir
self._read_dir(namespace, force_no_container)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 1182, in _read_dir
containers = self.gen_container(paths)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 780, in gen_container
ret.append(getattr(self, func_name)(paths))
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 588, in gen_interfaces
return self.gen_generic('interfaces', paths)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 443, in gen_generic
choice_constrainte, requires_key)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 701, in _gen_tiramisu_config
variables = self._config_list_to_dict(gvariables)
File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 677, in _config_list_to_dict
raise ConfigError(u"le nom ({0}) est déjà utilisé".format(name))
creole.error.ConfigError
Il est possible de contourner le problème en ajoutant un suffix 0 ou 1 en fonction de l’interface utilisée, mais dans ce cas il n’est plus possible d’utiliser simplement le nom de l’interface à l’intérieur du conteneur.
Exigence : Une balise interface est liée à l'interface nécessaire.
Sous-tâches
Historique
#1 Mis à jour par Daniel Dehennin il y a presque 12 ans
- Tâche parente mis à #8326
#2 Mis à jour par Joël Cuissinat il y a plus de 11 ans
- Tâche parente
#8326supprimé
#3 Mis à jour par Joël Cuissinat il y a environ 11 ans
- Tracker changé de Tâche à Anomalie
#4 Mis à jour par Emmanuel GARETTE il y a plus de 10 ans
- Tracker changé de Anomalie à Proposition Scénario
- Catégorie mis à Version majeure
Si le "interfacelist" est mal configuré, on peut se retrouver avec 2 fois l'interface ltsp_net lié à 2 interfaces physique. Ce qui risque de faire planter le système.
Il me semble plus intéressant d'utiliser une variable dans linkto.
Pour cela il faut modifier dans la dtd :
<!ATTLIST interface linkto CDATA #REQUIRED >
par :
<!ATTLIST interface linkto_type (UnicodeOption|SymLinkOption) "UnicodeOption"> <!ATTLIST interface linkto CDATA #REQUIRED > <!--linkto_type-->
De plus, il faut ajouter à la création du bridge dans la fonction gen_interfaces de var_loader : 'linkto_type': 'UnicodeOption',
Le dico ressemblerait à ca :
<?xml version="1.0" encoding="utf-8"?>
<creole>
<containers>
<container name='web' id='15'>
<interface linkto="pouet"
linkto_type="SymLinkOption"
ip="adresse_ip_eth0"
mask="adresse_netmask_eth0"
bcast="adresse_broadcast_eth0"
method="bridge">
ltsp_net
</interface>
</container>
</containers>
<variables>
<family name='général'>
<variable name='pouet' type='string' description='test'><value>epouet</value></variable>
</family>
</variables>
</creole>
#5 Mis à jour par Emmanuel GARETTE il y a plus de 10 ans
- Sujet changé de On ne peut pas avoir 2 définitions d’interfaces avec des interfacelist à Pouvoir définir le nom de la carte réseau lié lors de la création d'une interface
#6 Mis à jour par Emmanuel GARETTE il y a plus de 10 ans
- Description mis à jour (diff)
#7 Mis à jour par Scrum Master il y a plus de 10 ans
- Tracker changé de Proposition Scénario à Scénario
- Début
20/10/2015supprimé - Release mis à EOLE 2.6.0
- Distribution mis à EOLE 2.5
#8 Mis à jour par Scrum Master il y a plus de 10 ans
- Points de scénarios mis à 3.0
#9 Mis à jour par Luc Bourdot il y a plus de 10 ans
- Echéance mis à 22/01/2016
- Version cible mis à sprint 2016 01-03 - Equipe MENESR
- Début mis à 21/12/2015
#10 Mis à jour par Luc Bourdot il y a plus de 10 ans
- Echéance
22/01/2016supprimé - Version cible
sprint 2016 01-03 - Equipe MENESRsupprimé - Début
21/12/2015supprimé
#11 Mis à jour par Luc Bourdot il y a presque 10 ans
- Echéance mis à 08/07/2016
- Version cible mis à sprint 2016 25-27 - Equipe MENESR
- Début mis à 20/06/2016
#12 Mis à jour par Emmanuel GARETTE il y a presque 10 ans
- Statut changé de Nouveau à Terminé (Sprint)
#13 Mis à jour par Joël Cuissinat il y a presque 10 ans
- Statut changé de Terminé (Sprint) à Nouveau
#14 Mis à jour par Joël Cuissinat il y a presque 10 ans
- Tracker changé de Scénario à Proposition Scénario
- Statut changé de Nouveau à Classée sans suite
- Version cible
sprint 2016 25-27 - Equipe MENESRsupprimé
Modifications spécifiques à Eclair en mode conteneur et qui n'ont pas d'applications pratiques...