New guest tools ISO for Linux and FreeBSD. Can you help with the tests?
-
I didn't get feedback but I have hopes for the next one:
xcp-ng-pv-tools-8.2.0-6.xcpng8.2
adds support for two new CentOS clones: Almalinux and Rocky Linux.Still interested in feedback regarding FreePBX though.
And about tests for regressions.
Please refer to first post for installation instructions.
-
Saw FreeBSD and got excited......
./install.sh Detected `FreeBSD 12.2-RELEASE-p6' (FreeBSD version 12). xe-guest-utilities-6.2.0_3 already installed No updates required to this Virtual Machine.
At least the script now works.
-
@jmccoy555 I just used it on an AlmaLinux OS 8.3 and it installed great.
/mnt/cdrom/Linux/install.sh Detected `AlmaLinux release 8.3 (Purple Manul)' (almalinux version 8). The following changes will be made to this Virtual Machine: * packages to be installed/upgraded: - xe-guest-utilities-7.20.0-7.x86_64.rpm - xe-guest-utilities-xenstore-7.20.0-7.x86_64.rpm Continue? [y/n] y Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:xe-guest-utilities-xenstore-7.20.################################# [ 50%] 2:xe-guest-utilities-7.20.0-7 ################################# [100%] You should now reboot this Virtual Machine.
-
@michael2z I neglected to mention that there's a newer guest utilities in the epel repository (xe-guest-utilities-latest-7.21.0-1.el8.x86_64).
-
@stormi Did some regression testing with fresh installs of
- Debian 10.7
- Ubuntu 20.04
- Centos 8
- FreePBX 15 (based on Centos 7.6 and testing only on request)
and checked IP, Management agent, shutdown/reboot, live migration with
a. no guest tools (fresh install)
b. current guest tools (from XCP-ng 8.2.0)
c. testing guest tools (fromyum update xcp-ng-pv-tools --enablerepo=xcp-ng-testing
)So 1a is fresh install of Debian 10 without guest tools, 4b is FreeBX install with current guest tools installed, 4b-c is FreePBX with testing guest tool installed over current guest tools and 3a-c is CentOS with testing guest tools installed over a fresh install without guest tools.
Fresh install
1-4a worked as expected.From fresh install to current guest tool
1a-b, 2a-b installed withbash /mnt/Linux/install.sh
3a-b only installed withbash /mnt/Linux/install.sh -d centos -m 8
4a-b only installed withbash /mnt/Linux/install.sh -d centos -m 7
1a-b, 2a-b showed Management Agent 8.1.50-1 with icon
3a-b, 4a-b showed Management Agent 8.1.50-1 but no iconFrom current guest tool to testing guest tool
After installing the new guest tools iso on both hosts
1b-c, 2b-c, 3b-c installed withbash /mnt/Linux/install.sh
, so CentOS 8 is now autodetected - nice
4b-c only installed withbash /mnt/Linux/install.sh -d centos -m 7
1b-c, 2b-c, 3b-c showed Management Agent 7.20.0.7 with icon
4b-c showed Management Agent 7.20.0.7 but still no iconFrom fresh install to testing guest tool
1a-c, 2a-c, 3a-c and 4a-c give the same results as b-c.Apart from the change in Management Agent version, CentOS now being autodetected, and FreePBX not beeing autodetected I had no issues with the new guest tools.
Edit: Typos and version information for FreePBX, where
cat /etc/os-release
on 4a returnsNAME="Sangoma Linux" VERSION="7 (Core)" ID="sangoma" ID_LIKE="centos rhel fedora" VERSION_ID="7" PRETTY_NAME="Sangoma Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:sangoma:sng:7::server:utf8" HOME_URL="https://distro.sangoma.net/" BUG_REPORT_URL="https://issues.sangoma.net/" CENTOS_MANTISBT_PROJECT="Sangoma-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="sangoma" REDHAT_SUPPORT_PRODUCT_VERSION="7"
-
@michael2z Yes, I get 7.20.0-7 on Linux (Debian 10).
-
@michael2z said in New guest tools ISO for Linux and FreeBSD. Can you help with the tests?:
@michael2z I neglected to mention that there's a newer guest utilities in the epel repository (xe-guest-utilities-latest-7.21.0-1.el8.x86_64).
Newer... Maybe. Ours is version 7.20.0 + various patches. 7.20.1 is not that different and may even lack support for Almalinux or Rocky Linux, depending on whether @cheese backported their support (that was added post 7.20.1) yet or not. Support can be considered full only once the installed tools are able to detect what distro they run on.
However, it's good to remind people that this package exists in EPEL and that you can use it instead of the guest tools ISO. Just don't forget to enable the
xe-linux-distribution
service after installation, as described in the docs: https://xcp-ng.org/docs/guests.html#centos-and-fedora -
@gskger said in New guest tools ISO for Linux and FreeBSD. Can you help with the tests?:
1b-c, 2b-c, 3b-c installed with
bash /mnt/Linux/install.sh
, so CentOS 8 is now autodetected - niceTo be more precise, CentOS 8 > 8.2 is now detected. It worked until 8.2 included then the structure of the release file changed slightly and detection didn't work anymore. By the way I'm more and more convinced that we should use
/etc/os-release
rather than those fragilesed
s on release files. At least for distros recent enough.See https://github.com/xenserver/xe-guest-utilities/issues/108
4b-c only installed with
bash /mnt/Linux/install.sh -d centos -m 7
Thanks for testing that OS although you don't use it. Much appreciated. Can you share the contents of
/etc/centos-release
from that FreePBX 15 system? And the ouput ofbash install.sh
(without any extra options) andxe-linux-distribution
from the testing guest tools? The installer script was supposed to detect the distro and offer the package installation right away.4b-c showed Management Agent 7.20.0.7 but still no icon
The icon is added by Xen Orchestra so they probably don't know about FreePBX, simply. I suppose you can create an enhancement request for that. You can still check that correct information about the OS is displayed in the Advanced tab despite the absence of icon.
Apart from the change in Management Agent version, CentOS now being autodetected, and FreePBX not beeing autodetected I had no issues with the new guest tools.
About those versioning differences, our 7.20.0 is actually newer than Citrix' 8.1.50 (which is the version XCP-ng 8.2 has currently in its guest tools ISO). The reason for that is that one gets to choose the version number arbitrarily when building the tools. Citrix uses the version of Citrix Hypervisor (where 8.1.50 used to mean "the future CH 8.2" when the tools were built) and I chose to use the version of the tools themselves, from the tags in the upstream https://github.com/xenserver/xe-guest-utilities repository.
7.20.0-7
means "tools built from version 7.20.0 + XCP-ng patches, 7th build". Where the higher the build number, the more likely you are to have patches added by us, either backported from ustream or specific to XCP-ng. -
@stormi Sure, no problem. But there is no
/etc/centos-release
, only a/etc/centos-release-upstream
[root@freepbx /]# ls /etc/*release* -la -rw-r--r--. 1 root root 51 Sep 8 2020 /etc/centos-release-upstream -rw-r--r--. 1 root root 423 Sep 8 2020 /etc/os-release lrwxrwxrwx. 1 root root 15 May 14 12:26 /etc/redhat-release -> sangoma-release -rw-r--r--. 1 root root 39 Sep 8 2020 /etc/sangoma-release -rw-r--r--. 1 root root 39 Sep 8 2020 /etc/sangoma-release-upstream lrwxrwxrwx. 1 root root 15 May 14 12:26 /etc/system-release -> sangoma-release -rw-r--r--. 1 root root 34 Sep 8 2020 /etc/system-release-cpe
and
cat /etc/centos-release-upstream
returns[root@freepbx /]# cat /etc/centos-release-upstream Derived from Red Hat Enterprise Linux 7.8 (Source)
Running
install.sh
when the testing guest tool iso is mounted returns[root@freepbx Linux]# bash /mnt/Linux/install.sh Fatal Error: Failed to determine Linux distribution and version.
and
xe-linux-distribution
returns nothing[root@freepbx Linux]# /mnt/Linux/xe-linux-distribution [root@freepbx Linux]#
-
Ok, so depending on the version, they sometimes have
/etc/centos-release
and sometimes not... Can you add this line toxe-linux-distribution
before the existingidentify_sangoma
call and test again? (you'll have to copy the Linux directory from the mounted ISO somewhere else then chmod the file to make it writable)identify_sangoma /etc/sangoma-release && exit 0
-
@stormi Here we go
[root@freepbx Linux]# /tmp/Linux/xe-linux-distribution os_distro="sangoma" os_majorver="7" os_minorver="8" os_uname="3.10.0-1127.19.1.el7.x86_64" os_name="Sangoma Linux release 7.8.2003 (Core) "
-
@gskger Thanks. I'll fix the script and submit a new RPM.
-
@stormi Great! I have snapshots at hand to test FreePBX again with the new testing guest tools iso. No need for testing the other distros again I assume?
-
@gskger Well, in theory I'm perfectly capable of breaking the other distros so better be defensive
-
xcp-ng-pv-tools-8.2.0-8.xcpng8.2
that should fix FreePBX detection for good (I still don't know why from two people with the exact same version of FreePBX, one has/etc/centos-release
and one hasn't...) and hopefully not break anything for other distros... is available in thexcp-ng-testing
repo. -
@stormi Installed the new testing guest tools on my two playlab hosts (
yum update xcp-ng-pv-tools --enablerepo=xcp-ng-testing
) and re-run most of my earlier tests.From fresh install to testing guest tools on FreePBX 15 (4a-c)
[root@freepbx ~]# bash /mnt/Linux/install.sh Detected `Sangoma Linux release 7.8.2003 (Core) ' (sangoma version 7). The following changes will be made to this Virtual Machine: * update arp_notify sysctl. * packages to be installed/upgraded: - xe-guest-utilities-7.20.0-8.x86_64.rpm - xe-guest-utilities-xenstore-7.20.0-8.x86_64.rpm Continue? [y/n] y Preparing... ################################# [100%] Updating / installing... 1:xe-guest-utilities-xenstore-7.20.################################# [ 50%] 2:xe-guest-utilities-7.20.0-8 ################################# [100%] You should now reboot this Virtual Machine.
From current guest tools to testing guest tools on FreePBX 15 (4b-c)
[root@freepbx ~]# bash /mnt/Linux/install.sh Detected `Sangoma Linux release 7.8.2003 (Core) ' (sangoma version 7). The following changes will be made to this Virtual Machine: * packages to be installed/upgraded: - xe-guest-utilities-7.20.0-8.x86_64.rpm - xe-guest-utilities-xenstore-7.20.0-8.x86_64.rpm Continue? [y/n] y Preparing... ################################# [100%] Updating / installing... 1:xe-guest-utilities-xenstore-7.20.################################# [ 33%] 2:xe-guest-utilities-7.20.0-8 ################################# [ 67%] Cleaning up / removing... 3:xe-guest-utilities-7.20.0-1 ################################# [100%] You should now reboot this Virtual Machine.
Managent agent now is
7.20.0-8
, IP is correct and live migration as well as shutdown/reboot worked without an issue.What I found strange is that for 4b-c (FreePBX) and 3b-c (Centos), I have to reboot the VM to make the new management agent show on the VMs general tab.
I can not remember that I had to do that in my last test and it is not necessary for 1b-c (Debian 10) or 2b-c (Ubuntu 20.04). No need to reboot 1a-c, 2a-c, 3a-c and 4a-c since the management agent is shown correctly right away. -
Thanks @gskger. I think the fact that some b-c transitions require a service restart and others don't may be caused by differences in the post-update scripts that are run. Maybe the DEB packages we made restart the service while the RPM ones don't when the tools are updated.
This might already have been the case before, in Citrix tools, or maybe not. I don't think it's a big deal but it's interesting to note that difference. I'll try to have a look if time permits.
If curious, the package definitions are located at https://github.com/xcp-ng-rpms/xcp-ng-pv-tools/tree/master/SOURCES.
debian-*
files for debian, andxe-guest-utilities.spec
. I think that not restarting the service automatically after an update is default behaviour in RPM world. I don't know about debian's position on this. -
@stormi Perfect! Ok for me ! Any upcoming tests on the new guest tools? Otherwise I would try something else with my playlab, loosing the ability to conduct consistent tests .
-
@gskger no upcoming tests on the new guest tools. You can break your lab
-
@stormi Nice! Looking forward to when the new gest tools are available.