Closed ahmkar94 closed 13 hours ago
Nice finding, but not a blocker for v24.09.0. Also, confd
doesn't technically crash -- it fails to validate input in SR_EV_CHANGE
and lets the invalid configuration propagate to SR_EV_DONE
(where you're really allowed to fail in sysrepo terms). When we encounter an error in this state confd (or rather sysrepo-plugind) now calls exit() explicitly to let the system try to recover by restarting everything.
I suggest we change the title to: "confd fails input validation of interface type".
Core team has continued discussing this issue, it has now evolved into a blocker issue for v24.09.
Root cause, reconfiguring the system multiple times after initially adding a VETH pair makes it impossible to remove the VETH pair.
Current Behavior
The NETCONF request provided creates a bridge
br-X
with the portethX
(mapped to a specific port on the target). In the example below, the test initializes the environment and attaches the target, then configures the bridge and its associated interface:By looking at the logs on the target we see that
confd
crashes:The issue stems from the fact that, although the request specifies a valid Ethernet type (
ethernet
) for theethX
interface, the target system expects a different type, specificallyetherlike
. However, even though there is a type mismatch, this should not cause theconfd
process to crash.The crash indicates a bug or a problem with the error handling mechanism in
confd
.Expected Behavior
Ideally, the system should reject the configuration and provide a meaningful error message, rather than crashing entirely.
Steps To Reproduce
No response
Additional information
No response