From c2f3de22892e838fa8192c88a64ebb8f9d5b067e Mon Sep 17 00:00:00 2001 From: Daniel Hilst <392820+dhilst@users.noreply.github.com> Date: Mon, 24 Aug 2026 18:15:41 -0300 Subject: [PATCH] fix(xcat-core): make xCAT work on Ubuntu 26.04 (resolute) Promote bind9 from Recommends to Depends on the xcat and xcatsn metapackages. bind9 is required by makedns, so it must be a hard dependency regardless of the system's APT recommendation policy -- xCAT manages the cluster DNS through makedns/named, which makes a DNS server as essential to a management or a service node as the DHCP backend already declared beside it ("isc-dhcp-server | kea"). As a Recommends it was installed only while that policy asked for it: an Ubuntu 26.04 management node came up with no /usr/sbin/named and makedns failing with "failed to start named". Strip only a trailing third component when deriving the debootstrap suite in the Ubuntu netboot genimage. The previous s/\.\d+$// also removed the minor from a two-part osvers, so an initial release with no point-release ISO -- ubuntu26.04, but equally an initial-release 18.04/20.04/22.04 -- reached debootstrap as a bare major. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com> --- xCAT-server/share/xcat/netboot/ubuntu/genimage | 5 ++++- xCAT/debian/control | 4 ++-- xCATsn/debian/control | 4 ++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/xCAT-server/share/xcat/netboot/ubuntu/genimage b/xCAT-server/share/xcat/netboot/ubuntu/genimage index a825913b4..de9350a4f 100755 --- a/xCAT-server/share/xcat/netboot/ubuntu/genimage +++ b/xCAT-server/share/xcat/netboot/ubuntu/genimage @@ -270,7 +270,10 @@ unless ($onlyinitrd) { my $mirror = (defined $aptmirror[0] && length $aptmirror[0]) ? $aptmirror[0] : 'http://archive.ubuntu.com/ubuntu'; (my $codename = $osver) =~ s/^ubuntu//; - $codename =~ s/\.\d+$//; # 24.04.4 -> 24.04 + # Strip ONLY a trailing third component. A bare s/\.\d+$// also strips the minor from a + # two-part osvers (ubuntu26.04 -> "26"), which misses the %cn map below and reaches + # debootstrap as a bogus suite ("E: No such script: .../debootstrap/scripts/26"). + $codename =~ s/^(\d+\.\d+)\.\d+$/$1/; # 24.04.4 -> 24.04; 26.04 stays 26.04 my %cn = ('24.04' => 'noble', '22.04' => 'jammy', '20.04' => 'focal', '18.04' => 'bionic', '26.04' => 'resolute'); $codename = $cn{$codename} if exists $cn{$codename}; diff --git a/xCAT/debian/control b/xCAT/debian/control index 8a50d3941..742ea46c8 100644 --- a/xCAT/debian/control +++ b/xCAT/debian/control @@ -9,8 +9,8 @@ Homepage: https://xcat.org/ Package: xcat Architecture: amd64 ppc64el -Depends: ${perl:Depends}, goconserver(>= 0.3.3-snap000000000000), xcat-server (>= 2.13-snap000000000000), xcat-client (>= 2.13-snap000000000000), libdbd-sqlite3-perl, isc-dhcp-server | kea, apache2, nfs-kernel-server, libxml-parser-perl, rsync, tftpd-hpa, libnet-telnet-perl, xcat-genesis-scripts-amd64 (>= 2.13-snap000000000000) -Recommends: bind9, net-tools, nmap, kea, tftp-hpa, ipmitool-xcat (>= 1.8.17-1), syslinux[any-amd64], libsys-virt-perl, syslinux-xcat, xnba-undi, elilo-xcat, xcat-buildkit (>= 2.13-snap000000000000), xcat-probe (>= 2.13-snap000000000000) +Depends: ${perl:Depends}, goconserver(>= 0.3.3-snap000000000000), xcat-server (>= 2.13-snap000000000000), xcat-client (>= 2.13-snap000000000000), libdbd-sqlite3-perl, isc-dhcp-server | kea, bind9, apache2, nfs-kernel-server, libxml-parser-perl, rsync, tftpd-hpa, libnet-telnet-perl, xcat-genesis-scripts-amd64 (>= 2.13-snap000000000000) +Recommends: net-tools, nmap, kea, tftp-hpa, ipmitool-xcat (>= 1.8.17-1), syslinux[any-amd64], libsys-virt-perl, syslinux-xcat, xnba-undi, elilo-xcat, xcat-buildkit (>= 2.13-snap000000000000), xcat-probe (>= 2.13-snap000000000000) Suggests: yaboot-xcat Description: Metapackage for a common, default xCAT setup xCAT is Extreme Cluster/Cloud Administration Toolkit. xCAT offers complete diff --git a/xCATsn/debian/control b/xCATsn/debian/control index 3a295e28b..9f841dded 100644 --- a/xCATsn/debian/control +++ b/xCATsn/debian/control @@ -8,8 +8,8 @@ Homepage: https://xcat.org/ Package: xcatsn Architecture: amd64 ppc64el -Depends: ${perl:Depends}, goconserver (>=0.3.3-snap000000000000), xcat-server (>= 2.13-snap000000000000), xcat-client (>= 2.13-snap000000000000), libdbd-sqlite3-perl, libxml-parser-perl, tftpd-hpa, libnet-telnet-perl, isc-dhcp-server | kea, apache2, nfs-kernel-server, xcat-genesis-scripts-amd64 (>= 2.13-snap000000000000) -Recommends: bind9, net-tools, nmap, kea, tftp-hpa, ipmitool-xcat (>= 1.8.17-1), syslinux[any-amd64], libsys-virt-perl, syslinux-xcat, xnba-undi, elilo-xcat, xcat-buildkit (>= 2.13-snap000000000000), xcat-probe (>= 2.13-snap000000000000) +Depends: ${perl:Depends}, goconserver (>=0.3.3-snap000000000000), xcat-server (>= 2.13-snap000000000000), xcat-client (>= 2.13-snap000000000000), libdbd-sqlite3-perl, libxml-parser-perl, tftpd-hpa, libnet-telnet-perl, isc-dhcp-server | kea, bind9, apache2, nfs-kernel-server, xcat-genesis-scripts-amd64 (>= 2.13-snap000000000000) +Recommends: net-tools, nmap, kea, tftp-hpa, ipmitool-xcat (>= 1.8.17-1), syslinux[any-amd64], libsys-virt-perl, syslinux-xcat, xnba-undi, elilo-xcat, xcat-buildkit (>= 2.13-snap000000000000), xcat-probe (>= 2.13-snap000000000000) Suggests: yaboot-xcat Description: Metapackage for a common, default xCAT service node setup xCATsn is a service node management package intended for at-scale