Skip to content

Fix minor split shell issues#935

Closed
emmuhamm wants to merge 14 commits into
PawelPlesniakEmuhammad/SplitShellFixingfrom
emmuhamm/fix-minor-split-shell-issues
Closed

Fix minor split shell issues#935
emmuhamm wants to merge 14 commits into
PawelPlesniakEmuhammad/SplitShellFixingfrom
emmuhamm/fix-minor-split-shell-issues

Conversation

@emmuhamm

@emmuhamm emmuhamm commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Description

Fixes #926

  • Blocks boot behaviour in unified shell if another session (with the same name) is already booted
  • Asks for confirmation when booting in the process manager shell if user tries to spawn a session with the same name as an existing session
  • Multi host support works by mapping localhost instances to an actual host

Type of change

  • Optimization
  • Bug fix

List of required branches from other repositories

N/A

Suggested manual testing checklist

In three different shells

drunc-process-manager ssh-standalone 50000
drunc-process-manager-shell grpc://np04-srv-028:50000
drunc-unified-shell grpc://np04-srv-028:50000 config/daqsystemtest/example-configs.data.xml ehn1-local-1x1-config emir-test-1-tester

Try the following combination

  • same user same host
  • same user different host
  • different user same host
  • different user different host

it should all work for whatever the usual commands are you run in the drunc session if you use the ehn1 configuration.

there seems to be a problem when running with the local connectivity server, so any combination of different users will cause a failure for this. This is being tracked in #937

Developer checklist

Prior to marking this as "Ready for Review"

Tests ran on: NP04 - 028 from release 03 June 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_bundle requires 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 .

  • Unit tests (pytest --marker) passed
    • With relevant marker
    • Without marker
  • Integration tests passed
    • Only daqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.py
    • Full daqsystemtest_integtest_bundle.sh
  • Testing skipped as there are no core code changes in this PR, this only relates to documentation/CI workflows
  • Drunc integration tests pass (./scripts/drunc_integtest_bundle.sh)

Final checklist prior to marking this as "Ready for Review"

  • Code is clearly commented.
  • New unit tests have been added, or is documented in # ISSUE NUMBER
  • A suitable reviewer has been chosen from this list.

Reviewer checklist

  • This branch has been rebased with develop prior to testing.
  • Suggested manual tests show changes.
  • CI workflows fails documented (if present)
  • Integration tests passed (on either np0x or IC HEP clusters)
    • Use the following guidelines to determine which of the integration tests you need to run
      • You do not need to run any integration tests if
        • Code changes are not associated with src/
        • PR changes only affect docstrings
        • In this case, be sure to validate any suggested manual testing.
      • Run only the minimum integration test as daqsystemtest_integtest_bundle.sh -k minimal_system_quick_test.py if
        • PR changes only affect a few log entries
        • PR changes are small, and do not have a large impact on the workflow (use carefully)
      • Otherwise run the full integration test bundle as daqsystemtest_integtest_bundle.sh
    • What to do if the integration tests fail?
      • Only concern yourself if failures related to drunc are in the log files
      • If non-drunc failure appears:
        • Validate failure in fresh working area
        • Contact Pawel if unsure
  • If you have ran the full integration test bundle, leave a comment on the PR stating
    • Which host the integration tests have ran on
    • [Optional] A copy of the test summary
  • Drunc integration tests pass (scripts/drunc_integtest_bundle.sh)

Once the above boxes are checked, the PR(s) can be merged following the steps below.

Prior to merging

Choose one of the following an complete all substeps
  • Changes only affect the Run Control, are in a single repository, and do not affect the end user.
    • Changes are documented in docstrings and code comments
    • Wiki has been updated if architectural or endpoint changes
  • Otherwise
    • Workflow changes demonstrated in the Change Log (if necessary)
    • Wiki has been updated (if necessary)
    • #dunedaq-integration Slack channel notified (see below)

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

The CCM WG has an isolated PR ready to merge that affects user workflows. The PR is:

_URL_

I will leave time for any comments, otherwise will merge these at the end of the work day _Insert your time zone_.

For co-ordinated merge

The CCM WG has a set of co-ordinated merges ready to merge. The PRs are:

_URL_

_URL_


I will leave time for any comments, otherwise will merge these at the end of the day.

@emmuhamm emmuhamm self-assigned this Jun 1, 2026
@emmuhamm emmuhamm added this to the fddaq-v5.7.0 milestone Jun 1, 2026
@emmuhamm emmuhamm linked an issue Jun 1, 2026 that may be closed by this pull request
@emmuhamm emmuhamm force-pushed the PawelPlesniakEmuhammad/SplitShellFixing branch from 0114aa4 to a4d174f Compare June 3, 2026 14:33
@emmuhamm emmuhamm force-pushed the emmuhamm/fix-minor-split-shell-issues branch from 12b3c17 to 0107676 Compare June 3, 2026 14:37
@emmuhamm emmuhamm force-pushed the emmuhamm/fix-minor-split-shell-issues branch from cfc2991 to e26bc6d Compare June 8, 2026 13:06

@emmuhamm emmuhamm left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello hello @PawelPlesniak this is ready for review now. Ended up being a shorter PR than I thought it would be.

I've left a comment for you to look at and for us to decide on. Can you let me know what you think?

Comment on lines 52 to 56
if len(processes.values) > 0:
click.confirm(
f"You already have {len(processes.values)} processes running, are you sure you want to boot a session?",
f"You already have {len(processes.values)} processes running for {session_name}, are you sure you want to boot a session?",
abort=True,
)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the process manager shell, I've modified this to basically check if someone wants to boot a session with the same name as another session, theres a click.confirm here.

Do we want to keep this as a confirm or do we want to outright disallow this behaviour?

@emmuhamm emmuhamm marked this pull request as ready for review June 8, 2026 13:08
@emmuhamm emmuhamm requested a review from PawelPlesniak June 8, 2026 13:13
@emmuhamm

Copy link
Copy Markdown
Contributor Author

Superseded by #941

@emmuhamm emmuhamm closed this Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Minor issues from PMaaS testing (20260515)

3 participants