Repository navigation
XCAT_2.20_Release_Notes
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.
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:
makedhcpreserves the IPv6 address of each node for its DHCPv6 client identifier (DUID). The newconfigdhcpv6duidpostscript 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 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
xcattestruns no test case on an openEuler management node
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 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.
- #7885 boot x86 nodes with the upstream iPXE loader (
netboot=ipxe). New x86 nodes and discovered x86 nodes getnetboot=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.
packimagepublishes 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 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
mkvmbuilds an aarch64 node as an x86_64 domain - #7980 give aarch64 nodes a boot file name ending in
.efi
- #7594 install on FIPS-enabled systems
- #7833 remove the legacy
xCAT-genesis-builder
- #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 -nfails on a new Kea management node beforemakedns -n - #7896 Kea node class sync dies without the
noderesormactable - #7993
getpostscriptserves no node when the client reverse lookup is empty - #7898 a
nicextraparamskey never reaches an ifcfg NIC profile - #7930
packimagereplaces the root image archive only after a complete pack - #7938
packimagerefuses an image directory that the shell would split - #7940, #7944, #7945, #7948
imgexportandimgimportfixes - #7943, #7947, #7949 table fixes: DB worker exceptions, cache refresh,
tabrestoreandchtab -d - #7946, #7950 kit lock and RHEL release comparison
- #8000, #8012 IPMI SDR reads
- #8002, #8011
go-xcatinstalls from apt withoutapt-key - #8004 apply
partitionfileentries on Subiquity installs - #8005 keep the riscv64 boot entries of other disks
- #8007 stop
nodesetwhen 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
genimageuse_host_resolverdies on an undefined subroutine
- The legacy
xCAT-genesis-builderpackage is removed (#7833).
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.
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 xCATxcat-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.
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 xCATcd /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 xCATcd /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 xCATzypper 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 xCATThe 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 xcatCore:
- EL: https://xcat.org/files/xcat/xcat-core/2.20.x_Linux/xcat-core-2.20.0-linux.tar.bz2
- SLES: https://xcat.org/files/xcat/xcat-core/2.20.x_Linux_sles/xcat-core-2.20.0-linux.tar.bz2
- Ubuntu: https://xcat.org/files/xcat/xcat-core/2.20.x_Ubuntu/xcat-core-2.20.0-ubuntu.tar.bz2
Dependencies:
- EL: https://xcat.org/files/xcat/xcat-dep/2.x_Linux/xcat-dep-2.20.0-linux.tar.bz2
- openEuler: https://xcat.org/files/xcat/xcat-dep/2.x_Linux_openeuler/xcat-dep-2.20.0-linux.tar.bz2
- SLES: https://xcat.org/files/xcat/xcat-dep/2.x_Linux_sles/xcat-dep-2.20.0-linux.tar.bz2
- Ubuntu: https://xcat.org/files/xcat/xcat-dep/2.x_Ubuntu/xcat-dep-2.20.0-ubuntu.tar.bz2
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.
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.
Complete documentation is hosted at https://xcat-docs.readthedocs.io/.
- Nov 13, 2026: xCAT 2.20 released.
- Nov 04, 2026: xCAT 2.19.2 released.
- Sep 25, 2026: xCAT 2.19.1 released.
- Sep 18, 2026: xCAT 2.19 released.
- Aug 01, 2026: xCAT 2.18.2 released.
- Jun 22, 2026: xCAT 2.18 released.
- Nov 13, 2024: xCAT 2.17 released.
- Mar 08, 2023: xCAT 2.16.5 released.
- Jun 20, 2022: xCAT 2.16.4 released.
- Nov 17, 2021: xCAT 2.16.3 released.
- May 25, 2021: xCAT 2.16.2 released.
- Nov 06, 2020: xCAT 2.16.1 released.
- Jun 17, 2020: xCAT 2.16 released.
- Mar 06, 2020: xCAT 2.15.1 released.
- Nov 11, 2019: xCAT 2.15 released.
- Mar 29, 2019: xCAT 2.14.6 released.
- Dec 07, 2018: xCAT 2.14.5 released.
- Oct 19, 2018: xCAT 2.14.4 released.
- Aug 24, 2018: xCAT 2.14.3 released.
- Jul 13, 2018: xCAT 2.14.2 released.
- Jun 01, 2018: xCAT 2.14.1 released.
- Apr 20, 2018: xCAT 2.14 released.
- Mar 14, 2018: xCAT 2.13.11 released.
- Jan 26, 2018: xCAT 2.13.10 released.
- Dec 18, 2017: xCAT 2.13.9 released.
- Nov 03, 2017: xCAT 2.13.8 released.
- Sep 22, 2017: xCAT 2.13.7 released.
- Aug 10, 2017: xCAT 2.13.6 released.
- Jun 30, 2017: xCAT 2.13.5 released.
- May 19, 2017: xCAT 2.13.4 released.
- Apr 14, 2017: xCAT 2.13.3 released.
- Feb 24, 2017: xCAT 2.13.2 released.
- Jan 13, 2017: xCAT 2.13.1 released.
- Dec 09, 2016: xCAT 2.13 released.
- Dec 06, 2016: xCAT 2.9.4 (AIX only) released.
- Nov 11, 2016: xCAT 2.12.4 released.
- Sep 30, 2016: xCAT 2.12.3 released.
- Aug 19, 2016: xCAT 2.12.2 released.
- Jul 08, 2016: xCAT 2.12.1 released.
- May 20, 2016: xCAT 2.12 released.
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT OS And Hw Support Matrix
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released. xCAT's 10 year anniversary!
- Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2 can now be purchased!
- June 9, 2008: xCAT breaths life into (at the time) the fastest supercomputer on the planet
- May 30, 2008: xCAT 2.0 for Linux officially released!
- Oct 31, 2007: IBM open sources xCAT 2.0 to allow collaboration among all of the xCAT users.
- Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in IBM developed by Egan Ford. It was quickly adopted by customers and IBM manufacturing sites to rapidly deploy clusters.