Tâche #36009
Scénario #33910: EOLE 2.10 : Limiter les appels à "netplan apply"
Tester
100%
Description
A tester :
- en IP fixe : IP bien appliqué
- en DHCP : récupère bien une IP
- en DHCP sans serveur DHCP : une erreur explicite
Il faut tester après reconfigure + redémarrage.
Voir aussi la configuration du MTU et promiscious.
Historique
#1 Mis à jour par Benjamin Bohard il y a plus d'un an
L’application de la configuration réseau semble effective dans les cas IP fixe, IP dynamique avec serveur DHCP, par contre, dans le cas IP dynamique sans serveur DHCP, le résultat est moins clair : l’affichage du message semble déclenché par une sortie avec un code d’erreur de la commande netplan generate mais celle-ci semble toujours renvoyer 0 dans les cas testés.
#2 Mis à jour par Benjamin Bohard il y a plus d'un an
- Statut changé de Nouveau à En cours
#3 Mis à jour par Benjamin Bohard il y a plus d'un an
- Assigné à mis à Benjamin Bohard
#4 Mis à jour par Benjamin Bohard il y a plus d'un an
Le changement de la valeur de MTU dans le cas de plusieurs interfaces pose un problème de templatisation (mais les valeurs de MTU sont bien appliquées). Le fichier concernant l’interface 0 ne pose pas de problème alors que ceux des autres interfaces ont un "fullname" qui est la décomposition du chemin en liste (pour interface 0, c’est une liste avec un seul élément : le chemin).
Il y a une différence de la condition d’activation des filelists mais les deux sont activées lors du problème.
Le listing suivant présente les déclarations du fichier pour l’interface 0 et du fichier pour l’interface 1 dans la configuration flattened.
<family doc="" hidden="False" name="file64">
<variable doc="" multi="False" name="container" type="string">
<value>root</value>
</variable>
<variable doc="" multi="False" name="container_group" type="string">
<value>root</value>
</variable>
<variable doc="" multi="False" name="real_container" type="string">
<value>root</value>
</variable>
<variable doc="" multi="False" name="filelist" type="string">
<value>interface_0</value>
</variable>
<variable doc="" multi="True" name="full_name" type="string">
<property>force_default_on_freeze</property>
<property>frozen</property>
<property>hidden</property>
</variable>
<variable doc="" multi="False" name="mkdir" type="boolean">
<value>True</value>
</variable>
<variable multi="False" name="name" opt="creole.interface_0.interface_filename_eth0" type="symlink"/>
<variable doc="" multi="False" name="rm" type="boolean">
<value>True</value>
</variable>
<variable doc="" multi="False" name="source" type="string">
<value>/var/lib/creole/interface_0.conf</value>
</variable>
<variable doc="" multi="False" name="activate" type="boolean">
<value>True</value>
</variable>
</family>
<family doc="" hidden="False" name="file65">
<variable doc="" multi="False" name="container" type="string">
<value>root</value>
</variable>
<variable doc="" multi="False" name="container_group" type="string">
<value>root</value>
</variable>
<variable doc="" multi="False" name="real_container" type="string">
<value>root</value>
</variable>
<variable doc="" multi="False" name="filelist" type="string">
<value>interface_1</value>
</variable>
<variable doc="" multi="True" name="full_name" type="string">
<property>force_default_on_freeze</property>
<property>frozen</property>
<property>hidden</property>
</variable>
<variable doc="" multi="False" name="mkdir" type="boolean">
<value>False</value>
</variable>
<variable multi="False" name="name" opt="creole.interface_1.interface_filename_eth1" type="symlink"/>
<variable doc="" multi="False" name="rm" type="boolean">
<value>True</value>
</variable>
<variable doc="" multi="False" name="source" type="string">
<value>/var/lib/creole/interface_0.conf</value>
</variable>
<variable doc="" multi="False" name="activate" type="boolean">
<value>True</value>
</variable>
</family>
#5 Mis à jour par Benjamin Bohard il y a plus d'un an
from creole.client import CreoleClient
client = CreoleClient()
[f for f in client.get_group_infos(client.get_groups()[0])['files'] if f.get('filelist', '').startswith('interface_')]
[{'container': 'root', 'container_group': 'root', 'real_container': 'root', 'filelist': 'interface_0', 'full_name': ['/etc/systemd/network/10-netplan-enp1s0.network.d/eole.conf'], 'mkdir': True, 'name': ['/etc/systemd/network/10-netplan-enp1s0.network.d/eole.conf'], 'rm': True, 'source': '/var/lib/creole/interface_0.conf'}, {'container': 'root', 'container_group': 'root', 'real_container': 'root', 'filelist': 'interface_1', 'full_name': ['/', 'e', 't', 'c', '/', 's', 'y', 's', 't', 'e', 'm', 'd', '/', 'n', 'e', 't', 'w', 'o', 'r', 'k', '/', '1', '0', '-', 'n', 'e', 't', 'p', 'l', 'a', 'n', '-', 'e', 'n', 'p', '7', 's', '0', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'd', '/', 'e', 'o', 'l', 'e', '.', 'c', 'o', 'n', 'f'], 'mkdir': False, 'name': '/etc/systemd/network/10-netplan-enp7s0.network.d/eole.conf', 'rm': True, 'source': '/var/lib/creole/interface_0.conf', 'activate': True}, {'container': 'root', 'container_group': 'root', 'real_container': 'root', 'filelist': 'interface_2', 'full_name': ['/', 'e', 't', 'c', '/', 's', 'y', 's', 't', 'e', 'm', 'd', '/', 'n', 'e', 't', 'w', 'o', 'r', 'k', '/', '1', '0', '-', 'n', 'e', 't', 'p', 'l', 'a', 'n', '-', 'e', 'n', 'p', '8', 's', '0', '.', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'd', '/', 'e', 'o', 'l', 'e', '.', 'c', 'o', 'n', 'f'], 'mkdir': False, 'name': '/etc/systemd/network/10-netplan-enp8s0.network.d/eole.conf', 'rm': True, 'source': '/var/lib/creole/interface_0.conf', 'activate': True}]
#6 Mis à jour par Benjamin Bohard il y a plus d'un an
Mauvais endroit pour débusquer le bug.
La différence vient de la déclaration de la variable liée (multi pour eth0, non-multi pour les autres interfaces).
#7 Mis à jour par Benjamin Bohard il y a plus d'un an
Après le dernier commit, le timeout du service wait-online est traduit par le message souhaité, Impossible d’obtenir une adresse IP, dans le cas d’une interface en dhcp sans serveur pour attribuer une adresse.
#8 Mis à jour par Benjamin Bohard il y a plus d'un an
- Statut changé de En cours à Résolu
#9 Mis à jour par Joël Cuissinat il y a plus d'un an
- Statut changé de Résolu à Fermé
- % réalisé changé de 0 à 100
- Restant à faire (heures) mis à 0.0