Соленые фавориты продолжают терять соединение с ведущим устройством

Я тестирую Соль. У меня есть простая тестовая установка 3 VirtualBox VM's - с соленым ведущим устройством, работающим на одной из машин и соленых фаворитов, работающих на других 2 VM's.

Я могу запустить любого из соленого фаворита VM, и они соединятся с ведущим устройством и получат команды. Если я запущу обоих фаворитов VM, то они и соединятся в течение короткого промежутка времени, и затем каждый отбросит и покажет как не соединенный от ведущего устройства.

На самом деле у меня не должно даже быть больше чем одного активного клиента VM. С 1 клиентом VM и 1 соленым фаворитом VM, это разъединится.

Я могу перезапустить соленого фаворита, и это снова соединится с ведущим устройством и получит команды снова... в течение нескольких минут, по крайней мере. В конечном счете это покажет, как разъединено на ведущем устройстве. Выполнение соленого фаворита в отладке, кажется, не показывает ничего, что объясняет, почему это показывает, как разъединено на ведущем устройстве.

Что могло вызывать это?

Править:

ОС, которую я использую, является Ubuntu 14.04. Среды ведущего устройства и фаворита являются тем же за исключением солено-основного пакета. Выполнение --versions-report на ведущем устройстве и фаворите дает следующие версии:

             Salt: 2015.5.3
            Python: 2.7.6 (default, Mar 22 2014, 22:59:56)
            Jinja2: 2.7.2
          M2Crypto: 0.21.1
    msgpack-python: 0.3.0
      msgpack-pure: Not Installed
          pycrypto: 2.6.1
           libnacl: Not Installed
            PyYAML: 3.10
             ioflo: Not Installed
             PyZMQ: 14.0.1
              RAET: Not Installed
               ZMQ: 4.0.4
              Mako: Not Installed
           Tornado: Not Installed
Debian source package: 2015.5.3+ds-1trusty1
4
задан 17 August 2015 в 19:47
1 ответ

Проблемы со связью обычно вызываются библиотекой ZMQ (менее 4.X.X) и/или солевой версией . Для того, чтобы посмотреть, какие версии вы используете, запустите salt --versions-report на ведущем и salt-call --versions-report на ведущем и salt-call --versions-report. Вы должны запустить:

Salt: 2015.5.3
...
ZMQ: 4.0.5

Вы также должны попробовать воспроизвести выпуск с простой демонстрацией бродячих солей . Обратите внимание, что вам нужно изменить версии salt в файле бродяги на "2015.5.3"

Вы не указали, какие операционные системы или версию salt вы используете, но есть постоянная проблема с пакетом zmq, используемым salt, которая приводит к медленным соединениям и падениям. Настоятельно рекомендуется обновить пакет zmq : (это sls-файл на основе redhat)

{% 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 %}

Другой "хак" - это пинговать машины каждую минуту или около того, просто добавьте это в salt-master minion config:

"salt '*' test.ping > /dev/null":
  cron.present:
    - user: root
    - minute: '*/1'

Вы также можете пинговать ведущее устройство от minion, установив опцию master_alive_interval в minion config-файле.

:.
1
ответ дан 3 December 2019 в 04:09

Теги

Похожие вопросы