build-ubunturepo guarded builds with a single host-global, fail-fast lock at /var/lock/xcatbld.lock (`flock -n`). Two builds on one host -- e.g. the devel and stable Ubuntu CD lanes on xcat-master-ub -- therefore collided on that one lock and the loser exited 1 with "Can't get lock ...", failing the whole pipeline, even though each lane builds from its own checkout into its own DEST and they share nothing. build-ubunturepo builds its packages in-place in its own source checkout (it rewrites debian/changelog and debian/control, drops *.orig.tar.gz at the checkout root and runs dpkg-buildpackage inside the package dirs), so the resource two concurrent builds actually contend for is the checkout, not the host. Key the lock on the checkout path ($curdir): builds of the SAME checkout still fail-fast (they would corrupt each other in-place), while builds of DISTINCT checkouts get distinct locks and run in parallel. The lock file stays on the local /var/lock (reliable flock, unlike the NFS/virtiofs checkout) and the source tree is left byte-pristine. Add xCAT-test/unit/build_ubunturepo_lock.t, which extracts the lock block from the script verbatim and asserts: the lock path is /var/lock/xcatbld-<hash-of-checkout>.lock and deterministic per checkout; a second build of the same checkout fails fast; two distinct checkouts acquire their locks concurrently. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
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!