-
Notifications
You must be signed in to change notification settings - Fork 8
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
Migration to rmw_zenoh #56
Comments
Here's my recommendation which does not require any namespacing as that can get tricky.
|
A caveat I came upon during implementation, if we set the ACL to default to
|
Nice! Just started venturing down this path and glad that a solution has already been found. Yeah, can confirm that setting ACL with the this seems to be the minimal ACL config required to listen to a topic, leaving it here for reference. (edit: saw that @luca-della-vedova posted a working config too, not too sure how specific we'd like to be to differential between pub, sub, server, client, action server, action client) I'll try out services and actions, then start prototyping the changes required to
|
Sounds good! We can work with static files first and update |
Since
rmw_zenoh
was released as a binary (pending the next Jazzy sync) we should be able to migrate to it. Incidentally this will also help cutting down compilation time since we don't need to vendor / build the bridge from source anymore.We can update
nexus_network_configuration
to generate thejson5
config files needed for zenoh configuration.This ticket is to discuss what the architecture would look like. One possible architecture (but I'm in no way an
rmw_zenoh
expert!):One router per workcell
Each workcell would have its own zenoh router, from what I understand this is pretty much necessary to allow nodes within a workcell to communicate with each other. If there was only one global router at the system orchestrator level they would need to connect to it to discover nodes.
Workcell sessions
Each workcell node will have a workcell specific session config file where it connects to the workcell's router. We will use the
domainid
to namespace the workcell topics. We probably (?) don't need to set up an ACL in the workcell nodes themselves.Workcell ACL
The workcell routers will have an ACL to make sure that only liveliness tokens / pub / sub / services that are relevant to the system orchestrator are forwarded, while the rest is blocked. An alternative would be to implement the ACL on the sessions (or both?).
System orchestrator
The system orchestrator would be fairly similar to workcells, with its router and communication to local nodes. The only difference is that it will use wildcards to allow communication with all workcells regardless of their domain id.
CC @Yadunund for feedback / ideas on whether this is a viable architecture or what a better one would look like.
The text was updated successfully, but these errors were encountered: