Open merlinz01 opened 7 months ago
Hi there! Welcome to the Salt Community! Thank you for making your first contribution. We have a lengthy process for issues and PRs. Someone from the Core Team will follow up as soon as possible. In the meantime, here’s some information that may help as you continue your Salt journey. Please be sure to review our Code of Conduct. Also, check out some of our community resources including:
There are lots of ways to get involved in our community. Every month, there are around a dozen opportunities to meet with other contributors and the Salt Core team and collaborate in real time. The best way to keep track is by subscribing to the Salt Community Events Calendar. If you have additional questions, email us at saltproject@vmware.com. We’re glad you’ve joined our community and look forward to doing awesome things with you!
Description I have a minion on my local network connecting to a cloud-based master. That minion never shows as connected, but all my minions with public IP addresses do show as connected. That is, the local minion doesn't show as connected in SaltGUI, nor show up in the results of
salt-run manage.present
. However, salt functions still work because it is actually connected.I did some digging around in the Salt source code and discovered that the problem is in the way Salt determines whether a minion is connected. It works like this:
ss -ant src <master_publish_port>
to get a list of active network connections to the master's port.ip address
on the minion).The problem is that when a minion is behind NAT, it doesn't know its public IP address, and therefore is never connected according to this algorithm. A much better way to do it would be for the Salt master to keep a list of the minions that it received a connection from. However I am not familiar with ZeroMQ so maybe this is impossible?
Setup
Please be as specific as possible and give set-up details.
Steps to Reproduce the behavior
salt-run manage.present
is showingExpected behavior
salt-run manage.present
should showScreenshots
Versions Report
Additional context