Projet

Général

Profil

Scénario #27992

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

Ajouté par équipe eole Academie d'Orléans-Tours il y a environ 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Catégorie:
-
Début:
12/04/2019
Echéance:
07/06/2019
% réalisé:

100%

Temps estimé:
(Total: 6.00 h)
Temps passé:
3.00 h (Total: 15.50 h)
Points de scénarios:
1.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
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 ko) Fabrice Barconnière, 30/04/2019 08:51


Sous-tâches

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

Révisions associées

Révision 84a50a32 (diff)
Ajouté par Fabrice Barconnière il y a presque 5 ans

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

ref #27992

Historique

#1 Mis à jour par Guillaume PITARD il y a environ 5 ans

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 Mis à jour par Olivier FEBWIN il y a presque 5 ans

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

#3 Mis à jour par Scrum Master il y a presque 5 ans

  • Tracker changé de Demande à Scénario
  • Echéance mis à 17/05/2019
  • Version cible mis à sprint 2019 18-20 Equipe MENSR
  • Release mis à EOLE 2.6.2.2
  • Points de scénarios mis à 1.0

#4 Mis à jour par Fabrice Barconnière il y a presque 5 ans

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 Mis à jour par Fabrice Barconnière il y a presque 5 ans

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

#6 Mis à jour par Fabrice Barconnière il y a presque 5 ans

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 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Version cible changé de sprint 2019 18-20 Equipe MENSR à sprint 2019 21-23 Equipe MENSR

#8 Mis à jour par Scrum Master il y a presque 5 ans

  • Assigné à mis à Fabrice Barconnière

#9 Mis à jour par Joël Cuissinat il y a presque 5 ans

  • Statut changé de Nouveau à Terminé (Sprint)

Formats disponibles : Atom PDF