<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <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()">+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">http://www.synchrotron-soleil.fr</a></span></span></div>
        </div>
      </div>
    </div>
  </body>
</html>