2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-11-14 12:58:09 +00:00
Clone
1
XCAT_2.20_Release_Notes
Daniel Hilst edited this page 2026-11-13 16:07:54 -03:00

xCAT 2.20

xCAT 2.20 adds IPv6-only provisioning, openEuler LTS, openSUSE Leap 15.6 and SELinux on the management node. x86_64 nodes can now boot with the upstream iPXE loader and UEFI Secure Boot, and stateless root images can be distributed over UFTP multicast.

IPv6-only provisioning

xCAT can provision nodes over an IPv6-only provisioning network. The nodes need no IPv4 address.

  • Boot loaders: grub2 and iPXE. x86_64 nodes with iPXE boot with UEFI Secure Boot on.
  • DHCPv6: makedhcp reserves the IPv6 address of each node for its DHCPv6 client identifier (DUID). The new configdhcpv6duid postscript keeps the same DUID on the installed node.
  • Node discovery over IPv6 uses the OpenEmbedded Genesis image. Genesis sends the same DUID as the node firmware, so one reservation serves the node from discovery to the installed system.
  • BMCs: Genesis can give a BMC a static IPv6 address.

See "IPv6 provisioning" in the documentation, and #7998.

openEuler

openEuler 20.03 LTS SP4, 22.03 LTS SP4 and 24.03 LTS SP4 are supported on x86_64 for the management node, installed and diskless service nodes, and stateful and stateless compute nodes. openEuler 24.03 LTS SP4 is also supported on riscv64, for stateful and stateless compute nodes only.

openEuler has its own xcat-core and xcat-dep repositories for each release and architecture. openEuler ships no legacy Genesis image: node discovery uses the OpenEmbedded Genesis image.

  • #7864 openEuler LTS management, service and compute nodes
  • #8013 openEuler riscv64 compute nodes
  • #7894 an openEuler node reinstalls for ever instead of booting
  • #7892 xcattest runs no test case on an openEuler management node

openSUSE Leap

The openSUSE packages are built for openSUSE Leap 15.6 and openSUSE Leap 42.3. They are published for x86_64 in a new repos/sles tree.

  • openSUSE Leap 15.6 x86_64 is tested end to end: management node, stateful and stateless compute nodes.
  • openSUSE Leap 42.3 support is preliminary. Its packages are published. Full openSUSE Leap 42.3 support is expected in xCAT 2.21.

SELinux

SELinux in enforcing mode is supported on the management node only. The new xCAT-selinux package carries the policy. xcatd and the xCAT clients run in the xcat_t domain, and genimage runs in a domain of its own.

In this release the xcat_t domain is permissive. The management node can run SELinux enforcing globally, and xCAT works as before, because SELinux only logs the denials in xcat_t. A later release will make xcat_t enforcing. See #7908.

Netboot

  • #7885 boot x86 nodes with the upstream iPXE loader (netboot=ipxe). New x86 nodes and discovered x86 nodes get netboot=ipxe.
  • #7973 boot a UEFI node with Secure Boot on, through a signed shim
  • #7962 distribute stateless root images over UFTP multicast, on EL, SLES and Ubuntu
  • #7942 check the root image against its SHA-256 checksum. packimage publishes the checksum
  • #8008 keep EL10 diskless nodes from DHCP on every port
  • #8009 drop the dhclient and ifcfg handoff from EL10 initrds
  • #8001 give riscv64 images the Intel 700 and 800 series drivers

aarch64 (preliminary)

aarch64 support is preliminary. It is not in the support matrix of this release. Full aarch64 support is expected in xCAT 2.21. The EL 10 aarch64 packages are published in repos/yum/2.20/xcat-core and repos/yum/2.20/xcat-dep/rh10/aarch64.

  • #7903 management-node support for aarch64 on EL 10
  • #7912 mkvm builds an aarch64 node as an x86_64 domain
  • #7980 give aarch64 nodes a boot file name ending in .efi

Other new capability

  • #7594 install on FIPS-enabled systems
  • #7833 remove the legacy xCAT-genesis-builder

Fixes

  • #7909 a node with Secure Boot on cannot load the kernel
  • #7888 an EL service node cannot install xCATsn
  • #7889 an Ubuntu service node never installs, and never serves its compute node
  • #7891 makedhcp -n fails on a new Kea management node before makedns -n
  • #7896 Kea node class sync dies without the noderes or mac table
  • #7993 getpostscript serves no node when the client reverse lookup is empty
  • #7898 a nicextraparams key never reaches an ifcfg NIC profile
  • #7930 packimage replaces the root image archive only after a complete pack
  • #7938 packimage refuses an image directory that the shell would split
  • #7940, #7944, #7945, #7948 imgexport and imgimport fixes
  • #7943, #7947, #7949 table fixes: DB worker exceptions, cache refresh, tabrestore and chtab -d
  • #7946, #7950 kit lock and RHEL release comparison
  • #8000, #8012 IPMI SDR reads
  • #8002, #8011 go-xcat installs from apt without apt-key
  • #8004 apply partitionfile entries on Subiquity installs
  • #8005 keep the riscv64 boot entries of other disks
  • #8007 stop nodeset when a template has no root password
  • #8014 run the SELinux relabel after the EL post scripts
  • #8015 leave the USB NIC of the BMC down on installed EL nodes
  • #8021 genimage use_host_resolver dies on an undefined subroutine

Removed and changed

  • The legacy xCAT-genesis-builder package is removed (#7833).

Installation

The 2.20 repositories are under repos/yum/2.20, repos/sles/2.20 and repos/apt/2.20. Replace rh10 and x86_64 with the release and architecture of the management node.

EL (RHEL, AlmaLinux, Rocky 8, 9 and 10)

cd /etc/yum.repos.d
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-core/xcat-core.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/rh10/x86_64/xcat-dep.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/common/xcat-dep-common.repo
dnf clean all
dnf makecache
dnf install -y xCAT

xcat-dep-common holds the OpenEmbedded Genesis images. Without it, dnf installs xCAT without them and prints no error.

The xCAT-release package configures the latest channel, not 2.20.

openEuler 20.03 LTS SP4

cd /etc/yum.repos.d
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-core/openeuler20.03sp4/x86_64/xcat-core.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/openeuler20.03sp4/x86_64/xcat-dep.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/common/xcat-dep-common.repo
dnf install -y xCAT

openEuler 22.03 LTS SP4

cd /etc/yum.repos.d
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-core/openeuler22.03sp4/x86_64/xcat-core.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/openeuler22.03sp4/x86_64/xcat-dep.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/common/xcat-dep-common.repo
dnf install -y xCAT

openEuler 24.03 LTS SP4

cd /etc/yum.repos.d
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-core/openeuler24.03sp4/x86_64/xcat-core.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/openeuler24.03sp4/x86_64/xcat-dep.repo
curl -fsSO https://xcat.org/files/xcat/repos/yum/2.20/xcat-dep/common/xcat-dep-common.repo
dnf install -y xCAT

openSUSE Leap 15.6 and SLES 15

zypper addrepo https://xcat.org/files/xcat/repos/sles/2.20/xcat-core/xcat-core.repo
zypper addrepo https://xcat.org/files/xcat/repos/sles/2.20/xcat-dep/sles15/x86_64/xcat-dep.repo
zypper --gpg-auto-import-keys refresh
zypper install xCAT

Ubuntu (22.04, 24.04 and 26.04)

The suites are jammy, noble and resolute, each with the main component, for amd64, ppc64el and riscv64.

curl -fsSL https://xcat.org/files/xcat/repos/apt/2.20/xcat-core/apt.key \
  | gpg --dearmor -o /usr/share/keyrings/xcat-core.gpg
curl -fsSL https://xcat.org/files/xcat/repos/apt/2.20/xcat-dep/apt.key \
  | gpg --dearmor -o /usr/share/keyrings/xcat-dep.gpg
codename=$(. /etc/os-release && echo "$VERSION_CODENAME")
cat > /etc/apt/sources.list.d/xcat.list <<EOF
deb [signed-by=/usr/share/keyrings/xcat-core.gpg] https://xcat.org/files/xcat/repos/apt/2.20/xcat-core $codename main
deb [signed-by=/usr/share/keyrings/xcat-dep.gpg] https://xcat.org/files/xcat/repos/apt/2.20/xcat-dep $codename main
EOF
apt-get update
apt-get install -y xcat

Offline tarball bundles

Core:

Dependencies:

An offline install needs a core bundle and a dependency bundle. Each bundle unpacks to a directory with mklocalrepo.sh, which points the package manager at the unpacked tree.

Source

The signed tag and the GitHub source archives are on the xCAT 2.20.0 release page.

The complete change set is the 2.19.2...2.20.0 comparison.

Documentation

Complete documentation is hosted at https://xcat-docs.readthedocs.io/.