Tâche #7963
Distribution EOLE - Scénario #9022: préparation de Zéphir pour la gestion d'eole 2.4.1 - Sprint 2
Serveurs 2.4 : gestion de la notion de sous release
Description
La suppression de la variable type_maj pour les serveurs eole 2.4 va nécessiter des modifications dans la détection des paquets non à jour sur Zéphir.
La notion de mise à jour complète/minimale ne sera plus d'actualité dans cette version, il faudra gérer une notion de sous-version de la distribution (2.4.1 / 2.4.2 / ...)
Impacts de ce changement sur Zéphir :
- gérer une notion de version_distrib supplémentaire (dans la table serveurs).
- modification des scripts et structures gérant les paquets disponibles sur les serveurs de mise à jour
- modifier les options de l'action de mise à jour ( 'forcer une mise à jour complète' n'est plus disponible)
- impact sur la notion de migration (Upgrade-Auto ?) dans le cas de changement de sous-version (actuellement : gérée seulement entre 2 versions de distribution).
- gestion des dictionnaires au niveau des sous-version ?
- Si le code de creole3 (creole 2.4) n'est pas compatible d'une version à l'autre, il faudra gérer plusieurs versions de la librairie. Pour éviter le problème, il serait préférable que les futures versions de creole3 soient rétro-compatibles.
Pour limiter les modifications, une solution envisageable serait de considérer les sous-version comme des versions à part entière (2.41, 2.42, ...)
Apr 14 11:25:50 zephir-bruno zephir_backend: [HTTPChannel,1052,192.168.230.90] connexion du serveur 15 ==> /var/log/rsyslog/local/zephir_backend/zephir_backend.alert.log <== Apr 14 11:25:51 zephir-bruno zephir_backend: [-] Unhandled Error Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011Traceback (most recent call last): Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/threading.py", line 504, in __bootstrap Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 self.__bootstrap_inner() Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 self.run() Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/threading.py", line 484, in run Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 self.__target(*self.__args, **self.__kwargs) Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011--- <exception caught here> --- Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/threadpool.py", line 210, in _worker Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 result = context.call(ctx, function, *args, **kwargs) Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 59, in callWithContext Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 return self.currentContext().callWithContext(ctx, func, *args, **kw) Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/dist-packages/twisted/python/context.py", line 37, in callWithContext Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 return func(*args,**kw) Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/uucp_rpc.py", line 1171, in _maj_site Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 serv.check_maj_status(self.parent.maj_checker) Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 File "/usr/lib/python2.6/dist-packages/zephir/backend/lib_backend.py", line 979, in check_maj_status Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011 type_maj = dico['type_maj'].split('| ')[0] Apr 14 11:25:51 zephir-bruno zephir_backend: [-] #011exceptions.KeyError: 'type_maj'
Demandes liées
Révisions associées
adaptations pour la version 2.4.0
- correction liée à la disparition de type_maj pour les serveurs 2.4
- retour à l'utilisation de CreoleVarLoader au lieu de VarLoader (plus léger)
ref #7963
Correction temporaire de la détection des paquets disponibles pour eole 2.4
- adaptation des chemins de recherche pour les fichiers Packages.gz
- penser à ajouter eole.ac-dijon.fr dans la liste des serveurs de maj
des clients dans le cas où eoleng.ac-dijon.fr était présent
Ref #7963 @1h
Corrections sur l'ajout/suppression de modules 2.4.X et supérieurs
- recalcul des liens de dictionnaires après création d'un module perso
- suprression du fichier de description à la suppression d'un module
ref #7963 @1h
Déplacement dans le backend Zéphir de la fonction upgrade_modules du client
- permettra de lancer à la demande la copie des variantes et dicos
locaux entre 2 releases
ref #7963 @3h
Prise en compte des variantes de migration en cas de saut de plusieurs releases
- forçage de l'encoding utf-8 par défaut pour le backend (déjà fait pour web)
- les dictionnaires locaux inexistants sont recopiés entre les 2 releases
- ajout des correspondances automatiques de variantes si saut > 1 version
ref #7963 @4h
Corrections pour prise en compte des version 2.4.1 et >
- suppression de code obsolète dans l'application web
- vérification de la cohérence des dictionnaires si upgrade ou
changement de variante
- correction d'un pb dans appli web si variante de migration supprimée
Ref #7963 @4h
Corrections sur l'ajout/suppression de modules 2.4.X et supérieurs
- recalcul des liens de dictionnaires après création d'un module perso
- suprression du fichier de description à la suppression d'un module
ref #7963 @1h
Déplacement dans le backend Zéphir de la fonction upgrade_modules du client
- permettra de lancer à la demande la copie des variantes et dicos
locaux entre 2 releases
ref #7963 @3h
Prise en compte des variantes de migration en cas de saut de plusieurs releases
- forçage de l'encoding utf-8 par défaut pour le backend (déjà fait pour web)
- les dictionnaires locaux inexistants sont recopiés entre les 2 releases
- ajout des correspondances automatiques de variantes si saut > 1 version
ref #7963 @4h
Corrections pour prise en compte des version 2.4.1 et >
- suppression de code obsolète dans l'application web
- vérification de la cohérence des dictionnaires si upgrade ou
changement de variante
- correction d'un pb dans appli web si variante de migration supprimée
Ref #7963 @4h
Historique
#1 Mis à jour par Bruno Boiget il y a environ 10 ans
- Description mis à jour (diff)
- Temps estimé changé de 8.00 h à 30.00 h
#2 Mis à jour par Joël Cuissinat il y a environ 10 ans
- Echéance mis à 02/05/2014
#3 Mis à jour par Bruno Boiget il y a environ 10 ans
- Version cible changé de Eole 2.4 Stable à Mises à jour 2.3.13
- Distribution changé de EOLE 2.4 à EOLE 2.3
#4 Mis à jour par Daniel Dehennin il y a presque 10 ans
- Echéance
02/05/2014supprimé
#5 Mis à jour par Bruno Boiget il y a presque 10 ans
- Version cible changé de Mises à jour 2.3.13 à 231
#6 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Sujet changé de Serveurs 2.4 : détection de l'état de mise à jour à Serveurs 2.4 : gestion de la notion de sous release
#7 Mis à jour par Joël Cuissinat il y a plus de 9 ans
- Tâche parente mis à #8871
#8 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Tâche parente
#8871supprimé
#9 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Tâche parente mis à #8886
#10 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Version cible mis à sprint 2014 38-39
#11 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de Nouveau à En cours
#12 Mis à jour par Bruno Boiget il y a plus de 9 ans
- % réalisé changé de 0 à 30
maquette en cours de réalisation :
- les releases sont des versions à part entière (2.4, 2.4.1, 2.4.2)
- chaque release a donc sa version de la bibliothèque de dictionnaires
- pour simplifier le travail, les dictionnaires locaux et les variantes sont recréées à l'identique d'une version à l'autre
- la gestion automatique des variantes se fait à travers les fonctions en place dans le cadre d'upgrade auto (script upgrade_distrib sur Zéphir)
- on pourrait prévoir un lancement de ces fonctions par l'administrateur depuis l'interface web en spécifiant les releases source / destination (auparavant, fait une seule fois à l'upgrade de Zéphir.). idem pour la copie des dictionnaires locaux ?
- la fonction de copie de variante a été adaptée pour gérer correctement les dictionnaires activés avec des variantes de releases différentes
- il reste également à déterminer la façon dont la bascule d'un serveur sur une nouvelle release se fera (upgrade-auto avec des options spécifiques ?)
#13 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Version cible
sprint 2014 38-39supprimé - Tâche parente changé de #8886 à #9022
#14 Mis à jour par Daniel Dehennin il y a plus de 9 ans
- Début mis à 29/09/2014
- Restant à faire (heures) mis à 30.0
#15 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Restant à faire (heures) changé de 30.0 à 20.0
#16 Mis à jour par Bruno Boiget il y a plus de 9 ans
- % réalisé changé de 30 à 50
#17 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Restant à faire (heures) changé de 20.0 à 16.0
#18 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Restant à faire (heures) changé de 16.0 à 12.0
#19 Mis à jour par Bruno Boiget il y a plus de 9 ans
- Statut changé de En cours à Reporté
- Restant à faire (heures) changé de 12.0 à 0.0