<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div>Bonjour Roland,<br></div><div><br data-mce-bogus="1"></div><div>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.<br data-mce-bogus="1"></div><div>Je vais continuer également mes tests de mon coté afin d'identifier ce qui cloche. </div><div>La machine grades-01 n'est malheureusement pas accessible depuis l'extérieur.</div><div><br data-mce-bogus="1"></div><div>Emmanuel.<br data-mce-bogus="1"></div><div><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><b>De: </b>"roland mas" <roland.mas@gnurandal.com><br><b>À: </b>"FARHI Emmanuel" <emmanuel.farhi@synchrotron-soleil.fr><br><b>Cc: </b>"PICCA Frederic-Emmanuel" <frederic-emmanuel.picca@synchrotron-soleil.fr><br><b>Envoyé: </b>Mardi 19 Avril 2022 20:31:30<br><b>Objet: </b>Re: Debian packaging: qemu-web-desktop<br></div><div><br></div><div data-marker="__QUOTED_TEXT__"><p>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).<br>
    </p>
    <p>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 ?<br>
    </p>
    <p>En tout cas, j'essaierai sur d'autres environnements pour
      reproduire le bug.</p>
    <p>Roland.<br>
    </p>
    <div class="moz-cite-prefix">Le 19/04/2022 à 10:17, Roland Mas a
      écrit :<br>
    </div>
    <blockquote cite="mid:4e687147-6451-fa88-c8a1-8720bbd3c96b@gnurandal.com">
      
      <p>Bonjour,</p>
      <p>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.</p>
      <p>Roland.<br>
      </p>
      <div class="moz-cite-prefix">Le 18/04/2022 à 13:11, FARHI Emmanuel
        a écrit :<br>
      </div>
      <blockquote cite="mid:666948793.15629229.1650280293467.JavaMail.zimbra@synchrotron-soleil.fr">
        
        <div style="font-family: arial, helvetica, sans-serif;
          font-size: 12pt; color: #000000">
          <div>Bonjour Roland,<br>
          </div>
          <div><br>
          </div>
          <div>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</div>
          <ul>
            <li><span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;">$config{service_port_multiple}   
                = 0;</span><br>
            </li>
          </ul>
          <div>(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).<br>
          </div>
          <div><br>
          </div>
          <div>Avec le git upstream du projet
            <a class="moz-txt-link-rfc2396E" href="https://gitlab.com/soleil-data-treatment/soleil-software-projects/remote-desktop" target="_blank"><https://gitlab.com/soleil-data-treatment/soleil-software-projects/remote-desktop></a>,
            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 </div>
          <ul>
            <li><span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;">TTUHIzPJ:
                127.0.0.1:5901</span><br>
            </li>
          </ul>
          <div>Mais on obtient le message dans le browser noVNC '<strong>[X]
              Failed to connect to server</strong>'.<br>
          </div>
          <div><br>
          </div>
          <div>Le log de apache montre:<br>
          </div>
          <div style="padding-left: 30px;"><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;"># sudo tail -200
              /var/log/apache2/error.log</span><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;">[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</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">[Mon
              Apr 18 12:43:40.366082 2022] [mpm_itk:warn] [pid 258231]
              Couldn't set uid/gid/priority, closing connection.</span><br>
          </div>
          <div><br>
          </div>
          <div>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 </div>
          <ul>
            <li><a class="moz-txt-link-freetext" href="https://grades-01.synchrotron-soleil.fr:6001/vnc.html?resize=scale&autoconnect=true&path=?token=TTUHIzPJ" target="_blank">https://grades-01.synchrotron-soleil.fr:6001/vnc.html?resize=scale&autoconnect=true&path=?token=TTUHIzPJ</a><br>
            </li>
          </ul>
          <div>j'ai modifié la ligne
            /usr/lib/python3/dist-packages/websockify/websocketproxy.py,
            lignes 121-122 afin d'afficher la cause de l'erreur:<br>
          </div>
          <div><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;">except Exception as e:</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">           
              self.log_message("Failed to connect to %s:%s: %s",</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">                            
              self.server.target_host, self.server.target_port, e)</span><br>
          </div>
          <div><br>
          </div>
          <div>puis (idem en tant qu'utilisateur courant, root ou
            _qemu-web-desktop):</div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;">$ 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</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">WebSocket
              server settings:</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">  -
              Listen on :6001</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">  -
              Web server. Web root: /usr/share/novnc</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">  -
              SSL/TLS support</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">  -
              proxying from :6001 to targets generated by TokenFile</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">192.168.3.225
              - - [18/Apr/2022 12:26:16] 192.168.3.225: SSL/TLS (wss://)
              WebSocket connection</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">192.168..3.225
              - - [18/Apr/2022 12:26:16] 192.168.3.225: Path:
              '/?token=3SmaqaOg'</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">192.168.3.225
              - - [18/Apr/2022 12:26:16] connecting to:
              grades-01.synchrotron-soleil.fr:5905</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">192.168.3.225
              - - [18/Apr/2022 12:26:16] Failed to connect to
              grades-01.synchrotron-soleil.fr:5905: <strong>[Errno 111]
                Connection refused</strong></span><br>
            <br>
          </div>
          <div>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.<br>
          </div>
          <div><br>
          </div>
          <div>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):<br>
          </div>
          <div><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;"># qemu-img create -f qcow2
              /tmp/snap1.qcow2 10G</span><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;"># mkdir /tmp/websockify-target.d</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">#
              FILE=/tmp/websockify-target.d/target1</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;"># dd
              status=none of=${FILE} << EOF</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">target1:
              127.0.0.1:5901</span><br>
            <span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">EOF</span><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;"># 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</span><br>
          </div>
          <div style="padding-left: 30px;"><br>
          </div>
          <div style="padding-left: 30px;"><span style="font-family: courier new, courier,
              monaco, monospace, sans-serif;"># 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</span><br>
          </div>
          <div><br>
          </div>
          <div>et connexion sur:<br>
          </div>
          <ul>
            <li><a href="https://grades-01.synchrotron-soleil.fr:6001/vnc.html?resize=scale&autoconnect=true&path=?token=target1" target="_blank">https://grades-01.synchrotron-soleil.fr:6001/vnc.html?resize=scale&autoconnect=true&path=?token=target1</a><br>
            </li>
          </ul>
          <div>marche alors sur les deux serveur GPU (mais pas a travers
            le service web).<br>
          </div>
          <div><br>
          </div>
          <div>Vous êtes plus habitué aux environnements apache/mpm_itk
            et je ne sais pas comment aller plus loin que mes tests
            ci-dessus. <br>
          </div>
          <div><br>
          </div>
          <div>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 '<span style="font-family: courier new, courier, monaco,
              monospace, sans-serif;">$config{service_port_multiple}=0;</span>'
            ? Je ferai ensuite des tests similaires sur les serveurs GPU
            où le système est installé (actuellement en 'multiple=1').<br>
          </div>
          <div><br>
          </div>
          <div>Merci d'avance, Emmanuel.<br>
          </div>
          <div><br>
          </div>
          <div>-- <br>
          </div>
          <div>
            <div><span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;"><span style="color: rgb(0, 0,
                  255);">/ ___|<span style="color: rgb(255, 153, 0);">__/\_</span>|
                  |   | ____|_ _| |</span>      FARHI Emmanuel</span><br>
              <span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;"><span style="color: rgb(0, 0,
                  255);">\___ \<span style="color: rgb(255, 153, 0);">\
                       </span>| |   |  _|  | || |</span>      Div
                Exp/Data Reduction and Analysis Team</span><br>
              <span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;"><span style="color: rgb(0, 0,
                  255);"> ___) <span style="color: rgb(255, 153, 0);">/_
                     _</span>| |___| |___ | || |___</span>   Tel : +33
                (1) 69 35 96 04</span><br>
              <span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;"><span style="color: rgb(0, 0,
                  255);">|____/ <span style="color: rgb(255, 153, 0);"> \/</span>
                  |_____|_____|___|_____|</span>  Saint-Aubin BP 48 -
                91192 GIF/YVETTE CEDEX</span><br>
              <span style="font-family: courier new, courier, monaco,
                monospace, sans-serif;">                       <span style="color: rgb(0, 0, 255);">SYNCHROTRON</span>  <a class="moz-txt-link-freetext" href="http://www.synchrotron-soleil.fr" target="_blank">http://www.synchrotron-soleil.fr</a></span><br data-mce-bogus="1"></div>
          </div>
        </div>
      </blockquote>
    </blockquote><br></div></div></body></html>