[Debian-pan-maintainers] Debian packaging: qemu-web-desktop

Roland Mas roland.mas at gnurandal.com
Wed Apr 20 14:11:02 BST 2022


Bonjour,

Je me suis peut-être mal exprimé : je n'arrive pas (encore ?) à 
reproduire le bug. Fonctionnement nominal, en d'autres termes « chez moi 
ça marche » ;-)

Je reprends ma question sur les IP : vous dites que les IP sont à 
127.0.0.1, mais est-ce que grades-01.synchrotron-soleil.fr se résout en 
127.0.0.1 sur le serveur lui-même ? Ou tout du moins, est-ce que ça se 
résout en l'IP sur laquelle écoute le VNC ? Essayez "ss -tlpn|grep vnc" 
sur grades-01, puis "getent hosts grades-01.synchrotron-soleil.fr" pour 
savoir ce qui écoute sur quoi et vers quelle IP websockify va tenter de 
se connecter. (Commandes à lancer après démarrage de la VM)

Roland.

Le 20/04/2022 à 10:22, FARHI Emmanuel a écrit :
> Bonjour Roland,
>
> merci pour ces nouvelles. Le fait que vous puissiez reproduire le bug 
> est déjà en soi encourageant. Les processus qemu et websockify/novnc 
> sont bien en route et les IP (127.0.0.1 lorsque tout tourne en local) 
> sont bonnes il me semble.
> Je vais continuer également mes tests de mon coté afin d'identifier ce 
> qui cloche.
> La machine grades-01 n'est malheureusement pas accessible depuis 
> l'extérieur.
>
> Emmanuel.
>
> ------------------------------------------------------------------------
> *De: *"roland mas" <roland.mas at gnurandal.com>
> *À: *"FARHI Emmanuel" <emmanuel.farhi at synchrotron-soleil.fr>
> *Cc: *"PICCA Frederic-Emmanuel" 
> <frederic-emmanuel.picca at synchrotron-soleil.fr>
> *Envoyé: *Mardi 19 Avril 2022 20:31:30
> *Objet: *Re: Debian packaging: qemu-web-desktop
>
> Voilà, le paquet 22.04.17+ds1-1 est en route vers unstable, avec un 
> patch sur le script de téléchargement des images de VM (que je viens 
> de soumettre sous forme de merge request).
>
> Je l'ai installé sur un PC vierge de tout travail préalable (mon PC 
> habituel est en attente d'une alimentation neuve qui devrait arriver 
> dans la semaine, je travaille donc sur un autre en attendant). J'ai pu 
> tester le fonctionnement nominal, avec service_port_multiple à 0 comme 
> à 1. J'ai déjà une info pertinente : j'ai aussi les messages "Couldn't 
> set uid/gid/priority, closing connection". Et " Connection refused" 
> autant que "Failed to connect to server", ça me semble plutôt être un 
> problème de lancement de processus. Est-ce que de votre côté le qemu 
> est bien lancé, est-ce qu'il écoute bien sur la bonne adresse IP et le 
> bon port ? Je n'arrive pas à résoudre grades-01.synchrotron-soleil.fr 
> ici, est-ce que votre DNS interne est correct ?
>
> En tout cas, j'essaierai sur d'autres environnements pour reproduire 
> le bug.
>
> Roland.
>
> Le 19/04/2022 à 10:17, Roland Mas a écrit :
>
>     Bonjour,
>
>     Je m'en occupe. Je vais commencer par packager la nouvelle version
>     upstream, et je m'occupe de ce debug dès que c'est bon..
>
>     Roland.
>
>     Le 18/04/2022 à 13:11, FARHI Emmanuel a écrit :
>
>         Bonjour Roland,
>
>         J'ai pas mal travaillé sur le projet qemu-web-desktop. La
>         principale motivation a été de n'utiliser qu'un seul port de
>         communication pour websockify, avec des TokenFile. La
>         configuration par défaut utilise toujours un port noVNC
>         (:60xx) par connexion (et par port VNC :590x). Le nouveau
>         mécanisme se choisit avec l'option dans le fichier
>         /etc/qemu-web-desktop/config.pl
>
>           * $config{service_port_multiple} = 0;
>
>         (au lieu de 1 par défaut). Le nouveau mecanisme a un seul port
>         websockify est plus sur, car il ne necessite que l'ouverture
>         d'un port sur les réseaux d'entreprise, plutot qu'une plage de
>         ports que les IT n'aiment pas (a juste titre).
>
>         Avec le git upstream du projet
>         <https://gitlab.com/soleil-data-treatment/soleil-software-projects/remote-desktop>,
>         tout se passe bien au début (sudo make install, accès au
>         service, lancement de qemu, et websockify en mode 'daemon').
>         Un fichier qui fait le lien entre le Token websockify (ici
>         TTUHIzPJ) et le port est crée dans
>         /var/lib/qemu-web-desktop/snapshots/websockify-target.d/ avec
>         la syntaxe
>
>           * TTUHIzPJ: 127.0.0.1:5901
>
>         Mais on obtient le message dans le browser noVNC '*[X] Failed
>         to connect to server*'.
>
>         Le log de apache montre:
>
>         # sudo tail -200 /var/log/apache2/error.log
>         [Mon Apr 18 12:43:40.366067 2022] [mpm_itk:warn] [pid 258231]
>         (itkmpm: pid=258231 uid=134, gid=106)
>         itk_post_perdir_config(): setgid(33): Operation not permitted
>         [Mon Apr 18 12:43:40.366082 2022] [mpm_itk:warn] [pid 258231]
>         Couldn't set uid/gid/priority, closing connection.
>
>         Si on lance le websockify en avance a la main, on obtient le
>         message suivant lorsque l'on clique sur le lien du serveur web
>
>           * https://grades-01.synchrotron-soleil.fr:6001/vnc.html?resize=scale&autoconnect=true&path=?token=TTUHIzPJ
>
>         j'ai modifié la ligne
>         /usr/lib/python3/dist-packages/websockify/websocketproxy.py,
>         lignes 121-122 afin d'afficher la cause de l'erreur:
>
>         except Exception as e:
>         self.log_message("Failed to connect to %s:%s: %s",
>         self.server.target_host, self.server.target_port, e)
>
>         puis (idem en tant qu'utilisateur courant, root ou
>         _qemu-web-desktop):
>         $ websockify --web /usr/share/novnc --token-plugin=TokenFile
>         --token-source=/var/lib/qemu-web-desktop/snapshots/websockify-target.d/
>         --cert=/etc/apache2/certificate/apache-certificate.crt
>         --key=/etc/apache2/certificate/apache.key 6001
>         WebSocket server settings:
>           - Listen on :6001
>           - Web server. Web root: /usr/share/novnc
>           - SSL/TLS support
>           - proxying from :6001 to targets generated by TokenFile
>         192.168.3.225 - - [18/Apr/2022 12:26:16] 192.168.3.225:
>         SSL/TLS (wss://) WebSocket connection
>         192.168..3.225 - - [18/Apr/2022 12:26:16] 192.168.3.225: Path:
>         '/?token=3SmaqaOg'
>         192.168.3.225 - - [18/Apr/2022 12:26:16] connecting to:
>         grades-01.synchrotron-soleil.fr:5905
>         192.168.3.225 - - [18/Apr/2022 12:26:16] Failed to connect to
>         grades-01.synchrotron-soleil.fr:5905: *[Errno 111] Connection
>         refused*
>
>         Cette erreur se produit sur nos deux serveur GPU avec le meme
>         système Bullseye. Par contre sur mon ordi portable en
>         Bullseye, ca marche. Il y a donc un truc qui m'échappe, et qui
>         semble indiquer un problème de droits.
>
>         J'ai fait des tests à la main, qui confirment cela. Un
>         lancement tout a la main fonctionne (y compris en tant que
>         _qemu-web-desktop ou utilisateur courant):
>
>         # qemu-img create -f qcow2 /tmp/snap1.qcow2 10G
>         # mkdir /tmp/websockify-target.d
>         # FILE=/tmp/websockify-target.d/target1
>         # dd status=none of=${FILE} << EOF
>         target1: 127.0.0.1:5901
>         EOF
>         # qemu-system-x86_64 -smp 4 -name
>         qemu-web-desktop_TTUHIzPJ:farhie:Debian11-Bullseye.qcow2
>         -machine pc,accel=kvm -enable-kvm -cpu host,kvm=off -m 8192
>         -device virtio-balloon -hda /tmp/snap1.qcow2 -boot d -cdrom
>         /var/lib/qemu-web-desktop/machines/slax.iso -device
>         ich9-ahci,id=ahci -netdev user,id=mynet0 -device
>         virtio-net,netdev=mynet0 -usb -device usb-tablet -vga qxl
>         -boot c -fsdev
>         local,security_model=passthrough,id=fsdev0,path=/mnt -device
>         virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=host_mnt -fsdev
>         local,security_model=passthrough,id=fsdev1,path=/media -device
>         virtio-9p-pci,id=fs1,fsdev=fsdev1,mount_tag=host_media -vnc
>         127.0.0.1:1
>
>         # websockify --web /usr/share/novnc --token-plugin=TokenFile
>         --token-source=/tmp/websockify-target.d
>         --record=/tmp/websocket.log
>         --cert=/etc/apache2/certificate/apache-certificate.crt
>         --key=/etc/apache2/certificate/apache.key 6001
>
>         et connexion sur:
>
>           * https://grades-01.synchrotron-soleil.fr:6001/vnc.html?resize=scale&autoconnect=true&path=?token=target1
>             <https://grades-01.synchrotron-soleil.fr:6001/vnc..html?resize=scale&autoconnect=true&path=?token=target1>
>
>         marche alors sur les deux serveur GPU (mais pas a travers le
>         service web).
>
>         Vous êtes plus habitué aux environnements apache/mpm_itk et je
>         ne sais pas comment aller plus loin que mes tests ci-dessus.
>
>         Pourriez-vous consacrer quelques heures sur le nouveau contrat
>         de 100h (déjà entamé) pour mettre a jour l'upstream avec la
>         version 22.04.17, et faire des tests d'installation sur un
>         environnement vierge avec l'option
>         '$config{service_port_multiple}=0;' ? Je ferai ensuite des
>         tests similaires sur les serveurs GPU où le système est
>         installé (actuellement en 'multiple=1').
>
>         Merci d'avance, Emmanuel.
>
>         -- 
>         / ___|__/\_| |   | ____|_ _| |      FARHI Emmanuel
>         \___ \\ | |   |  _|  | || |      Div Exp/Data Reduction and
>         Analysis Team
>          ___) /_  _| |___| |___ | || |___   Tel : +33 (1) 69 35 96 04
>         |____/  \/ |_____|_____|___|_____|  Saint-Aubin BP 48 - 91192
>         GIF/YVETTE CEDEX
>         SYNCHROTRON http://www.synchrotron-soleil.fr
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-pan-maintainers/attachments/20220420/e96b41d0/attachment-0001.htm>


More information about the Debian-pan-maintainers mailing list