Improve the reliability of control process startup in integration tests - #172
Merged
Merged
Conversation
…tup in integrationtests
…rtup in integrationtests
…rtup in integrationtests
…s startup in integrationtests
… to include the updated command wait styles.
Updated documentation to reflect changes in ConsoleOutputWaitParameters and its child classes. Clarified wait styles and their behaviors.
1 task done
PawelPlesniak
approved these changes
Sep 29, 2026
PawelPlesniak
left a comment
There was a problem hiding this comment.
Thank you Kurt, the documentation is clear and the example provided ran successfully on np04-srv-019
+++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++ SUMMARY ++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++
Tue Sep 29 03:15:20 PM CEST 2026
Log file is: /tmp/pytest-of-pplesnia/dunedaq_integtest_bundle_20260929151258.log
⮕ Running daqsystemtest/minimal_system_quick_test.py ⬅
========================= 4 passed ✅ in 64.88s (0:01:04) =========================
⮕ Running drunc/basic_multiapp_test.py ⬅
========================= 3 passed ✅ in 73.12s (0:01:13) =========================
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
These changes are coupled with DUNE-DAQ/drunc#1068.
While working on some minor fixes for integration tests that use the Kubernetes process manager (e.g. here), I noticed that the startup of the
drunc-unified-shelltakes a little longer the first time that we start it in a fresh local software area on np04-srv-019 with the K8s process manager compared to the SSH process manager. And, theintegrationtestinfrastructure was not handling that well. Commands would be sent to thedrunc-unified-shellbefore it was ready to receive them, and the system would not run successfully.To improve this situation, I added 'process startup wait conditions' to the startup of control process in the
integrationtestinfrastructure. That translated to enhancing the wait conditions that already existed in theintegrationtestcode and adding their use to the startup of the control processes.The updated
InformationAboutSpecialVariables.mddocument includes information about the wait conditions that are currently available and how they can be used. In addition, the updated integtestbasic_multiapp_test.pyin thedruncrepo has examples of specifying control applications to be run, commands to be sent to the control applications, and wait conditions that are useful in both cases.There are also a few additional changes to help improve reliability and provide feedback to users in this PR.
To test these changes, I have run the full suite of regression/integration tests (39 of them) with the SSH process manager. There were a few failures, but those were unrelated to these changes. I also ran the
daqsystemtestintegtests with the K8s PM. Those mostly succeeded. There were a few problems which were unrelated to these changes (e.g. extra triggers when running with TPG), and those problems need to be investigated (separately from this PR).Here are sample instructions for testing the improved behavior of an integration test with the K8s PM on np04-srv-019 the first time that a test is run in a fresh software area. The interesting thing to look at in the console output from the first integtest that is run is the time that it takes the
drunc-unified-shellto start up. It typically takes 10-12 seconds, and the new code handles that just fine.Type of change
Testing checklist
dunedaq_integtest_bundle.sh)Further checks