New Rust Xen guest tools
-
@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).
-
@AndreS have you followed the entire procedure? You must also run
apt install -f
-
@olivierlambert
No, I am used to stopping when I hit an errorAll three show the new version of the management aganet after
apt install -f
-
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
-
@olivierlambert all seems OK here too on a Debian11.
-
@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!
-
@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. -
Ah interesting Let me ping @yann about this behavior
-
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 useip addr del
-
@yann
I was simply changing the VLAN via the XO interface o the VM while it was running. -
@lawrencesystems do you mean you're changing the network the VIF is connected to? With old and new network both using DHCP maybe?
-
@yann
Correct, changed VIF and each network has DHCP and the VM is set via DHCP. -
@lawrencesystems thanks for those details, I could identify 2 specific issues from this, will fix that for 0.3.0:
-
@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).
-
@Andrew that's planned
-
@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.Hi everyone.
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,
MarcEDIT:
Tested on fully patched XCP-NG 8.2.1 and XenOrchestra from Sources on commit 84650. -
@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.
-
@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.
-
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.
-
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