The wire suite compared the two backends against xCAT-test/dhcptest/spec.md and found four places where a node was told different things depending on which daemon answered. Each is fixed at the side the spec calls correct. Option 12 (S-35): Kea builds the host-name option out of a reservation's single `hostname` field and runs it through ddns-qualifying-suffix on the way out, so a node asking who it was got "node01.cluster.example.com" while ISC, which writes option 12 and the DDNS name from separate statements, said "node01". A name that already ends in a dot is fully qualified and is not qualified again, so the reservation is now written "node01." -- the wire agrees with ISC, and the suffix still qualifies the dynamic clients that have no reservation. A reservation's option-data cannot be used for this: processHostnameOption adds option 12 before appendRequestedOptions runs, and appendRequestedOptions only fills in options that are not already present. Reservation lookups are made dot-insensitive so `makedhcp -d` and `-q` keep matching a node by its bare name. Option 43 / ISAN (S-20): Kea appends an encapsulated space to a reply only when the option that carries it is configured too, and option 43 is `type: empty` with `encapsulate: isan`. Naming only the isan-space sub-options left them with nothing to travel in and the initiator was offered an address with no target, so the empty container is now named alongside them. ISC needs no equivalent -- declaring `option isan.iqn` builds option 43 for it. Boot file fallback (S-12): dropping an architecture branch from the ISC if/else chain let that client fall through to the final `substring(filename,0,1) = null` catch-all and be handed /yaboot, which is the loader substitution the spec forbids. Suppressed architectures now get an explicit empty branch. Kea cannot have this bug: its classes are independent and xcat-fallback excludes every recognised arch. Reload (S-40): `systemctl reload kea-dhcp4` returns 0 once the signal is delivered, and Kea can then reject the config and keep serving the old one while systemctl still reads active -- a node added by discovery was never adopted. dhcp4 and dhcp6 intents therefore always carry a control-socket, and a reload goes over it so the daemon reports whether it took, falling back to reset-failed + restart when it cannot confirm. The fixture now proves a daemon actually holds port 67 before it believes the backend is serving, which is what turned the reload failure from a flake into a reproducible case. Verified on the wire against both backends on EL10 with dhcpd 4.4.3 and kea 3.0.3: all ten cases rc=0 on each. Unit suite 848/848.
xCAT
xCAT is a toolkit for deployment and administration of clusters of all sizes.
The xCAT sunset was only a quick eclipse
Dear xCAT Community,
The xCAT sunset has changed course. VersatusHPC has been invited to join the xCAT Consortium, and future development will move toward direct upstream contributions coordinated with the Consortium and its existing member companies.
That matters most for Enterprise Linux 10 (EL10). EL10 support is coming to xCAT, restoring a future operating-system path for sites that still rely on xCAT. This is an important change from the previous sunset guidance, where the lack of an EL10 path was one of the strongest reasons to move away from xCAT.
The xCAT Consortium continues to recommend Confluent as the long-term successor to xCAT, and that remains the Consortium position. Users planning new cluster-management deployments should evaluate Confluent and its xCAT comparison documentation.
At the same time, xCAT is no longer sunsetted. The Consortium and participating companies will continue updating xCAT while there is community and user demand for it.
In summary:
- xCAT development is continuing upstream through the Consortium and participating companies.
- Enterprise Linux 10 support is coming.
- Confluent remains the Consortium-recommended successor and migration path.
- xCAT updates will continue while there is community and user demand.
We want to thank the xCAT Consortium and community for keeping this project moving. The sun went behind the moon for a moment, but xCAT is still here.
For more information on Confluent and how to get started, please visit the Confluent: Project Page, Documentation or Confluent vs xCAT comparison.
With thanks,
The xCAT Consortium
Documentation
xCAT Documentation is hosted on Read The Docs: https://xcat-docs.readthedocs.io
Status
| xCAT Version | Build Status |
|---|---|
| Latest (master branch) | |
| Stable (latest release) |
Looking for older versions?
Open Source License
xCAT is made available under the EPL license: https://opensource.org/licenses/eclipse-1.0.php
Developers
Want to help? Check out the developers guide!