-
Notifications
You must be signed in to change notification settings - Fork 43
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
Revisit how and when to start the Zenoh router #231
Comments
I like the auto launch idea. Not having to start the master is one of the few things that did not get more complicated after the migration 😄 Although we don't want to end up with a situation like the ros2-daemon. It starts by itself (ok), but the configuration might be outdated (nok). Leading to tutorials to always kill it just in case... Regarding cleanup: a self destruct if no clients are connected (for 5s) perhaps? |
While I like the idea in theory, I think it is going to be very, very difficult to come up with something cross-platform and reliable to manage it. I'm leaning towards "make the user do it" (e.g. number 1), but we definitely have to improve our story around initial connection to the router before we make a final decision. |
Although automatic launch would be great, as @clalancette said, both phases seem difficult: when starting a bunch of ROS 2 nodes near-simultaneously, which one should decide that it should try to fork I guess I'd vote for (1) and try to make it easier-to-use via documentation: 1a) setup guides for those who want to have it auto-launch on popular platforms using 1b) to be more user-friendly, ideally we could try to detect connection failures to |
Agreed, those are both great ideas @codebot . |
Good idea! |
I really like some form of autostart, whether it comes from a separate package or is otherwise built in. Without this, the end user will have to fall back on shell scripts or other out-of-band tricks to get this working. This is a major pain point for me right now, and I'm very selfish. I'll poke at option 2 (from the original post). There is an autostart concept in the ros2 daemon already. I don't know the details of how it works. I assume autostarting a daemon is acceptable in this case because it's a human at a keyboard that triggers the daemon via the usage of CLI tools? However, what happens if someone creates a launch file that just runs a number of |
So there are 2 major problems with the way we currently launch the
Thus, while we do indeed have cross-platform logic for launching the daemon, I don't think we can reuse it at this layer. I'm happy to be proven wrong about that, though. |
That makes sense. Thanks for the notes. |
There are a couple of different things we can do here:
rmw_zenoh_cpp
. It is also nice if the user wants to run zenohd on their own, through systemd or another management system. However, this means that things don't "just work" out-of-the-box, like they do with the DDS RMWs. This essentially gets us back to a system that looks similar to ROS 1 with the roscore.The text was updated successfully, but these errors were encountered: