Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connectivity service for application/controller control endpoint #71

Merged
merged 51 commits into from
Oct 11, 2024

Conversation

plasorak
Copy link
Collaborator

@plasorak plasorak commented May 24, 2024

With this PR, the connectivity server is used advertise control endpoint for drunc-controller and daq_application.
Here is an example of how the connections are registered in the connectivity service:

hsi-controller_control: Connection(uri='grpc://10.73.136.38:5600', data_type='RunControlMessage', connection_type=0, time=datetime.datetime(2024, 10, 4, 17, 54, 25, 318840))
tp-stream-writer_control: Connection(uri='rest://10.73.136.38:5605', data_type='RunControlMessage', connection_type=0, time=datetime.datetime(2024, 10, 4, 17, 54, 25, 318840))

So data_types are RunControlMessages and the protocol of the URIs denotes the type of endpoint (gRPC or REST-API).

This allows dynamic port allocation for both the controllers and the applications, therefore remove the need to offset/change ports etc.

Related PRs:

Configurations don't necessary need to change but in that case they won't have dynamic port allocation for the control endpoint. Following are PRs where I have modified the control services in configuration:

@plasorak plasorak force-pushed the plasorak/app-conn-svc branch from 5c90ff2 to 0f3a13f Compare September 17, 2024 14:24
@plasorak plasorak changed the title Application connectivity service Connectivity service for application/controller control endpoint Oct 4, 2024
@plasorak plasorak marked this pull request as ready for review October 10, 2024 09:17
@plasorak
Copy link
Collaborator Author

plasorak commented Oct 10, 2024

To test:

  • setup latest nightly
  • git clone all the repos in with the correct branches
  • drunc-unified-shell ssh-standalone config/daqsystemtest/example-configs.data.xml local-1x1-config (you don't need to go anywhere after conf)
  • drunc-unified-shell ssh-standalone config/lrSession-g.data.xml lr-session (ditto, only conf)
  • drunc-unified-shell ssh-standalone config/lrSession-r.data.xml lr-session
  • drunc-unified-shell ssh-standalone config/lrSession-separate.data.xml lr-session
  • drunc-unified-shell ssh-standalone config/lrSession-singleapp.data.xml lr-session

Then:

  • git checkout develop on listrev and daqsystemtest
  • rerun all the drunc-unified-shell commands from above.

Note that with these tests, you will check that:

  1. dynamic ports with connectivitiy service enabled works (with plasorak/dynamic-control-port of daqsystemtest and listrev)
  2. static ports with connectivity service enabled works (with develop of daqsystemtest and listrev)
  3. static ports without connectivity service enabled works (listrev-singleapp doesn't have the connectivity server enabled)

Copy link
Contributor

@PawelPlesniak PawelPlesniak left a comment

Choose a reason for hiding this comment

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

Tested all, everything boots and confs as expected. Ready to merge

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.

2 participants