<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Super. Faites-moi un ping quand je pourrai faire le nouveau
      paquet (et pensez à merger mon patch ;-)</p>
    <p>Roland.<br>
    </p>
    <div class="moz-cite-prefix">Le 22/04/2022 à 11:39, Emmanuel FARHI a
      écrit :<br>
    </div>
    <blockquote type="cite"
      cite="mid:fe38019d-fba0-86a7-b4eb-af53a3d02c50@synchrotron-soleil.fr">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Bonjour Roland,</p>
      <p>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.</p>
      <p>Encore merci !</p>
      <p>Emmanuel.<br>
      </p>
      <div class="moz-cite-prefix">Le 20/04/2022 à 15:11, Roland Mas a
        écrit :<br>
      </div>
      <blockquote type="cite"
        cite="mid:9815e085-16b1-8cb9-426c-a9ba15eac951@gnurandal.com">
        <meta http-equiv="Content-Type" content="text/html;
          charset=UTF-8">
        <p>Bonjour,</p>
        <p>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 » ;-)</p>
        <p>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)<br>
        </p>
        <p>Roland.<br>
        </p>
        <div class="moz-cite-prefix">Le 20/04/2022 à 10:22, FARHI
          Emmanuel a écrit :<br>
        </div>
        <blockquote type="cite"
cite="mid:906423720.16459969.1650442934882.JavaMail.zimbra@synchrotron-soleil.fr">
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          <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" <a
                class="moz-txt-link-rfc2396E"
                href="mailto:roland.mas@gnurandal.com"
                moz-do-not-send="true"><roland.mas@gnurandal.com></a><br>
              <b>À: </b>"FARHI Emmanuel" <a
                class="moz-txt-link-rfc2396E"
                href="mailto:emmanuel.farhi@synchrotron-soleil.fr"
                moz-do-not-send="true"><emmanuel.farhi@synchrotron-soleil.fr></a><br>
              <b>Cc: </b>"PICCA Frederic-Emmanuel" <a
                class="moz-txt-link-rfc2396E"
                href="mailto:frederic-emmanuel.picca@synchrotron-soleil.fr"
                moz-do-not-send="true"><frederic-emmanuel.picca@synchrotron-soleil.fr></a><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" moz-do-not-send="true"><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" moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">http://www.synchrotron-soleil.fr</a></span><br
                          data-mce-bogus="1">
                      </div>
                    </div>
                  </div>
                </blockquote>
              </blockquote>
              <br>
            </div>
          </div>
        </blockquote>
      </blockquote>
      <div class="moz-signature">-- <br>
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <title>signature</title>
        <div style="font-family: arial, helvetica, sans-serif;
          font-size: 12pt; color: rgb(0, 0, 0);">
          <meta http-equiv="content-type" content="text/html;
            charset=UTF-8">
          <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 : <span
                  class="Object" role="link"
                  id="OBJ_PREFIX_DWT373_com_zimbra_phone"><a
                    href="callto:+33%20%281%29%2069%2035%2096%2004"
                    onclick="window.top.Com_Zimbra_Phone.unsetOnbeforeunload()"
                    moz-do-not-send="true">+33 (1) 69 35 96 04</a></span></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>  <span
                  class="Object" role="link"
                  id="OBJ_PREFIX_DWT374_com_zimbra_url"><a
                    target="_blank"
                    href="http://www.synchrotron-soleil.fr"
                    class="moz-txt-link-freetext" moz-do-not-send="true">http://www.synchrotron-soleil.fr</a></span></span></div>
          </div>
        </div>
      </div>
    </blockquote>
  </body>
</html>