Tâche #35862
Scénario #35851: EOLE 2.10 : Les actions de base EAD3 doivent être fonctionnelles
Étude
100%
Historique
#1 Mis à jour par Benjamin Bohard il y a presque 2 ans
- Statut changé de Nouveau à En cours
#2 Mis à jour par Benjamin Bohard il y a presque 2 ans
Dans le courant de l’exécution, le code répond :
'ead' __virtual__ returned False: No module named 'creole' 'ead' __virtual__ returned False: No module named 'lxml' 'ead' __virtual__ returned False: No module named 'lxml.etree'
lxml et lxml.etree posent deux problèmes :
- on ne fournit pas les paquets ;
- lxml.etree est compilé pour python 3.12 et 3.11 (salt utilise python 3.10)
#3 Mis à jour par Daniel Dehennin il y a plus d'un an
Je pense avoir une option, où je pourrais trouver les logs dont tu parles ?
'ead' __virtual__ returned False: No module named 'creole' 'ead' __virtual__ returned False: No module named 'lxml' 'ead' __virtual__ returned False: No module named 'lxml.etree'
#4 Mis à jour par Benjamin Bohard il y a plus d'un an
Les erreurs d’import sont visibles dans les messages de debug de salt-minion (démarré avec l’option -l debug plutôt qu’avec le service).
Par exemple, en tentant d’afficher l’action services>Liste des services
[DEBUG ] Could not LazyLoad ead.manageservices_get_services: 'ead' __virtual__ returned False: No module named 'creole.loader'
#5 Mis à jour par Benjamin Bohard il y a plus d'un an
Pour préciser, l’erreur d’import de lxml n’apparaît qu’une fois l’import de creole résolu (dans mon test, simple copie du répertoire).
#6 Mis à jour par Daniel Dehennin il y a plus d'un an
- Fichier ead3-services.avif ajouté
Je pense donc que mon correctif #35863 dois résoudre le problème non ?
#7 Mis à jour par Benjamin Bohard il y a plus d'un an
La méthode que tu as mise en œuvre permet bien de répondre au problème d’installation dans le répertoire de salt.
Il faut prévoir d’ajouter d’autres bibliothèques, malheureusement au fur et à mesure.
Avec le paquet installé, les bibliothèques manquantes suivantes sont :
- tiramisu ;
- IPy ;
- pyeole ;
- pyroute2 ;
- tiramisu_web.
Je ne parviens toujours pas à afficher le tableau comme dans ta capture d’écran mais ça ne semble plus lié à ces erreurs d’import de modules.
#8 Mis à jour par Daniel Dehennin il y a plus d'un an
Oui, j’avais reset mon infra et donc je voyais l’EAD3 du module amon ¯\_(ツ)_/¯
#9 Mis à jour par Daniel Dehennin il y a plus d'un an
- Fichier ead3-salt-services.log Voir ajouté
J’ai sorti les logs des services EAD3 avec :
$ for d in master.d minion.d; do echo 'log_level: debug' > /etc/ead3/salt/${d}/log-level.conf; done
$ systemctl restart salt-master-ead3.service salt-minion-ead3.service salt-api-ead3.service apache2.service
$ journalctl -u salt-master-ead3.service -u salt-minion-ead3.service -u salt-api-ead3.service --since "2024-07-09 14:10:39" > ead3-salt-services.log
Il semble que la partie salt fonctionne, en tout cas je vois la sortie de ead.manageservices_get_services
juil. 09 14:17:47 scribe salt-minion-ead3[7935]: [DEBUG ] minion return: {'success': True, 'return': [{'name': 'Tous', 'container': 'root', 'nonstop': True, 'warning': True}, {'name': 'systemd-timesyncd', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'slapd', 'container': 'bdd', 'nonstop': False, 'warning': False}, {'name': 'isc-dhcp-server', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'smbd', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'nut-server', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'nut-monitor', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'salt-api-ead3', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'salt-master-ead3', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'salt-minion-ead3', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'apache2', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'eole-workstation-manager', 'container': 'addc', 'nonstop': False, 'warning': False}, {'name': 'eole-sso', 'container': 'root', 'nonstop': True, 'warning': False}, {'name': 'ead-server', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'ead-web', 'container': 'root', 'nonstop': True, 'warning': False}, {'name': 'mysql', 'container': 'bdd', 'nonstop': False, 'warning': False}, {'name': 'postgresql@16-main', 'container': 'postgresql', 'nonstop': False, 'warning': False}, {'name': 'spamd', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'bareos-director', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'bareos-filedaemon', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'bareos-storage', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'courier-imap', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'courier-imap-ssl', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'courier-authdaemon', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'cups', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'cups-browsed', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'saslauthd', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'proftpd', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'controle-vnc', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'exim4', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'eoleflask', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'nginx', 'container': 'root', 'nonstop': False, 'warning': False}, {'name': 'eoleapps', 'container': 'reseau', 'nonstop': False, 'warning': False}, {'name': 'websockify', 'container': 'partage', 'nonstop': False, 'warning': False}, {'name': 'bastion', 'container': 'root', 'nonstop': True, 'warning': False}, {'name': 'z_stats', 'container': 'root', 'nonstop': False, 'warning': False}], 'retcode': 0, 'jid': '20240709121747313164', 'fun': 'ead.manageservices_get_services', 'fun_args': [], 'user': 'eole'}
En revanche, je suis plus inquiet de l’erreur en début
juil. 09 14:15:15 scribe salt-master-ead3[1883]: [ERROR ] Future exception was never retrieved
juil. 09 14:15:15 scribe salt-master-ead3[1883]: future: <Future finished exception=ImportError("cannot import name 'wait' from partially initialized module 'multiprocessing.connection' (most likely due to a circular import) (/opt/saltstack/salt/lib/python3.10/multiprocessing/connection.py)")>
#10 Mis à jour par Daniel Dehennin il y a plus d'un an
En tout cas, je peux téléverser un fichier XML dans la partie Fichiers.
#11 Mis à jour par Daniel Dehennin il y a plus d'un an
J’ai trouvé le soucis je pense.
J’ai mis à niveau manuellement rest_eole depuis le code de rest_tornado et j’ai la liste des services.
Pour les problèmes de await, j’ai trouvé un bug upstream
#12 Mis à jour par Daniel Dehennin il y a plus d'un an
- Fichier ead3-services.png Voir ajouté
- Fichier ead3-maj-report.png Voir ajouté
La dernière mise à jour du paquet eole-ead3-saltstack fait que cela fonctionne \o/


#13 Mis à jour par Daniel Dehennin il y a plus d'un an
Il restera à mettre la dépendance eole-salt-dependencies où c’est nécessaire :
apt rdepends salt-master salt-master Reverse Depends: Dépend: salt-syndic (= 3007.1) Dépend: eole-ead3-saltstack (>= 3004.1) Dépend: salt-api Dépend: eole-workstation-manager-salt (>= 3004.1) Dépend: eole-saltstack
#14 Mis à jour par Benjamin Bohard il y a plus d'un an
- Statut changé de En cours à À valider
#15 Mis à jour par Ludwig Seys il y a plus d'un an
- Statut changé de À valider à Résolu
#16 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