Projet

Général

Profil

Scénario #30223

Etude EAD2 / python3

Ajouté par Gilles Grandgérard il y a presque 4 ans. Mis à jour il y a presque 4 ans.

Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Catégorie:
-
Début:
02/06/2020
Echéance:
12/06/2020
% réalisé:

100%

Points de scénarios:
4.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto

Description

L'objectif est d'étudier les conséquences d'un migration EAD2 vers python3

L'étude à mettre en œuvre

  • le frontend
  • le backend
  • l'inter dépendance avec les autres backends (amon, scribe, seshat,....)
  • Les lib python utilisées en py27 non disponible en py3

Critères d'acceptation

  • Le livrable devrait être la liste des taches à réaliser.

Sous-tâches

Tâche #30225: Étudier le passage du frontend EAD en python3FerméEmmanuel GARETTE

Tâche #30245: Étudier le passage du backend et des actions de base EAD en python3FerméEmmanuel GARETTE

Tâche #30264: Étudier le passage des actions spécifique à Seshat en python3FerméEmmanuel GARETTE

Tâche #30265: Étudier le passage des actions spécifique à Amon en python3FerméEmmanuel GARETTE

Tâche #30266: Étudier le passage des actions spécifique à Scribe en python3FerméEmmanuel GARETTE


Demandes liées

Lié à Distribution EOLE - Scénario #30270: Portage python3 de l'EAD2 Terminé (Sprint) 02/06/2020 28/08/2020

Historique

#1 Mis à jour par Gilles Grandgérard il y a presque 4 ans

  • Description mis à jour (diff)

#2 Mis à jour par Joël Cuissinat il y a presque 4 ans

  • Points de scénarios changé de 3.0 à 4.0

#3 Mis à jour par Joël Cuissinat il y a presque 4 ans

  • Assigné à mis à Emmanuel GARETTE
  • Release mis à EOLE 2.8.0

#4 Mis à jour par Emmanuel GARETTE il y a presque 4 ans

1/ conteneur ===================================

Avantage : peu de modification de l'application

Risque :

- conteneurs (18.04)

- temps portage dans conteneur
- problèmes avec les systèmes virtualisés
- risque plus important sur les upgrades
- ne peut pas être déployé à partir du CD
- phase d'installation => d'instanciation beaucoup plus long
- place plus important sur le disque

- que faire à la fin du support de la 18.04

- portage en python3 + suppression du conteneur ?
- support des paquets installés (sécurité) ?

- changements :

- configuration pour enregistrement backend|frontend
- backend : forte dépendance système | développement d'un backend de backend (salt?) : risque important :
- lshw
- règle iptables
- lecture table ipset
- redémarrage de services

2/ python2 de 18.04 installé sur 20.04 ===================================

Avantage :

- on n'a VRAIMENT pas a modifier l'application
- boulot déjà fait

Risques :

- mettre à jour régulièrement

- comme conteneur : pb de fin de support 18.04

- mise à jour 20.04 => incompatible paquets 18.04 | risque peu probable | coût important :

- changement d'ABI glibc
- changement version openssl

- impossibilité de supprimer python2 (pour scripts utilisateurs)

- API doit rester compatible
- être testé en version python2 et python3
- complexité du code accrût

3/ portage python3 ===================================

Avantages :

- compatible paquets 20.04 sans conteneur
- portage facile 22.04
- frontend + ancien => backend: pas de problème de compatibilité

Risques :

- backend + ancien => frontend : template doit être compatible python3 :

- fournit par le backend (donc 2.6.0)
- pb "has_key"
- conversion en live ?

- python-axiom : concerne le backend

- scribe-backend :
- base temporaire
- ORM standard | base de code limité => on peut changer ORM
- seshat-backend : 1 table|2 colonnes|pas de contrainte => on peut changer
- port non officiel proposé mais non testé
- remplacant : on a déjà SQLAlchemy

- python-nevow : concerne le frontend

- projet à l'arrêt
- impossible a remplacer
- fork en python3 existe | fonctionnel
- risques minime

- eole-amon-backend3 : partiellement porté

- eole-python3-fichier : partiellement porté

- eole-scribe-backend3 : partiellement porté

- eole-seshat-backend : non porté | périmètre limité

- tests poussés

- bug de régression

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

#6 Mis à jour par Joël Cuissinat il y a presque 4 ans

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

Formats disponibles : Atom PDF