Project

General

Profile

Scénario #27992

Upgrade Auto 2.5->2.6 gérer le renommage des cartes réseaux

Added by équipe eole Academie d'Orléans-Tours 5 months ago. Updated 3 months ago.

Status:
Terminé (Sprint)
Priority:
Normal
Category:
-
Start date:
04/12/2019
Due date:
06/07/2019
% Done:

100%

Estimated time:
(Total: 6.00 h)
Spent time:
3.00 h (Total: 15.50 h)
Story points:
1.0
Remaining (hours):
0.00 hour
Velocity based estimate:
0 days
Release:
Release relationship:
Auto

Description

Vu les discutions sur les listes, il y a un soucis avec les upgrades-auto 2.5->2.6 faites à distance.

En effet, avant de pouvoir réaliser l'enchainement enregistrement_zephir + instance, il faut rebooter. Le renommage des cartes réseaux se fait que lorsque l'on reboot, du coup sans ce dernier il y a des incohérences ,qui plantent le fonctionnement du service creoled.

Ce reboot fait qu'a distance, on perd la main sur le serveur (toute les fichiers de conf sont encore en ethX, sauf que le système lui est en ensX)

Serait-il possible que en post upgrade, un script systemd soit placé pour ce 1er reboot, puis nettoyé à l'instance, pour faire le nécessaire quand à la permutation de ethX vers ensX, ce qui nous éviterait de perdre le réseau ?
Quelque chose qui fonctionne à la manière de la variable "nom_carte_eth", qui est d’ailleurs calculées comment ?

Nicolas

reorder_interfaces (1.13 KB) Fabrice Barconnière, 04/30/2019 08:51 AM


Subtasks

Tâche #28366: Adapter le post_upgrade pour gérer le changement de nommage des interfacesFerméFabrice Barconnière

Associated revisions

Revision 84a50a32 (diff)
Added by Fabrice Barconnière 4 months ago

Rename old network interfaces names with then new predictives names when upgrading from 2.5.2 to 2.6.2

ref #27992

History

#1 Updated by Guillaume PITARD 5 months ago

Nous avons également des problèmes de noms de cartes sur des script iptables fait maison.

Nous espérons avoir réglé le problème en utilisant les variables Eole %%nom_zone_ethx , (x de 0 à 4 en fonction du nombre cartes sur l'Amon) dans nos fichiers templates.

Par contre pour que ces variables soient valuées lors d'un reconfigure, nous avons dû créer un fichier 00-maj-eth placé dans /usr/share/eole/pretemplate dont voici le contenu:

#!/bin/bash

nombre_interfaces=$(CreoleGet nombre_interfaces)
for INT in `seq 1 $[nombre_interfaces-1]`; do
   nom_int=$(CreoleGet nom_zone_eth$INT)
   CreoleSet nom_zone_eth$INT $nom_int
done

exit 0

#2 Updated by Olivier FEBWIN 5 months ago

Nous avons eu les mêmes problèmes lorsque nous avons upgradé nos Sphynx 2.5.2 > 2.6.2

#3 Updated by Scrum Master 5 months ago

  • Tracker changed from Demande to Scénario
  • Due date set to 05/17/2019
  • Target version set to sprint 2019 18-20 Equipe MENSR
  • Release set to EOLE 2.6.2.2
  • Story points set to 1.0

#4 Updated by Fabrice Barconnière 5 months ago

Ce script (reorder_interfaces) proposé par Laurent Haeffele peut être une piste de travail.
A Strasbourg, nous n'avons pas encore migré nos Amon 2.5 mais je
m'étais déjà posé cette question lors de mes premiers tests de
migration.
Voici ci-joint une ébauche de script shell permettant de modifier la 
configuration EOLE courante sur un serveur EOLE 2.6 (ou 2.7) en 
réattribuant les interfaces dans le même ordre que sous EOLE 2.5 à 
l'aide du fichier 70-persistent-net.rules.

ATTENTION: Cela nécessite de sauvegarder le fichier
/etc/udev/rules.d/70-persistent-net.rules avant migration.

Exemple d'utilisation :
./reorder_interfaces </root/backup/70-persistent-net.rules

Je n'ai pas testé le script "pour de vrai" lors d'une migration en
ligne, mais je suppose qu'il faudrait l'exécuter juste avant de lancer
l'instanciation du Amon 2.6.

Cordialement,

Laurent Haeffelé

Messages du thread :

#5 Updated by Fabrice Barconnière 5 months ago

Le problème apparaît avec vmware esxi. Il est également reproductible avec virtualbox.

#6 Updated by Fabrice Barconnière 5 months ago

Idée de script :
  • Avant reboot :
    for iface in $(ls /sys/class/net/); do echo "$iface $(cat /sys/class/net/${iface}/address)" >> /root/eth_ifaces; done
    
  • Après reboot :
    for iface in $(ls /sys/class/net/); do echo "$iface $(cat /sys/class/net/${iface}/address)" >> /root/new_ifaces; done
    while IFS=" " read -r iface mac
    do
        sed -i "s/$iface/$(grep $mac /root/new_ifaces|cut -d ' ' -f1)/" /etc/network/interfaces
        CreoleSet nom_carte_${iface} $(grep $mac /root/new_ifaces|cut -d ' ' -f1)
        # CreoleSet nom_zone_${iface} $(grep $mac /root/new_ifaces|cut -d ' ' -f1) # CreoleSet sur nom_carte est suffisant
    done < /root/eth_ifaces
    
    systemctl restart networking.service
    bastion regen
    

    Suite à ça, le serveur est de nouveau accessible en ssh

#7 Updated by Joël Cuissinat 4 months ago

  • Target version changed from sprint 2019 18-20 Equipe MENSR to sprint 2019 21-23 Equipe MENSR

#8 Updated by Scrum Master 4 months ago

  • Assigned To set to Fabrice Barconnière

#9 Updated by Joël Cuissinat 3 months ago

  • Status changed from Nouveau to Terminé (Sprint)

Also available in: Atom PDF