Merge DFOModule consensus behavior and update peer announcement transport to DFODecision#486
Merge DFOModule consensus behavior and update peer announcement transport to DFODecision#486
Conversation
Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/a3b1396a-ba81-4d0d-9afe-944cee92d6ee Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
|
@copilot The new module should only inherit from DAQModule. Common DFO code can be moved to library functions in either src or plugins/detail |
…helper Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/ed628aeb-4879-45d9-b86a-d95d7f541e66 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/ed628aeb-4879-45d9-b86a-d95d7f541e66 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
Done in commit b280c75. |
|
@copilot Add unit tests for DFOCore |
Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/a1889c64-61e1-42b6-9525-fb129d8e5168 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
…erbosity_level_ideas
…ule_test Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/2ce026ec-732c-4c57-99eb-f2bd16f5db6b Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
…s complete before remove_callback
…-protocol-resilience
…g failover Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/8cfa3196-9570-48f5-a552-ad88bae3d298 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
…comments, watchdog logs) Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/8cfa3196-9570-48f5-a552-ad88bae3d298 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
…ments are handled Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/ad5ee7fa-bbd5-49fc-8323-82e234ed90b9 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
…_ideas' into copilot/revise-dfo-protocol-resilience
…-protocol-resilience
Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/6dddf3f0-ec3c-419b-8dae-33274c5ad7ff Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
…odule Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/6dddf3f0-ec3c-419b-8dae-33274c5ad7ff Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
those test cases.
|
@copilot Fix comments in DFOCore since there is only one DFOModule now. Replace announcement using token with announcement using DFODecision |
Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/b77498e4-503e-4fa0-bd0a-2f753f95f3a1 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
Agent-Logs-Url: https://github.com/DUNE-DAQ/dfmodules/sessions/b77498e4-503e-4fa0-bd0a-2f753f95f3a1 Co-authored-by: eflumerf <61473357+eflumerf@users.noreply.github.com>
Implemented in 6f1aeb6. I updated DFOCore comments to refer to the single DFOModule implementation and switched peer announcements from TriggerDecisionToken to DFODecision (send + receive paths, plus updated unit-test injection paths). No UI changes in this PR, so no screenshot applies. |
Description
If full description and testing details are included on a parent issue, please link to that here.
Otherwise, please include a summary of the change and which issue is fixed (if any).
Include relevant motivation and context, including a target environment and dunedaq version if known.
Also list any dependencies that are required for this change.
This PR merges standalone and consensus behavior into
DFOModule, with consensus controlled byDFOConf::consensus_enabled.It also incorporates follow-up review feedback by:
DFOCorecomments to reflect the single-module architecture, andTriggerDecisionToken-based signaling toDFODecision-based signaling.DFOModulenow handles peer announcement send/receive throughDFODecisionchannels, and unit tests were updated accordingly to inject synthetic peer announcements viaDFODecision.Please also include instructions for how a reviewer can test your changes.
DFOModulewhereDFOConf.consensus_enabled=trueand DFODecision input/output connections are present.DFOModuleconsensus scenarios in a full DUNE-DAQ build environment.Type of change
Testing checklist
dbt-build --unittest)pytest -s minimal_system_quick_test.py)dunedaq_integtest_bundle.sh)python -m pytest)pre-commit run --all-files)Comments here on the testing
In this sandbox, full package build/test is environment-limited:
cmake -S . -B ...fails becausedaq-cmakeis not installed.ctestreports no discovered tests in the local sandbox context.Further checks
dbt-build --lint, and/or see https://dune-daq-sw.readthedocs.io/en/latest/packages/styleguide/)(Indicate issue here: # (issue))