Still unfixed in Ubuntu 26.04 LTS (resolute). Reproduced on a fresh
26.04 guest under XCP-ng 8.3, with the archive package installed via
"apt install xe-guest-utilities".

In guest:

    $ grep -E '^(NAME|VERSION)=' /etc/os-release
    NAME="Ubuntu"
    VERSION="26.04 LTS (Resolute Raccoon)"

    $ dpkg-query -W -f='${Package} ${Version}\n' xe-guest-utilities
    xe-guest-utilities 7.20.2-0ubuntu2

    $ ip -br link show
    lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
    enX0             UP             16:2f:f4:cd:ac:6f 
<BROADCAST,MULTICAST,UP,LOWER_UP>

    $ systemctl is-active xe-daemon
    active

    $ sudo xenstore-ls attr
    PVAddons = ""
     BuildVersion = "0"
     Installed = "1"
     MajorVersion = "6"
     MicroVersion = "80"
     MinorVersion = "6"

    $ sudo xenstore-read attr/vif/0/ipv4 ; echo "exit=$?"
    xenstore-read: couldn't read path attr/vif/0/ipv4
    exit=1

On the host (dom0):

    # xe vm-param-get uuid=85c5235b-bd39-e667-3662-1b4109670483 param-
name=networks

    (empty)

Note that attr/PVAddons is populated, so xe-daemon is running and
writing to xenstore without any permission or connectivity problem — the
attr/vif subtree is simply never created. The information therefore
never reaches xapi either, so this is not a display-side issue in Xen
Orchestra.

Root cause. In guestmetric/guestmetric_linux.go, CollectNetworkAddr()
enumerates interfaces from a case-sensitive prefix list:

    vifNamePrefixList := [...]string{"eth", "eno", "ens", "emp", "enx"}
    ...
    prefixPaths, err := filepath.Glob(fmt.Sprintf("/sys/class/net/%s*", prefix))

Xen netfront interfaces are named enX0 (capital X) on Ubuntu 24.04 and
later. filepath.Glob is case-sensitive on Linux, so "enx" does not match
"enX0", the path list comes back empty, and no attr/vif/<id>/ipv4 keys
are written. Memory and distro metrics are collected through a different
code path, which is why those still show up in Xen Orchestra while the
IP addresses stay empty — a symptom that makes this look like a network
problem rather than a packaging one.

Why 26.04 is affected. resolute and stonking ship 7.20.2-0ubuntu2, but
that upload is "No-change mass rebuild for Ubuntu 26.04 (LP: #2132257)";
the source is still upstream 7.20.2 from February 2023. Upstream fixed
this by adding "enX" to the list above (https://github.com/xenserver/xe-
guest-utilities/pull/120), and both xenserver/xe-guest-utilities master
and the xcp-ng fork carry the fix today, but it landed after the 7.20.2
tag, so no Ubuntu release has it.

Would it be possible to either package a newer upstream snapshot, or
carry the one-line change as a distro patch for resolute, with an SRU
for noble? As it stands, the only working option is to install the guest
tools from the XCP-ng guest-tools ISO (7.30.0-12), which bypasses the
archive entirely — which leaves the packaged version effectively
unusable for its stated purpose on every currently supported release.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2143698

Title:
  xe-guest-utilities (7.20.2) fails to report VM IP addresses to Xen
  Orchestra/XCP-ng on Ubuntu 24.04 due to network interface rename (eth*
  → enX*)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xe-guest-utilities/+bug/2143698/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to