2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-10-20 14:45:45 +00:00
Markus Hilger 7b9ad03aaf Read a lan parameter the bmc does not have without crashing
A bmc that does not implement a lan configuration parameter says so in the
completion code and answers with no data at all.  The helper reached
straight into the payload, so such a parameter raised IndexError, and with
it went the whole of nodeconfig over ipmi: the bmc group, the plain, the
detailed, the extended and the advanced reads all ended in "bytearray
index out of range".  It also took the attribute enumeration with it, so
the client then rejected names it should have accepted.

The guard that was there caught an exception carrying the completion code,
but oldraw_command reports the code in its response rather than raising on
it, so nothing was ever caught.  Read the code from the response instead:
parameter not supported and parameter out of range mean the platform does
not have it, and anything else is a real failure that should say what it
was rather than be mistaken for absence.

The address configuration method was looked up in a table with no regard
for whether it had been read at all, so a bmc that does not report it
would have traded the IndexError for a KeyError.  Answer None when it is
absent, as the address above it already does, and name the value when it
is present but unfamiliar.
2026-08-14 21:26:28 +02:00
2026-08-11 05:50:55 +02:00
2026-06-10 07:44:50 -04:00
2021-01-21 11:52:22 -05:00

Confluent

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, or 4.0.1~dev5+gdeadbee for the packages that have no setup.py).

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.

S
Description
xCAT confluent - replacement of conserver and eventually xcatd
Readme 20 MiB
Languages
Python 85.3%
Shell 11.1%
C 2.3%
Go Template 0.7%
Go 0.3%
Other 0.2%