Add corosync qdevice#29269
Open
skirmess wants to merge 4 commits intoopenwrt:masterfrom
Open
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds new OpenWrt feed packages and supporting patches to provide Corosync clustering components (libqb, kronosnet, corosync) and the corosync-qnetd quorum device daemon for maintaining quorum in 2-node clusters.
Changes:
- Introduce new packages:
libs/libqb,net/kronosnet(+ crypto backend subpackages),net/corosync(splitlibcorosync+corosync), andnet/corosync-qdevice. - Add OpenWrt-specific patches to corosync-qdevice certutil scripts (bash shebang + CA/noise-file handling).
- Add an init script and a post-install hook to initialize the qnetd NSS DB.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| libs/libqb/Makefile | New libqb package definition and install/dev-install rules. |
| net/kronosnet/Makefile | New kronosnet package definition with crypto backend subpackages and install rules. |
| net/corosync/Makefile | New corosync packaging split into libcorosync and corosync, with install/dev-install rules. |
| net/corosync-qdevice/Makefile | New corosync-qdevice package, init installation, and postinst initialization of NSS DB. |
| net/corosync-qdevice/files/corosync-qdevice.init | New procd init script to run corosync-qnetd. |
| net/corosync-qdevice/patches/0001-bash-path.patch | Forces bash shebang for upstream certutil scripts. |
| net/corosync-qdevice/patches/0002-initialize-ca.patch | OpenWrt adaptations: skip chown, adjust noise generation and hashing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
397ccd1 to
b071be8
Compare
b071be8 to
8fa0a14
Compare
GeorgeSapkin
reviewed
May 2, 2026
GeorgeSapkin
reviewed
May 2, 2026
8fa0a14 to
95ba6ad
Compare
libqb provides high-performance, reusable features for client/server architecture, including IPC, logging, and ringbuffer. Used by Corosync and other cluster software. Includes patches to remove libxml2 dependency, which was only required for doxygen2man man page generation and not needed at runtime. Link: https://github.com/ClusterLabs/libqb Signed-off-by: Sven Kirmess <sven.kirmess@kzone.ch>
kronosnet (knet) is a network abstraction layer designed for High Availability use cases. It provides multipoint-to-multipoint communication with link aggregation, redundancy, and optional compression/encryption. Used as the transport layer by Corosync. Compression and crypto backends are split into separate packages: - kronosnet-compress-lz4, lz4hc, zlib, lzo2, lzma, bzip2, zstd - kronosnet-crypto-nss: Mozilla NSS backend - kronosnet-crypto-openssl: OpenSSL backend Link: https://github.com/kronosnet/kronosnet Signed-off-by: Sven Kirmess <sven.kirmess@kzone.ch>
Corosync provides cluster infrastructure including reliable messaging, membership, and quorum. Split into two packages: - libcorosync: shared libraries only - corosync: daemon and management tools, depends on libcorosync Link: https://corosync.github.io/corosync/ Signed-off-by: Sven Kirmess <sven.kirmess@kzone.ch>
corosync-qnetd is a daemon providing an external quorum vote for Corosync clusters, allowing a 2-node cluster to maintain quorum when one node fails. Commonly used with Proxmox VE clusters. Includes two patches for musl/busybox compatibility: - fix bash shebang path - fix corosync-qnetd-certutil for busybox (ps, sha256sum, chown) Link: https://github.com/corosync/corosync-qdevice Signed-off-by: Sven Kirmess <sven.kirmess@kzone.ch>
95ba6ad to
4920e20
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📦 Package Details
Maintainer: @skirmess, @sshaikh
Description:
Adds 4 new packages providing Corosync cluster infrastructure and the
corosync-qnetdquorum device daemon. These allow a 2-node Proxmox VE(or other Corosync-based) cluster to maintain quorum when one node fails.
Packages added (in dependency order):
libs/libqb– high-performance IPC/logging librarynet/kronosnet– network transport layer for Corosync (+ crypto subpackages)net/corosync– cluster engine split intolibcorosync+corosyncnet/corosync-qdevice– quorum device daemon (corosync-qnetd)🧪 Run Testing Details
✅ Formalities
If your PR contains a patch:
git am