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

    New guest tools ISO for Linux and FreeBSD. Can you help with the tests?

    Scheduled Pinned Locked Moved Development
    62 Posts 14 Posters 29.9k Views 6 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.
    • theAeonT Offline
      theAeon
      last edited by theAeon

      Seems the SUSE Leap 15 assumes the ability to run SysVinit scripts but as of 15.3 (and tumbleweed) insserv-compat is not included and only systemd scripts are supported. It seems there's already a functional systemd script used on RHEL/Fedora, so I have to imagine this is a simple fix of the install.sh.

      EDIT: did some pull reqs-should fix MicroOS identification at the least. Could probably handle Tumbleweed the same way. Tried my hand at some systemd rpms too, but god knows if they work.

      1 Reply Last reply Reply Quote 0
      • stormiS Offline
        stormi Vates πŸͺ XCP-ng Team
        last edited by stormi

        Thanks. I'll look at your PRs.

        I'm all for adding the ability to extract distro data from /etc/os-release (see my issue there: https://github.com/xenserver/xe-guest-utilities/issues/108) so I'll likely backport the commit that was contributed upstream. This won't change install.sh (you'd still need to use the -m and -d) but it should make the service able to start and report OS and version in many additional distros.

        For systemd vs sysvinit we need either to create twice more DEBs and RPMs and make install.sh able to decide on which to use depending on the distro, or include both kinds of service files in the packages and use post-install scripts to decide which to enable.

        stormi created this issue in xenserver/xe-guest-utilities

        closed Use `/etc/os-release` for recent distros #108

        theAeonT T 2 Replies Last reply Reply Quote 1
        • theAeonT Offline
          theAeon @stormi
          last edited by theAeon

          @stormi Fun fact with that one, I actually merged #108 (pr #116) in with one of my two PRs. No backporting needed, really, it just goes right at the end of the detection logic.

          The biggest issue with the systemd file as it stands is that it has directories pointing to the ones used on FCOS rather than /usr/sbin. Split that off in the other PR.

          1 Reply Last reply Reply Quote 0
          • T Offline
            thomas0046 @stormi
            last edited by

            @stormi Hi Stormi, firstly, thx for all good work U guys are doing ! And I have problem, that Im not able to get IP address info from my Rocky Linux 8.4(I have only one NIC conencted eth0).
            When Im using newest guest tools from EPEL repo (xe-guest-utilities-latest version 7.21.0.1.el8), those tools cant be started at all.
            When Im using newest guest tools from xcp-ng-testing repo(ISO:guest-tools-8.2.0-9.xcpng8.2, tools version 7.20.0-9) as you suggested in some previous post, those tools works, I can even get correct information about OS release, and virtualization state is reporting as "Optimized(version 7.20 installed)", but in network tab, no guest IP address is reported (unknown).

            What is strange is that I had RC version of Rocky Linux 8.3 laying around from testing in the past, so I tried to install guest tools from my platform (Citrix 7.0), it is able to report IP address correctly.

            That leads to me to think, that somehow Rocky Linux 8.4 isnt fully supported yet ?
            If you need more info(logs/screens), please let my know, thx

            stormiS 1 Reply Last reply Reply Quote 0
            • stormiS Offline
              stormi Vates πŸͺ XCP-ng Team @thomas0046
              last edited by

              @thomas0046 @Darkbeldin tried to reproduce, but the IP address is correctly reported in Xen Orchestra with Rocky 8.4 and the guest tools from XCP-ng (btw you don't need to pull the guest tools from the testing repo now, as they have been pushed as a regular update).

              1 Reply Last reply Reply Quote 0
              • stormiS Offline
                stormi Vates πŸͺ XCP-ng Team
                last edited by stormi

                I realize I haven't announced it on this thread (I thought I had) : the guest tools ISO that was tested in this thread have been released as an update to XCP-ng.

                See https://xcp-ng.org/blog/2021/06/28/summer-security-and-bugfix-updates/

                You can still provide feedback, of course, but you don't need to try to pull packages from the testing repository for now.

                1 Reply Last reply Reply Quote 0
                • P Offline
                  Pierre Briec
                  last edited by

                  Hi @stormi ,

                  I have an Ipfire fresh VM which is not detected by the installer. How can I add support for this distro which seems to be LFS (linux from scratch) based.
                  I would like to have the guest-tools installed on it.
                  Can you help me please or tell me how can i add it manually?
                  I can provide all information you want.

                  thanks in advance
                  Pierre

                  1 Reply Last reply Reply Quote 0
                  • stormiS Offline
                    stormi Vates πŸͺ XCP-ng Team
                    last edited by

                    Hi @Pierre-Briec,

                    If Ipfire is based on LFS, I suppose there's no RPM nor DEB package management. In this case you can use the .tgz tarball and install it manually, and make sure to install enable the xe-linux-distribution service (using the provided initscript or the systemd unit). But maybe there's a way to install a RPM or a DEB package through some compatibility tool, in which case you may try them.

                    You may also have to tweak the xe-linux-distribution file to make it recognize your distro. If it has a /etc/os-release file, then future versions of xe-linux-distribution, not released yet, will recognize it automatically.

                    Ideally, it would be nice to work towards pushing the tools directly in the distro, so that you could install them from their repositories when needed. We can provide some help if a packager gets it touch with us or if you want to try to contribute them yourself.

                    P 1 Reply Last reply Reply Quote 0
                    • P Offline
                      Pierre Briec @stormi
                      last edited by

                      Hi @stormi
                      Thanks for your answer

                      Hi @Pierre-Briec,

                      If Ipfire is based on LFS, I suppose there's no RPM nor DEB package management. In this case you can use the .tgz tarball and install it manually, and make sure to install enable the xe-linux-distribution service (using the provided initscript or the systemd unit). But maybe there's a way to install a RPM or a DEB package through some compatibility tool, in which case you may try them.

                      That's true. There is only a package management pakfire for the addons. I will look at the tgz if i can install it.
                      Ipfire is using SysVinit script. I'm not very familiar with that and if someone can help me with that.

                      You may also have to tweak the xe-linux-distribution file to make it recognize your distro. If it has a /etc/os-release file, then future versions of xe-linux-distribution, not released yet, will recognize it automatically.

                      I can provide this file /etc/os-release

                      NAME="IPFire"
                      VERSION="2.27"
                      ID=ipfire
                      VERSION_ID=2
                      PRETTY_NAME="IPFire 2.27 (x86_64) - core160"
                      ANSI_COLOR="0:31"
                      

                      hope it helps

                      Ideally, it would be nice to work towards pushing the tools directly in the distro, so that you could install them from their repositories when needed. We can provide some help if a packager gets it touch with us or if you want to try to contribute them yourself.

                      The IPFire is a german project so it's not easy for me to communicate with the team. I can make tests and even provide a remote access to a VM test through XO if need.

                      thanks
                      Pierre

                      1 Reply Last reply Reply Quote 0
                      • P Offline
                        Pierre Briec
                        last edited by

                        Hi @stormi

                        I've tried to modify the xe-linux-distribution file but i definitly don't have the skills to modify it. I don't understand the sed commands to identify
                        Can someone help me with that?

                        thanks in advance
                        Pierre

                        stormiS 1 Reply Last reply Reply Quote 0
                        • stormiS Offline
                          stormi Vates πŸͺ XCP-ng Team @Pierre Briec
                          last edited by

                          @pierre-briec You may try this version of the script: https://raw.githubusercontent.com/xenserver/xe-guest-utilities/master/mk/xe-linux-distribution

                          P 1 Reply Last reply Reply Quote 0
                          • P Offline
                            Pierre Briec @stormi
                            last edited by Pierre Briec

                            @stormi
                            Thanks
                            Now, the OS seems to be detected
                            Here is the content of /var/cache/xe-linux-distribution

                            [root@ipfire-test ~]# cat /var/cache/xe-linux-distribution
                            os_distro="ipfire"
                            os_majorver="2"
                            os_minorver="unknown"
                            os_uname="5.10.55-ipfire"
                            os_name="IPFire 2.27 (x86_64) - core160"
                            [root@ipfire-test ~]#
                            

                            I still don't know why xcp-center doesn't detect the agent management and if it would work as expected

                            alt text
                            alt text

                            I also change the xe-linux-distribution in /etc/init.d because the function action is not available in ipfire. I don't know what is the best way.
                            Is there anything to change?

                            thanks
                            Pierre

                            1 Reply Last reply Reply Quote 0
                            • stormiS Offline
                              stormi Vates πŸͺ XCP-ng Team
                              last edited by

                              I think XCP-ng Center doesn't consider that the agent is working correctly if it doesn't report the IP address to the host.

                              P 1 Reply Last reply Reply Quote 0
                              • P Offline
                                Pierre Briec @stormi
                                last edited by

                                @stormi

                                So i've made a mistake? the VM has an IPv4 address in local network but no gateway yet

                                1 Reply Last reply Reply Quote 0
                                • stormiS Offline
                                  stormi Vates πŸͺ XCP-ng Team
                                  last edited by

                                  I can't say whether there's an issue with the way you run the agent (xe-daemon) or in the agent itself. Maybe the way it collects the IP addresses is not compatible with how ipfire handles networking.

                                  P 1 Reply Last reply Reply Quote 0
                                  • P Offline
                                    Pierre Briec @stormi
                                    last edited by

                                    @stormi

                                    yes, they are renaming the network interfaces (like red0, green0, blue0) and perhaps it's the problem.
                                    So the agent should work as expected in PVHVM ? My previous VM it was only in PV.
                                    thanks for your answer

                                    A 1 Reply Last reply Reply Quote 0
                                    • stormiS Offline
                                      stormi Vates πŸͺ XCP-ng Team
                                      last edited by

                                      Yes, the agent runs well in HVM VMs. Actually there are almost no reasons why you should use a PV VM nowadays.

                                      P 1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        Pierre Briec @stormi
                                        last edited by

                                        @stormi
                                        As Xcp-center reports that agent is not installed, i was afraid that it wouldn't work as expected.
                                        I don't want to have low performances on that VM which will be the internet gateway.

                                        1 Reply Last reply Reply Quote 0
                                        • stormiS Offline
                                          stormi Vates πŸͺ XCP-ng Team
                                          last edited by stormi

                                          Actually, on any recent enough Linux system (ie not many years old) , the PV drivers are directly included in the kernel. Unless, maybe, a very specific distro decides that they don't want Xen support in their kernel.

                                          So the tools you install on the VMs are merely an agent to make the VM more cooperative with the hypervisor, but they don't affect performance.

                                          The situation is different on Windows systems where you need to install PV drivers to achieve better performance.

                                          1 Reply Last reply Reply Quote 1
                                          • stormiS stormi forked this topic on
                                          • A Offline
                                            alfh @Pierre Briec
                                            last edited by

                                            @Pierre-Briec , @stormi

                                            I had a look at getting the xe-guest-utilities working on Ipfire v2 now (core 173, the latest version).

                                            Using a new /usr/sbin/xe-linux-distribution script, like suggested here, allows it to detect the ipfire.
                                            I then manually copied the binaries and scripts from the linux tar file, into the folders in Ipfire, since the install script did not seem to handle Ipfire properly.

                                            When starting the daemon using /etc/init.d/xe-linux-distribution, the next problem was that the "action" function does not exist in the /etc/init.d/functions file in Ipfire.
                                            So I just edited the script, replacing the "else" with an "fi" in the if testing where the functions file is sources, so that the locally defined action method is used.
                                            Then the agent started fine.

                                            Then I also saw the issue of the IP address not being reported.
                                            In my setup, there are two reasons for this. One is that Ipfire uses "red0", "green0", "blue0" etc as interface names, which the xe-guest-utilities will not consider.
                                            The other reason is that I do PCI passthrough of 3 network cards to the Ipfire, and hence does not use the "vif" interface/network that XCP-ng makes available to the Ipfire. Althought the "green0" is really on the same network as the "vif" in my setup.

                                            This was using the 7.30 tar file from the XCP ISO, I think.
                                            I then cloned the 7.33 / master version of xe-guest-utilities from github, and used that thereafter.

                                            I manually changed and built the xe-guest-utilities, adding "red", "green", "blue" to the list of interface prefixes that got considered, but it did not help.
                                            I suspect the reason is that these interfaces does not have a /sys/class/net/eth0/device/nodename entry, which contains a reference to the "vif" that XCP-ng knows about, as I understand it.
                                            So
                                            /sys/class/net/eth0/device/nodename exists, but the eth0 is not assigned any IP address, since it is not used by IPfire.
                                            While there is no /sys/class/net/green0/device/nodename entry.

                                            I am not sure who is "creating" this "nodename" entry, but I suspect is it Xen.
                                            And I suspect it is missing, since the green0 interface has no relationsship with the dom0 really.

                                            But then I also got more questions around what is actually meant to be displayed of "network" info in the XOA web UI. Is it only the network between dom0 and domU ? Or ideally all networks defined on domU ? (i.e. red0 and blue0 and orange0 ) ?

                                            And I also think I spotted a bug on the "Stats" page of XOA, since under "Disk throughput", it seems like always "xvda" and "xvdd" is displayed, even if the host only has one disk, "xvda". But that I should report as a bug, if I do not find it as already reported / known.

                                            While playing with this, I also noticed that the management agent version was not properly displayed, i.e. not at all. And this seems to be caused by the the version constants not being replaced while building the daemon.
                                            I am not a go build expert, so I'll investigate it a bit more. But it seems like I'm not the only one with that issue, because the same problem seems to exist with the xe-guest-utilities that are part of Alpine Linux 3.17 distribution.

                                            I do not think that there are that many running Ipfire on XCP-ng/Xen. I've been briefly involved in some pull requests against Ipfire, so I might look at making one for getting the xe-guest-utilities into Ipfire itself, but since the use is not high, I have a doubt it makes much sense.

                                            Thanks for a great tool in XCP-ng, I enjoy using it in my home setup.
                                            Regards
                                            Alf HΓΈgemark

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