Add client-side rich error interceptor - #995
Conversation
…-client-interceptor
…-client-interceptor
|
Integration tests passed on The intended behaviour demonstrated in the unit tests has passed too, thank you! |
|
Will leave time for @jamesturner246 to take a look before merging |
|
There are I'll need to look a bit more in-depth into this to find them all, but this one definitely shouldn't be merged yet. Surprised the tests even passed. |
|
Otherwise looks really good. Nice neat and elegant 👍 👍 |
Thanks for spotting that @jamesturner246! Not sure how I missed that and strange how the tests passed |
|
@PawelPlesniak I'd like to add some more tests to use a real Process Manager instead of a concrete one, in a similar way to what I did to the session manager tests. That's to make sure we don't miss any errors on the client side. I'll do that early next week if you can wait until then to merge. Thanks. |
|
Thanks @miruuna! There is progress being made on integration tests running in mutli-process running modes (e.g. |
For the rich error handling it's probably enough to update the unit tests. The tests in |
|
Thanks Miruna!
The |
Description
Fixes issue #973
Implements a client-side interceptor for gRPC rich error handling.
The interceptor is documented here.
Type of change
List of required branches from other repositories
None
Change log
RichErrorClientInterceptorinsrc/drunc/utils/grpc_utils.pySessionManagerandProcessManagerSuggested manual testing checklist
Run pytest.
Developer checklist
Prior to marking this as "Ready for Review"
Tests ran on: WHAT HOSTNAME from release RELEASE_NAME
Unit tests - some tests can't be ran on the CI. This is documented. If this PR checks a feature that can't be tested with CI, this has been marked appropriately.
Integration tests - the
daqsystemtest_integtest_bundlerequires a lot of resources, and connections to the EHN1 infrastructure. Check the cross referenced list if you can't run these. The developer needs to run at least the .pytest --marker) passeddaqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.pydaqsystemtest_integtest_bundle.sh./scripts/drunc_integtest_bundle.sh)Final checklist prior to marking this as "Ready for Review"
Reviewer checklist
src/daqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.pyifdaqsystemtest_integtest_bundle.shdruncare in the log filesdruncfailure appears:scripts/drunc_integtest_bundle.sh)Once the above boxes are checked, the PR(s) can be merged following the steps below.
Choose one of the following an complete all substepsPrior to merging
Once completed, the reviewer can merge the PR.
Notification message for a Slack channel
Note - this should be to #dunedaq-integration for general workflow that isn't during a release candidate period, and to #daq-release-prep otherwise.
For an single merge that changes the user workflow
For co-ordinated merge