Browse Source

Merge pull request #22 from tcpcloud/syndic

Refactored salt-syndic features
tags/mcp0.5
mceloud 8 years ago
parent
commit
dc886f9163
5 changed files with 63 additions and 17 deletions
  1. +20
    -8
      README.rst
  2. +11
    -0
      salt/files/_syndic.conf
  3. +1
    -9
      salt/files/master.conf
  4. +12
    -0
      salt/map.jinja
  5. +19
    -0
      salt/syndic.sls

+ 20
- 8
README.rst View File

address: https://git.openstack.org/openstack/salt-formula-keystone address: https://git.openstack.org/openstack/salt-formula-keystone
revision: refs/changes/56/123456/1 revision: refs/changes/56/123456/1


Salt master syndicate master of masters
Salt syndic: Master of masters


.. code-block:: yaml .. code-block:: yaml


salt: salt:
master: master:
enabled: true enabled: true
syndicate:
mode: master
order_masters: True


Salt master syndicate (client) master
Salt syndic: Lower master


.. code-block:: yaml .. code-block:: yaml


salt: 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 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 Salt master with custom handlers



+ 11
- 0
salt/files/_syndic.conf View File

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

+ 1
- 9
salt/files/master.conf View File



{%- endfor %} {%- endfor %}


{%- if master.syndic is defined %}

{% if master.syndic.mode == 'master' %}
{%- if master.order_masters %}
order_masters: True order_masters: True
{%- endif %} {%- endif %}

{% if master.syndic.mode == 'client' %}
syndic_master: {{ master.syndic.host }}
{%- endif %}

{%- endif %}

+ 12
- 0
salt/map.jinja View File

{%- endif %} {%- 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 %} {%- load_yaml as minion_common %}
default: default:
graph_pkgs: graph_pkgs:

+ 19
- 0
salt/syndic.sls View File

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

Loading…
Cancel
Save