Refactored salt-syndic featurestags/mcp0.5
@@ -102,26 +102,38 @@ Salt master with specified formula refs (for example for Gerrit review) | |||
address: https://git.openstack.org/openstack/salt-formula-keystone | |||
revision: refs/changes/56/123456/1 | |||
Salt master syndicate master of masters | |||
Salt syndic: Master of masters | |||
.. code-block:: yaml | |||
salt: | |||
master: | |||
enabled: true | |||
syndicate: | |||
mode: master | |||
order_masters: True | |||
Salt master syndicate (client) master | |||
Salt syndic: Lower master | |||
.. code-block:: yaml | |||
salt: | |||
master: | |||
syndic: | |||
enabled: true | |||
master: | |||
host: master-of-master-host | |||
timeout: 5 | |||
Salt syndic: Lower master with multi-master of masters | |||
.. code-block:: yaml | |||
salt: | |||
syndic: | |||
enabled: true | |||
syndicate: | |||
mode: client | |||
host: master-master | |||
masters: | |||
- host: master-of-master-host1 | |||
- host: master-of-master-host2 | |||
timeout: 5 | |||
Salt master with custom handlers | |||
@@ -0,0 +1,11 @@ | |||
{%- from "salt/map.jinja" import syndic with context %} | |||
{%- if syndic.masters is defined %} | |||
syndic_master: | |||
{%- for master in syndic.masters %} | |||
- {{ master.host }} | |||
{%- endfor %} | |||
{%- else %} | |||
syndic_master: {{ syndic.master.host }} | |||
{%- endif %} | |||
syndic_wait: {{ syndic.get('timeout', '5') }} |
@@ -81,14 +81,6 @@ logstash_zmq_handler: | |||
{%- endfor %} | |||
{%- if master.syndic is defined %} | |||
{% if master.syndic.mode == 'master' %} | |||
{%- if master.order_masters %} | |||
order_masters: True | |||
{%- endif %} | |||
{% if master.syndic.mode == 'client' %} | |||
syndic_master: {{ master.syndic.host }} | |||
{%- endif %} | |||
{%- endif %} |
@@ -47,6 +47,18 @@ RedHat: | |||
{%- endif %} | |||
{%- load_yaml as syndic_defaults %} | |||
Debian: | |||
pkgs: | |||
- salt-syndic | |||
RedHat: | |||
pkgs: | |||
- salt-syndic | |||
{%- endload %} | |||
{%- set syndic = salt['grains.filter_by'](syndic_defaults, merge=salt['pillar.get']('salt:syndic')) %} | |||
{%- load_yaml as minion_common %} | |||
default: | |||
graph_pkgs: |
@@ -0,0 +1,19 @@ | |||
{%- from "salt/map.jinja" import syndic with context %} | |||
{%- if syndic.enabled %} | |||
include: | |||
- salt.master.service | |||
salt_syndic_packages: | |||
pkg.installed: | |||
- names: {{ syndic.pkgs }} | |||
/etc/salt/master.d/_syndic.conf: | |||
file.managed: | |||
- source: salt://salt/files/_syndic.conf | |||
- user: root | |||
- template: jinja | |||
- watch_in: | |||
- service: salt_master_service | |||
{%- endif %} |