source:engine metadata created - defaults to pkg installation, pip installation alternative addedtags/0.4
@@ -45,6 +45,18 @@ Salt master with preset minions | |||
minions: | |||
- name: 'node1.system.location.domain.com' | |||
Salt master with alternative installation source and version (optional) - pip | |||
.. code-block:: yaml | |||
salt: | |||
master: | |||
enabled: true | |||
... | |||
source: | |||
engine: pip | |||
version: 2016.3.0rc2 | |||
Salt master syndicate master of masters | |||
.. code-block:: yaml | |||
@@ -216,4 +228,4 @@ Sample pillar | |||
image: ubuntu-14-04-x64-1456128611.qcow2 | |||
size: medium | |||
disk_profile: database | |||
net_profile: testing | |||
net_profile: testing |
@@ -8,5 +8,7 @@ parameters: | |||
salt: | |||
master: | |||
enabled: true | |||
source: | |||
engine: pkg | |||
command_timeout: 5 | |||
worker_threads: 2 | |||
worker_threads: 2 |
@@ -10,6 +10,8 @@ parameters: | |||
salt: | |||
master: | |||
enabled: true | |||
source: | |||
engine: pkg | |||
command_timeout: 5 | |||
worker_threads: 2 | |||
base_environment: ${_param:salt_master_base_environment} | |||
base_environment: ${_param:salt_master_base_environment} |
@@ -6,6 +6,8 @@ parameters: | |||
salt: | |||
minion: | |||
enabled: true | |||
source: | |||
engine: pkg | |||
masters: | |||
- host: ${_param:salt_master_host} | |||
- host: ${_param:salt_master_host} |
@@ -6,6 +6,8 @@ parameters: | |||
salt: | |||
minion: | |||
enabled: true | |||
source: | |||
engine: pkg | |||
local: true | |||
pillar: | |||
engine: reclass |
@@ -6,6 +6,8 @@ parameters: | |||
salt: | |||
minion: | |||
enabled: true | |||
source: | |||
engine: pkg | |||
master: | |||
host: ${_param:salt_master_host} | |||
mine: |
@@ -8,7 +8,7 @@ salt_api_packages: | |||
pkg.installed | |||
- names: {{ api.pkgs }} | |||
- require: | |||
- pkg: salt_master_packages | |||
- {{ master.install_state }} | |||
salt_api_service: | |||
service.running: | |||
@@ -18,4 +18,4 @@ salt_api_service: | |||
- watch: | |||
- file: /etc/salt/master | |||
{%- endif %} | |||
{%- endif %} |
@@ -2,6 +2,16 @@ | |||
{%- load_yaml as master_common %} | |||
default: | |||
service: salt-master | |||
{%- if pillar.salt.master is defined %} | |||
{%- if pillar.salt.master.source.engine == 'pkg' %} | |||
install_state: "pkg: salt_master_packages" | |||
{%- elif pillar.salt.master.source.engine == 'pip' %} | |||
install_state: "pip: salt_master_packages" | |||
{%- endif %} | |||
{%- endif %} | |||
{%- if pillar.salt.master.source.version is defined %} | |||
version: {{ pillar.salt.master.source.version }} | |||
{%- endif %} | |||
accept_policy: preseed | |||
bind: {} | |||
formula: {} | |||
@@ -43,6 +53,16 @@ default: | |||
- python-yaml | |||
graph_states: False | |||
service: salt-minion | |||
{%- if pillar.salt.minion is defined %} | |||
{%- if pillar.salt.minion.source.engine == 'pkg' %} | |||
install_state: "pkg: salt_minion_packages" | |||
{%- elif pillar.salt.minion.source.engine == 'pip' %} | |||
install_state: "pip: salt_minion_packages" | |||
{%- endif %} | |||
{%- endif %} | |||
{%- if pillar.salt.minion.source.version is defined %} | |||
version: {{ pillar.salt.minion.source.version }} | |||
{%- endif %} | |||
{%- endload %} | |||
{%- load_yaml as minion_specific %} |
@@ -9,7 +9,7 @@ salt_api_packages: | |||
- names: | |||
- salt-api | |||
- require: | |||
- pkg: salt_master_packages | |||
- {{ master.install_state }} | |||
salt_api_service: | |||
service.running: |
@@ -10,7 +10,7 @@ include: | |||
file.directory: | |||
- makedirs: true | |||
- require: | |||
- pkg: salt_master_packages | |||
- {{ master.install_state }} | |||
{%- for name, environment in master.environment.iteritems() %} | |||
@@ -1,9 +1,22 @@ | |||
{%- from "salt/map.jinja" import master with context %} | |||
{%- if master.enabled %} | |||
{%- if master.source.get('engine', 'pkg') == 'pkg' %} | |||
salt_master_packages: | |||
pkg.latest: | |||
- names: {{ master.pkgs }} | |||
{%- if master.source.version is defined %} | |||
- version: {{ master.source.version }} | |||
{%- endif %} | |||
{%- elif master.source.get('engine', 'pkg') == 'pip' %} | |||
salt_master_packages: | |||
pip.installed: | |||
- name: salt{% if master.source.version is defined %}=={{ master.source.version }}{% endif %} | |||
{%- endif %} | |||
/etc/salt/master.d/master.conf: | |||
file.managed: | |||
@@ -11,7 +24,7 @@ salt_master_packages: | |||
- user: root | |||
- template: jinja | |||
- require: | |||
- pkg: salt_master_packages | |||
- {{ master.install_state }} | |||
- watch_in: | |||
- service: salt_master_service | |||
@@ -23,7 +36,7 @@ salt_master_packages: | |||
- user: root | |||
- template: jinja | |||
- require: | |||
- pkg: salt_master_packages | |||
- {{ master.install_state }} | |||
- watch_in: | |||
- service: salt_master_service | |||
@@ -40,4 +53,4 @@ salt_master_service: | |||
- mode: 755 | |||
- makedirs: true | |||
{%- endif %} | |||
{%- endif %} |
@@ -9,7 +9,7 @@ include: | |||
- source: salt://salt/files/_pki.conf | |||
- template: jinja | |||
- require: | |||
- pkg: salt_minion_packages | |||
- {{ minion.install_state }} | |||
- watch_in: | |||
- service: salt_minion_service | |||
@@ -11,7 +11,7 @@ salt_minion_grains_dir: | |||
- makedirs: true | |||
- user: root | |||
- require: | |||
- pkg: salt_minion_packages | |||
- {{ minion.install_state }} | |||
salt_minion_grains_placeholder: | |||
file.touch: |
@@ -5,7 +5,7 @@ salt_graph_packages: | |||
pkg.latest: | |||
- names: {{ minion.graph_pkgs }} | |||
- require: | |||
- pkg: salt_minion_packages | |||
- {{ minion.install_state }} | |||
salt_graph_states_packages: | |||
pkg.latest: |
@@ -1,9 +1,22 @@ | |||
{%- from "salt/map.jinja" import minion with context %} | |||
{%- if minion.enabled %} | |||
{%- if minion.source.get('engine', 'pkg') == 'pkg' %} | |||
salt_minion_packages: | |||
pkg.latest: | |||
- names: {{ minion.pkgs }} | |||
{%- if minion.source.version is defined %} | |||
- version: {{ minion.source.version }} | |||
{%- endif %} | |||
{%- elif minion.source.get('engine', 'pkg') == 'pip' %} | |||
salt_minion_packages: | |||
pip.installed: | |||
- name: salt{% if minion.source.version is defined %}=={{ minion.source.version }}{% endif %} | |||
{%- endif %} | |||
/etc/salt/minion.d/minion.conf: | |||
file.managed: | |||
@@ -12,7 +25,7 @@ salt_minion_packages: | |||
- group: root | |||
- template: jinja | |||
- require: | |||
- pkg: salt_minion_packages | |||
- {{ minion.install_state }} | |||
- watch_in: | |||
- service: salt_minion_service | |||
@@ -21,4 +34,4 @@ salt_minion_service: | |||
- name: {{ minion.service }} | |||
- enable: true | |||
{%- endif %} | |||
{%- endif %} |