Projet

Général

Profil

Proposition Scénario #5158

Pouvoir définir le nom de la carte réseau lié lors de la création d'une interface

Ajouté par Daniel Dehennin il y a presque 13 ans. Mis à jour il y a presque 10 ans.

Statut:
Classée sans suite
Priorité:
Normal
Assigné à:
-
Catégorie:
Version majeure
Version cible:
-
% réalisé:

100%

Temps estimé:
(Total: 6.00 h)

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

Tâche #13683: Pouvoir calculer le nom de l'interface sur le maitre rattaché à l'interface d'un conteneurNe sera pas résolu

Documentations - Tâche #1831: documenter la balise creole : <interface>Ne sera pas résolu

Tâche #13684: Mettre à jour les dictionnaires existantNe sera pas résolu

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 #8326 supprimé

#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/2015 supprimé
  • 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/2016 supprimé
  • Version cible sprint 2016 01-03 - Equipe MENESR supprimé
  • Début 21/12/2015 supprimé

#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 MENESR supprimé

Modifications spécifiques à Eclair en mode conteneur et qui n'ont pas d'applications pratiques...

Formats disponibles : Atom PDF