2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-11-12 11:06:17 +00:00
Markus Hilger 72510e704e Emulate aarch64 as a Neoverse N1 cpu in imgutil
The default 'max' cpu of qemu-user emulates SVE and pointer
authentication, which aarch64 binaries use and which is expensive to
emulate. Default QEMU_CPU to neoverse-n1 for aarch64 builds and exec,
unless it is already set. neoverse-n1 needs qemu 7.1 or later, the
documentation says how to choose another cpu.

Building an EL10 image with mlnx-ofa_kernel-dkms and doca-ofed-userspace
on an EL10 x86_64 host with qemu 10.2:

    DOCA build         Total
    aarch64, master    3270 s (54.5 min)
    aarch64, branch    2399 s (40 min), −27%
    x86_64, native     251 s (4 min)

Older qemu-user-static, such as qemu 8.2 of Ubuntu 24.04, emulates
pointer authentication much more slowly, so builds there can get up to
ten times faster.
2026-11-04 20:35:29 +01:00
2026-06-10 07:44:50 -04:00
2021-01-21 11:52:22 -05:00
2026-10-15 20:12:49 +02:00
2026-11-02 10:41:13 -05:00

Confluent

CI Nightly Release Docs Python 3 License

Confluent is a software package to handle essential bootstrap and operation of scale-out server configurations. It supports stateful and stateless deployments for various operating systems.

Check this page for a more detailed list of features.

Confluent is the modern successor of xCAT. If you're coming from xCAT, check out this comparison.

Documentation

Confluent documentation is hosted on: https://xcat2.github.io/confluent-docs/

Download

Get the latest version from: https://xcat2.github.io/confluent-docs/downloads/

Check release notes on: https://xcat2.github.io/confluent-docs/release_notes/

Open Source License

Confluent is made available under the Apache 2.0 license: https://opensource.org/license/apache-2-0

Developers

Want to help? Submit a Pull Request.

Versioning and releases

The top-level VERSION file names the release the current branch is working toward. Build scripts call ./mkversion, which turns it into the version stamped on packages: the tag itself on a release tag (4.0.1), otherwise a development version (4.0.1~dev5+gdeadbee). Packages sort it before the release it leads up to. Only setup.py gets the PEP 440 spelling, 4.0.1.dev5+gdeadbee.

mkversion also derives a version from the newest tag reachable from HEAD and uses whichever is higher, so forgetting to bump VERSION after tagging the current branch cannot walk the version backwards. Staying ahead of tags on other branches is what VERSION itself is for: patch releases are tagged on release branches, which master never sees.

Cutting a new series:

  1. Land the release commit on master and tag X.Y.0 there.
  2. Create branch X.Y from that tag; it inherits VERSION=X.Y.0.
  3. Only then bump VERSION on master. Doing it before step 2 leaves the release branch on the wrong series.

Patch releases land on branch X.Y and are tagged X.Y.Z there; no VERSION edit is needed.

Nightly builds

.github/workflows/nightly.yml builds the rpms (EL9, EL10, SUSE 16) and debs (Ubuntu 24.04, 26.04) for x86_64 and aarch64 every night that something changed, installs each set on a clean container, and publishes them as the nightly pre-release. Every bundle there holds all packages for one target and an INSTALL.txt. Pull requests that touch the packaging run the same build and tests without publishing. Genesis is not built there yet.

S
Description
xCAT confluent - replacement of conserver and eventually xcatd
Readme 21 MiB
Languages
Python 85%
Shell 11.6%
C 2.2%
Go Template 0.7%
Go 0.2%
Other 0.2%