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

Emmanuel FARHI emmanuel.farhi at synchrotron-soleil.fr
Fri Apr 22 13:59:32 BST 2022


Et voila:

  * https://gitlab.com/soleil-data-treatment/soleil-software-projects/remote-desktop/-/releases/v22.04.22

Emmanuel.

Le 22/04/2022 à 13:12, Roland Mas a écrit :
>
> Super. Faites-moi un ping quand je pourrai faire le nouveau paquet (et 
> pensez à merger mon patch ;-)
>
> Roland.
>
> Le 22/04/2022 à 11:39, Emmanuel FARHI a écrit :
>>
>> Bonjour Roland,
>>
>> merci pour vos conseils qui ont permis de trouver ce qui cloche. En 
>> effet, le 'token' pour websockify précisait le nom de la machine, 
>> alors que le VNC était lancé sur la boucle locale. Selon l'ordre de 
>> la résolution de nom et la configuration du réseau, on pouvait du 
>> coup tomber sur la mauvaise IP pour le serveur. Je fais immédiatement 
>> un commit dans ce sens, et une release corrective.
>>
>> Encore merci !
>>
>> Emmanuel.
>>
>> Le 20/04/2022 à 15:11, Roland Mas a écrit :
>>>
>>> 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
>>>>
>>>>
>> -- 
>> signature
>> / ___|__/\_| |   | ____|_ _| |    FARHI Emmanuel
>> \___ \\ | |   |  _|  | || |      Div Exp/Data Reduction and Analysis Team
>>  ___) /_  _| |___| |___ | || |___   Tel : +33 (1) 69 35 96 04 
>> <callto:+33%20%281%29%2069%2035%2096%2004>
>> |____/  \/ |_____|_____|___|_____|  Saint-Aubin BP 48 - 91192 
>> GIF/YVETTE CEDEX
>> SYNCHROTRON http://www.synchrotron-soleil.fr
-- 
signature
/ ___|__/\_| |   | ____|_ _| |      FARHI Emmanuel
\___ \\ | |   |  _|  | || |      Div Exp/Data Reduction and Analysis Team
  ___) /_  _| |___| |___ | || |___   Tel : +33 (1) 69 35 96 04 
<callto:+33%20%281%29%2069%2035%2096%2004>
|____/  \/ |_____|_____|___|_____|  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/20220422/e95bd1db/attachment-0001.htm>


More information about the Debian-pan-maintainers mailing list