[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