Gazebo | Ignition | Community
Ask Your Question

ignition transport UDP discovery

asked 2017-09-12 00:29:59 -0500

tve gravatar image

I'm trying to run gzserver and gzclient on two different machines and from troubleshooting it looks like the ignition transport layer doesn't connect-up. I see in the code that it uses UDP multicast for discovery. How is this supposed to work when gzserver runs, say, in an AWS EC2 cloud instance and gzclient runs on my local desktop? I know about GAZEBO_MASTER_URI but that doesn't seem to establish full connectivity.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2017-09-12 03:31:16 -0500

Carlos Agüero gravatar image

updated 2017-09-12 07:53:14 -0500

Ignition Transport is not able to work with machines that aren't in the same LAN. However, if I remember correctly gzclient and gzserver should use Gazebo Transport for most of the operations. What is exactly the problem that you're observing?

Adjusting GAZEBO_MASTER_URI accordingly should be your solution. You probably need to adjust your AWS security groups to make sure that the ports are open.

edit flag offensive delete link more


Aha, that seems like a fail! I'm trying to use markers in a world or model plugin and they seem to use ignition transport.

tve gravatar imagetve ( 2017-09-12 09:26:08 -0500 )edit

Unfortunately, that's not possible right now. If you're willing to do it, a workaround could be to create a VPN, and then, your client would be within the same LAN. Not ideal but just in case you really need a solution right now.

Carlos Agüero gravatar imageCarlos Agüero ( 2017-09-12 09:34:09 -0500 )edit

Do markers even work across the LAN? I am running gzserver on one box and gzclient on another on a LAN. I can run the marker example on the gzclient machine and it works. But running on the gzserver machine it doesn't. `ign service -l` on the client shows the /marker and /marker/list services. Running it on the server machine doesn't. Running a tcpdump on the server machine shows what looks like UDP advertisement packets coming from the client with /marker ads. How is this supposed to work?

tve gravatar imagetve ( 2017-09-12 10:24:25 -0500 )edit

You need to set the environment variable IGN_PARTITION on both machines to the same value. This will put all nodes in both machines in the same partition and they'll be able to talk via Ignition Transport.

Carlos Agüero gravatar imageCarlos Agüero ( 2017-09-12 10:31:26 -0500 )edit

Question Tools

1 follower


Asked: 2017-09-12 00:29:59 -0500

Seen: 375 times

Last updated: Sep 12 '17