Since upgrading to 25.10.2.1 (Goldeye), I’m getting this alert in a recurring loop — appears, clears itself, repeats — on a system with no bond interface whatsoever:
Failed to check for alert BondStatus: Netlink socket busy
Confirmed no bond present: ip link show type bond returns nothing. Single NIC, static IP, no LAG/VLAN on bond.
Root cause: BondStatus.check() in bond.py calls interface.query which opens a Netlink socket. On systems with many virtual interfaces (Docker bridges, veth pairs), the socket is occasionally busy — throwing the exception before any bond check even happens. There’s no early-exit guard for systems without LINK_AGGREGATION interfaces.
Proposed fix — add two lines to BondStatus.check():
ifaces = {i[“id”]: i for i in await self.middleware.call(“interface.query”)} + if not any(i[“type”] == “LINK_AGGREGATION” for i in ifaces.values()): + return []
Skips all Netlink activity on bond-free systems. No impact on systems that actually use bonding.
Note: The BondStatus checker has no entry in Alert Settings UI — it cannot be suppressed via the web interface. The workaround is patching bond.py directly and restarting middlewared.