-
Notifications
You must be signed in to change notification settings - Fork 335
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
configd: T6608: report uncaught config script exceptions as commit error #3876
configd: T6608: report uncaught config script exceptions as commit error #3876
Conversation
👍 |
✅ No issues found in unused-imports check.. Please refer the workflow run |
7bf3538
to
eec5e75
Compare
CI integration 👍 passed! Details
|
This PR will be split into separate submissions for (1) those bugs obscured by the design choice described in T6608, and (2) the actual change in behavior (this PR) from pass-through to error on exceptions uncaught by config mode scripts. This PR will be moved from draft after the two or three instances in (1) are merged. |
eec5e75
to
be47832
Compare
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
be47832
to
f9fa72e
Compare
Conflicts have been resolved. A maintainer will review the pull request shortly. |
f9fa72e
to
68d80dc
Compare
In the case of config mode script exceptions other than ConfigError, vyos-configd would previously trigger the shim to re-run the script in the CLI context. The use of config dependencies require this case to return a commit error. A traceback is returned as output, consistent with running without vyos-configd support.
68d80dc
to
5034db8
Compare
Change Summary
Exceptions uncaught by config scripts should be caught by configd and returned as commit error. The previous behavior of configd was to catch and report as a daemon error to the shim, allowing for the possibility of a pass-through execution (as with any other daemon originating error). The introduction of config dependencies, however, requires the return of a commit error.
The error output returns the traceback, consistent with the output running without configd; simple test case below for comparison:
with configd:
without configd:
Types of changes
Related Task(s)
Related PR(s)
Component(s) name
Proposed changes
How to test
Smoketest result
Checklist: