Connectivity issues are usually caused by the ZMQ library (less than 4.X.X) and/or salt version . Pleas run salt --versions-report
on master and salt-call --versions-report
in order to see what versions you are using. You should be running:
Salt: 2015.5.3
...
ZMQ: 4.0.5
You should also try to reproduce the issue with a simple vagrant-salt demo. Notice that you will need to change the salt versions in the vagrant file to "2015.5.3"
You haven't specified what OSes or Salt version you are using but there is ongoing issue with the zmq package used by salt that causes slow connections and drops. It is highly recommended to upgrade the zmq package: (this is redhat based sls file)
{% if grains['os'] in ('RedHat', 'CentOS', 'Fedora') %}
{% if grains['os'] == 'Fedora' %}
{% set repotype = 'fedora' %}
{% else %}
{% set repotype = 'epel' %}
{% endif %}
saltstack-zeromq4:
pkgrepo.managed:
- humanname: Copr repo for zeromq4 owned by saltstack
- baseurl: http://copr-be.cloud.fedoraproject.org/results/saltstack/zeromq4/{{ repotype }}-$releasever-$basearch/
- gpgcheck: 0
- skip_if_unavailable: True
- enabled: 1
{% endif %}
{% if grains['os'] in ('RedHat', 'CentOS', 'Fedora') %}
update_zmq:
pkg:
- latest
- pkgs:
- zeromq
- python-zmq
- order: last
cmd:
- wait
- name: echo service salt-minion restart | at now + 1 minute
- watch:
- pkg: update_zmq
{% endif %}
Another "hack" is to ping the machines every minute or so, just add this to the salt-master minion config:
"salt '*' test.ping > /dev/null":
cron.present:
- user: root
- minute: '*/1'
You can also ping the master from the minion by setting the master_alive_interval
option in the minion config file.
Best Answer
The official answer:
Also useful are: