XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    New Rust Xen guest tools

    Scheduled Pinned Locked Moved Development
    146 Posts 37 Posters 55.4k Views 33 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A Offline
      AndreS @olivierlambert
      last edited by AndreS

      @olivierlambert said in New Rust Xen guest tools:

      hostnamectl 
         Static hostname: dockerhost
               Icon name: computer-vm
                 Chassis: vm
              Machine ID: a2e7746766144e0ba18cacafdac23680
                 Boot ID: b2bda1e4567c4d148aaf138e1a658fc4
          Virtualization: xen
        Operating System: Debian GNU/Linux 11 (bullseye)
                  Kernel: Linux 5.10.0-26-amd64
            Architecture: x86-64
      
      #dpkg -i xen-guest-agent_0.3.0~rc1_amd64.deb
      dpkg: error: requested operation requires superuser privilege
      andre@dockerhost:~$ sudo dpkg -i xen-guest-agent_0.3.0~rc1_amd64.deb
      [sudo] password for andre: 
      Selecting previously unselected package xen-guest-agent.
      (Reading database ... 83188 files and directories currently installed.)
      Preparing to unpack xen-guest-agent_0.3.0~rc1_amd64.deb ...
      Unpacking xen-guest-agent (0.3.0~rc1) ...
      dpkg: dependency problems prevent configuration of xen-guest-agent:
       xen-guest-agent depends on libxenstore4 | libxenstore3.0; however:
        Package libxenstore4 is not installed.
        Package libxenstore3.0 is not installed.
      
      dpkg: error processing package xen-guest-agent (--install):
       dependency problems - leaving unconfigured
      Errors were encountered while processing:
       xen-guest-agent
      

      Note: originally installed with template for Debian 10


      $ hostnamectl 
       Static hostname: wwwdev
             Icon name: computer-vm
               Chassis: vm 🖴
            Machine ID: 654b85548a1d4f989e862383b6f58314
               Boot ID: 8f7229bb2065499989c05d03b0dc3ca2
        Virtualization: xen
      Operating System: Debian GNU/Linux 12 (bookworm)  
                Kernel: Linux 6.1.0-13-amd64
          Architecture: x86-64
       Hardware Vendor: Xen
        Hardware Model: HVM domU
      Firmware Version: 4.13
      
      $ sudo dpkg -i xen-guest-agent_0.3.0~rc1_amd64.deb 
      Selecting previously unselected package xen-guest-agent.
      (Reading database ... 43212 files and directories currently installed.)
      Preparing to unpack xen-guest-agent_0.3.0~rc1_amd64.deb ...
      Unpacking xen-guest-agent (0.3.0~rc1) ...
      dpkg: dependency problems prevent configuration of xen-guest-agent:
       xen-guest-agent depends on libxenstore4 | libxenstore3.0; however:
        Package libxenstore4 is not installed.
        Package libxenstore3.0 is not installed.
      
      dpkg: error processing package xen-guest-agent (--install):
       dependency problems - leaving unconfigured
      Errors were encountered while processing:
       xen-guest-agent
      

      Originally instaled using the Debian 11 template


      #hostnamectl
       Static hostname: pihole
             Icon name: computer-vm
               Chassis: vm 🖴
            Machine ID: 23ed898244cd45ff8b9107bc98d0c0f8
               Boot ID: 86fb16056cab4ffeb7eddfbdd32a6cac
        Virtualization: xen
      Operating System: Debian GNU/Linux 12 (bookworm)  
                Kernel: Linux 6.1.0-13-amd64
          Architecture: x86-64
       Hardware Vendor: Xen
        Hardware Model: HVM domU
      Firmware Version: 4.13
      
      # dpkg -i xen-guest-agent_0.3.0~rc1_amd64.deb 
      (Reading database ... 35511 files and directories currently installed.)
      Preparing to unpack xen-guest-agent_0.3.0~rc1_amd64.deb ...
      Unpacking xen-guest-agent (0.3.0~rc1) over (0.3.0~rc1) ...
      dpkg: dependency problems prevent configuration of xen-guest-agent:
       xen-guest-agent depends on libxenstore4 | libxenstore3.0; however:
        Package libxenstore4 is not installed.
        Package libxenstore3.0 is not installed.
      
      dpkg: error processing package xen-guest-agent (--install):
       dependency problems - leaving unconfigured
      Errors were encountered while processing:
       xen-guest-agent
      

      Installed a few weeks ago, using the Debian 12 template

      I stopped at this point, let me know if you want more details.

      $ sudo apt upgrade
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      You might want to run 'apt --fix-broken install' to correct these.
      The following packages have unmet dependencies:
       xen-guest-agent : Depends: libxenstore4 but it is not installed or
                                  libxenstore3.0 but it is not installable
      E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
      
      
      1 Reply Last reply Reply Quote 0
      • olivierlambertO Offline
        olivierlambert Vates 🪐 Co-Founder CEO
        last edited by

        @AndreS have you followed the entire procedure? You must also run apt install -f

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          AndreS @olivierlambert
          last edited by

          @olivierlambert
          No, I am used to stopping when I hit an error 🙂

          All three show the new version of the management aganet after

          apt install -f
          
          1 Reply Last reply Reply Quote 2
          • ajpri1998A Offline
            ajpri1998
            last edited by

            Tested with Ubuntu 22.04.4 LTS (Kernel 5.15.0-88-generic). Things are working well. Using XO Community 5fe53. Haven't updated hosts yet to November patches.

            • Management agent detects
            • Networking
              • IP Address detects
              • Can disconnect network
              • Can create network device, IP Populates
            • VM Tasks - From XO
              • Can Pause/Resume
              • Can Suspend/Resume
              • Can Reboot
              • Can Migrate
              • Can Snapshot
            delafD 1 Reply Last reply Reply Quote 1
            • delafD Offline
              delaf @ajpri1998
              last edited by delaf

              @olivierlambert all seems OK here too on a Debian11.

              delafD 1 Reply Last reply Reply Quote 0
              • delafD Offline
                delaf @delaf
                last edited by

                @olivierlambert when changes are made (like IP change in the VM), it is now instantly reported by XO 🙂
                I will be able to go back to my work to integrate a BGP deamon to announce locals IPs to the network (I started last year to work on the xe-deamon but never had the time to finish it, and some months after I saw you blog post about moving to rust for it).

                Thank you!

                itservicesI 1 Reply Last reply Reply Quote 1
                • lawrencesystemsL Offline
                  lawrencesystems Ambassador @olivierlambert
                  last edited by

                  @olivierlambert
                  Install on Debian 12 VM went smooth. Tested on XCP-ng 8.2.1 & using Xen Orchestra, commit 5fe53. When changing networks it updates the IP very fast, but does not clear the previous IP addresses from the other networks. I did confirm they are not showing in the VM. 3a926d58-4f0b-425b-82ac-3b082fa0031f-image.png

                  yannY 1 Reply Last reply Reply Quote 0
                  • olivierlambertO Offline
                    olivierlambert Vates 🪐 Co-Founder CEO
                    last edited by

                    Ah interesting 🙂 Let me ping @yann about this behavior

                    A 1 Reply Last reply Reply Quote 0
                    • yannY Offline
                      yann Vates 🪐 XCP-ng Team @lawrencesystems
                      last edited by

                      Hi @lawrencesystems, thanks for the feedback!

                      How are those IPs added and removed? In my tests I see old IPs always removed, whether I replace an address using ifconfig or whether I use ip addr del

                      lawrencesystemsL 1 Reply Last reply Reply Quote 0
                      • lawrencesystemsL Offline
                        lawrencesystems Ambassador @yann
                        last edited by

                        @yann
                        I was simply changing the VLAN via the XO interface o the VM while it was running.

                        yannY 1 Reply Last reply Reply Quote 0
                        • yannY Offline
                          yann Vates 🪐 XCP-ng Team @lawrencesystems
                          last edited by

                          @lawrencesystems do you mean you're changing the network the VIF is connected to? With old and new network both using DHCP maybe?

                          lawrencesystemsL 1 Reply Last reply Reply Quote 0
                          • lawrencesystemsL Offline
                            lawrencesystems Ambassador @yann
                            last edited by

                            @yann
                            Correct, changed VIF and each network has DHCP and the VM is set via DHCP.

                            yannY 1 Reply Last reply Reply Quote 0
                            • yannY Offline
                              yann Vates 🪐 XCP-ng Team @lawrencesystems
                              last edited by

                              @lawrencesystems thanks for those details, I could identify 2 specific issues from this, will fix that for 0.3.0:

                              • https://gitlab.com/xen-project/xen-guest-agent/-/issues/12
                              • https://gitlab.com/xen-project/xen-guest-agent/-/issues/13
                              1 Reply Last reply Reply Quote 1
                              • A Online
                                Andrew Top contributor @olivierlambert
                                last edited by

                                @olivierlambert I'm running it... It would be nice if you offered a debian compatible repository that I could just add to the apt sources so updates would happen along with other debian updates (like HP tools, node, yarn, etc).

                                yannY 1 Reply Last reply Reply Quote 0
                                • yannY Offline
                                  yann Vates 🪐 XCP-ng Team @Andrew
                                  last edited by

                                  @Andrew that's planned 😉

                                  1 Reply Last reply Reply Quote 3
                                  • itservicesI Offline
                                    itservices @delaf
                                    last edited by itservices

                                    @lawrencesystems said in New Rust Xen guest tools:

                                    @olivierlambert
                                    Install on Debian 12 VM went smooth. Tested on XCP-ng 8.2.1 & using Xen Orchestra, commit 5fe53. When changing networks it updates the IP very fast, but does not clear the previous IP addresses from the other networks. I did confirm they are not showing in the VM. 3a926d58-4f0b-425b-82ac-3b082fa0031f-image.png

                                    Hi everyone.

                                    e9ebd019-8acf-4bb5-95c2-9be728280bff-grafik.png

                                    Issue is still persistent and can be reproduced.

                                    After a reboot the old IPs are not showing up again until you change the network again.

                                    Regards,
                                    Marc

                                    EDIT:
                                    Tested on fully patched XCP-NG 8.2.1 and XenOrchestra from Sources on commit 84650.

                                    yannY 1 Reply Last reply Reply Quote 0
                                    • gskgerG Offline
                                      gskger Top contributor @olivierlambert
                                      last edited by

                                      @olivierlambert Install on different Debian and Ubuntu versions works as decribed by others, so nothing exciting to add (which is good I assume 🤔 ). XCP-ng 8.2.1 fully patched incl. the new security update candidates. XO from third party script with commit a3ea7.

                                      1 Reply Last reply Reply Quote 2
                                      • yannY Offline
                                        yann Vates 🪐 XCP-ng Team @itservices
                                        last edited by

                                        @itservices I'm working on it, though it's not fully ready yet.

                                        Work in progress is available from this merge request. The "Merge request pipeline" block has download links to get a deb, a rpm, or a plain executable directly, for those willing to test.

                                        Current proposed code should handle the "unplug" case just right, but the "replug" case still occasionally does not get the IP back - that part in the work but not yet ready to share.

                                        1 Reply Last reply Reply Quote 0
                                        • ajpri1998A Offline
                                          ajpri1998
                                          last edited by

                                          Out of curiosity, are there any plans to port the new Tools to Windows? I understand that the architecture is different on the Windows side, but do really enjoy the effort so far.

                                          yannY 1 Reply Last reply Reply Quote 0
                                          • olivierlambertO Offline
                                            olivierlambert Vates 🪐 Co-Founder CEO
                                            last edited by

                                            Yes, this is something we'd like to achieve. There's some Rust lib able to deal with WMI, so we should be able to achieve it. The real deal is not the mgmt agent, but PV drivers. On that topic, we also have someone working 100% on this. So expect more news for Windows coming 😉

                                            1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post