2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-21 08:33:20 +00:00
Clone
1
XCAT_2.19_Release_Notes
Vinícius Ferrão edited this page 2026-09-20 14:28:12 -03:00

xCAT 2.19

This release carries two main improvements: New genesis is now built with OpenEmbedded and shipped as packages in a dedicated repository tree with multiple architectures. And the RISC-V Architecture (riscv64) is now supported for both management and compute nodes.

Genesis is built with OpenEmbedded

The network-boot image is no longer assembled from the build host. OpenEmbedded builds it from a pinned recipe, so the image is reproducible and does not inherit the kernel, libraries or locale of whatever machine ran the build. The old behaviour produced an image whose contents depended on the builder, which is why an Ubuntu Genesis could reach a node without a DHCP client.

The images ship as packages rather than as a build step. mknb installs an exported image instead of assembling one, so a management node needs no build toolchain to serve netboot.

Published images, one package per architecture:

xCAT-genesis-openembedded-{x86_64,x86,ppc64le,ppc64,aarch64,armv7hf,riscv64}
  • #7721 build images with OpenEmbedded
  • #7724 mknb installs exported Genesis images
  • #7769 consume packaged OpenEmbedded images
  • #7722 render Genesis boot paths correctly
  • #7753 compress with xz when lzma is absent
  • #7790 configure eligible secondary NICs with DHCP
  • #7665 find the boot NIC over InfiniBand (IPoIB)

The old Genesis builder still ships, but is considered deprecated. It will be removed in the future.

RISC-V support

riscv64 nodes can be managed and provisioned on EL10 and on Ubuntu 24.04 and 26.04.

  • #7773 riscv64 nodes on EL10
  • #7821 riscv64 management and provisioned nodes on Ubuntu 24.04 and 26.04
  • #7763 boot the riscv64 image on ACPI firmware

Other new capability

  • #7584 xCAT-release package for DNF systems
  • #7774 source-only build mode
  • #7829 install the osimage pkglist during the Subiquity autoinstall
  • #7786 policy rules can name Unix groups
  • #7780 confluent exports the switch topology of each node
  • #7741 genpdu pdutype for generic SNMP PDUs (PDU2-MIB)
  • #7588 configurable NFS root options for statelite images
  • #7590 indexed host lookups make makehosts faster
  • #7597 HMAC-SHA256 by default on new EL and Ubuntu sites
  • #7772 postscripts load package utilities

Ubuntu

Ubuntu 26.04 LTS is now fully supported.

  • #7756 make xCAT work on Ubuntu 26.04
  • #7761 the Subiquity diskful install never completes
  • #7831 nodeset cannot boot an Ubuntu POWER install from live media
  • #7762 configeth configures nothing on netplan-rendered nodes
  • #7760 makentp fails on a stock Ubuntu MN
  • #7758 makedhcp fails on a stock Ubuntu MN
  • #7832 the Ubuntu Genesis image ships without a DHCP client
  • #7842 the Ubuntu ppc64el netboot image has no dig
  • #7837 the Genesis deb version never advances past snap000000000000

DHCP and Kea

Kea is the backend on current distributions and several of these decide whether a compute node gets a lease:

  • #7706 skip *NOIP* NICs when building Kea reservations
  • #7708 Kea reservation updates leave inconsistent state
  • #7703 preserve Kea reservations on makedhcp -n
  • #7702 report unresolved Kea reservations
  • #7723 boot unknown xNBA clients with Kea
  • #7717 dispatch makedhcp only to the service nodes serving the nodes
  • #7777 register the InfiniBand identity of a node that boots over IPoIB

DNS

  • #7855 makedns leaves records behind because named cannot verify its own TSIG key
  • #7839 a compute node cannot resolve the management node by short name

Installation

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

xCAT needs three repositories: xcat-core, xcat-dep for the release and architecture, and the xcat-dep/common repository that holds the Genesis images. The xCAT-release package ([#7584]) installs all three, with the signing key:

dnf install -y https://xcat.org/files/xcat/repos/yum/latest/xcat-core/xCAT-release-latest.noarch.rpm
dnf install -y xCAT

To configure the repositories by hand instead, install the three .repo files. Replace rh10 and x86_64 with the release and architecture of the management node:

cd /etc/yum.repos.d
curl -O https://xcat.org/files/xcat/repos/yum/latest/xcat-core/xcat-core.repo
curl -O https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/rh10/x86_64/xcat-dep.repo
curl -O https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/common/xcat-dep-common.repo
dnf install -y xCAT

xCAT only recommends the xCAT-genesis-openembedded-* packages. Without xcat-dep-common.repo, dnf installs xCAT without them and prints no error, so the management node has no Genesis image to netboot.

Here is what xcat.repo installed by xCAT-release looks like:

# /etc/yum.repos.d/xcat.repo
[xcat-core]
name=xCAT Core packages
baseurl=https://xcat.org/files/xcat/repos/yum/latest/xcat-core
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://xcat.org/files/xcat/repos/yum/latest/xcat-core/repodata/repomd.xml.key

[xcat-dep]
name=xCAT dependencies
baseurl=https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/rh$releasever/$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/rh$releasever/$basearch/repodata/repomd.xml.key

[xcat-dep-common]
name=xCAT common dependencies
baseurl=https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/common
enabled=1
skip_if_unavailable=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/common/repodata/repomd.xml.key

Ubuntu (22.04, 24.04 and 26.04)

The apt repositories have no common component. Each codename carries its own Genesis packages in xcat-dep.

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

The full change-log can be viewed through the link : https://github.com/xcat2/xcat-core/compare/2.18.2...2.19.0