Skip to content

Overriding the root controller and local connectivity service addresses#735

Closed
PawelPlesniak wants to merge 76 commits intoprep-release/fddaq-v5.5.0from
PawelPlesniak/RootCtrlPortCheck
Closed

Overriding the root controller and local connectivity service addresses#735
PawelPlesniak wants to merge 76 commits intoprep-release/fddaq-v5.5.0from
PawelPlesniak/RootCtrlPortCheck

Conversation

@PawelPlesniak
Copy link
Collaborator

@PawelPlesniak PawelPlesniak commented Dec 5, 2025

Description

Fixes #702

Changelog

Adds checks to validate that when multiple users are running on the same host, you get an error if trying to use a session that already exists.

Manual testing suggestions

Start a session as

drunc-unified-shell ssh-standalone config/daqsystemtest/example-configs.data.xml local-1x1-config pawel

Then in a separate tty try to run the exact same command. You should get log message

[2025/12/05 17:55:48] CRITICAL   shell.py:188                   unified_shell:                                Current root        
                                 controller port is already in use. Use script daqconf_set_rc_controller_port on your             
                                 configuration file to change the root controller port first!  

When you execute this, the local connectivity service address is still in use, therefore the second time you attempt to run it after you use the suggested script, you will get

[2025/12/05 17:58:36] CRITICAL   shell.py:197                   unified_shell:                                Local connectivity service port is       
                                 already in use. Use script daqconf_set_connectivity_service_port on your configuration file to change the connectivity
                                 service port first! 

Alternative for manual tests include varying the process manager type, and running one session with a local connectivity service and another with the ehn1 connectivity service.

Type of change

  • Documentation (non-breaking change that adds or improves the documentation)
  • New feature (non-breaking change which adds functionality)
  • Optimization (non-breaking, back-end change that speeds up the code)
  • Bug fix (non-breaking change which fixes an issue)
  • Breaking change (whatever its nature)

Key checklist

  • All tests pass (eg. python -m pytest)
  • Pre-commit hooks run successfully (eg. pre-commit run --all-files)

Further checks

  • Code is commented, particularly in hard-to-understand areas
  • Tests added or an issue has been opened to tackle that in the future.
    (Indicate issue here: # (issue))

PawelPlesniak and others added 21 commits November 21, 2025 00:41
…was causing formatting errors in the log files
…e_status

recompute_status: single responsibility principle (recompute, don't get)
…aviour

Aurashk/fix optional pytest behaviour
Add Github Wiki pages to documentation on GithubPages
…ithub-pages-is-failing

Fix failing docs deployment to GitHub pages
…anager

Aurashk/recompose ssh process manager
@PawelPlesniak
Copy link
Collaborator Author

This has now also been tested cross process manager implementation - starting with a k8s pm and starting a ssh pm after with the same config file through unified shell
The last commit uses extracts from Claudia's PR #734

@wanyunSu
Copy link
Contributor

wanyunSu commented Dec 5, 2025

Tested with both SSH and K8s process managers; works correctly.
One concern: the code loads the kubeconfig unconditionally, which may cause errors when running outside a Kubernetes environment.

@PawelPlesniak
Copy link
Collaborator Author

Merging in develop was a mistake if this is to be for 5.5.0, superseeded with #738

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants