Improve process exit tracking with SSH PM#896
Open
Aurashk wants to merge 15 commits into
Open
Conversation
… correct logging branch Co-authored-by: Copilot <copilot@github.com>
cleanup testing code
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
…or a simpler tracking model Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
fix exit logic for unexpected process kill Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Copilot <copilot@github.com>
a395b31 to
e7d5d12
Compare
Contributor
Author
|
Rebased on to develop |
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.
Description
Fixes issue #882
Improvements to process exit reporting and testing in the ssh PM
Type of change
Change log
exit_status.pyand report it accordingly. The resulting logs and exit codes from processes should be more accurate.RunningShellProcessdefined inssh_shell_process.pyto keep track of exit status and all relevant pids of a running process. We could build on this further by tabulating the information too if it's useful.Suggested manual testing checklist
Observe the logging behaviour and exit codes in the shell - which is now dependent on the way the process dies. And note that a sigkill on the remote process correctly reports that no exit code was available. You can do this killing a process in different ways and restarting it e.g.:
drunc-unified-shell ssh-standalone daqsystemtest/config/daqsystemtest/example-configs.data.xml local-1x1-config MyTestbootkill --name df-01restart --name df-01In another terminal do:
ssh aurash@localhost kill -9 <pid of df-01>(SIGKILL)restart --name df-01In another terminal do:
ssh aurash@localhost kill -3 <pid of df-01>(SIGQUIT)Note you can easily get
<pid of df-01>throughps --long-formatin the unified shellDeveloper checklist
Prior to marking this as "Ready for Review"
Tests ran on: HEP cluster from release 12/05/2026 nightly
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.shFinal checklist prior to marking this as "Ready for Review"
Reviewer checklist
druncare in the log filesdruncfailure appears:Once the features are validated and both the unit and integration tests pass, the PRs is ready to be merged.
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