Browse Source

Optional installation source - pip

source:engine metadata created - defaults to pkg
installation, pip installation alternative added
tags/0.4
Adam Tengler 8 years ago
parent
commit
caedd97958
15 changed files with 83 additions and 15 deletions
  1. +13
    -1
      README.rst
  2. +3
    -1
      metadata/service/master/cluster.yml
  3. +3
    -1
      metadata/service/master/single.yml
  4. +2
    -0
      metadata/service/minion/cluster.yml
  5. +2
    -0
      metadata/service/minion/local.yml
  6. +2
    -0
      metadata/service/minion/master.yml
  7. +2
    -2
      salt/api.sls
  8. +20
    -0
      salt/map.jinja
  9. +1
    -1
      salt/master/api.sls
  10. +1
    -1
      salt/master/minion.sls
  11. +16
    -3
      salt/master/service.sls
  12. +1
    -1
      salt/minion/ca.sls
  13. +1
    -1
      salt/minion/grains.sls
  14. +1
    -1
      salt/minion/graph.sls
  15. +15
    -2
      salt/minion/service.sls

+ 13
- 1
README.rst View File

@@ -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

+ 3
- 1
metadata/service/master/cluster.yml View File

@@ -8,5 +8,7 @@ parameters:
salt:
master:
enabled: true
source:
engine: pkg
command_timeout: 5
worker_threads: 2
worker_threads: 2

+ 3
- 1
metadata/service/master/single.yml View File

@@ -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}

+ 2
- 0
metadata/service/minion/cluster.yml View File

@@ -6,6 +6,8 @@ parameters:
salt:
minion:
enabled: true
source:
engine: pkg
masters:
- host: ${_param:salt_master_host}
- host: ${_param:salt_master_host}

+ 2
- 0
metadata/service/minion/local.yml View File

@@ -6,6 +6,8 @@ parameters:
salt:
minion:
enabled: true
source:
engine: pkg
local: true
pillar:
engine: reclass

+ 2
- 0
metadata/service/minion/master.yml View File

@@ -6,6 +6,8 @@ parameters:
salt:
minion:
enabled: true
source:
engine: pkg
master:
host: ${_param:salt_master_host}
mine:

+ 2
- 2
salt/api.sls View File

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

+ 20
- 0
salt/map.jinja View File

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

+ 1
- 1
salt/master/api.sls View File

@@ -9,7 +9,7 @@ salt_api_packages:
- names:
- salt-api
- require:
- pkg: salt_master_packages
- {{ master.install_state }}

salt_api_service:
service.running:

+ 1
- 1
salt/master/minion.sls View File

@@ -10,7 +10,7 @@ include:
file.directory:
- makedirs: true
- require:
- pkg: salt_master_packages
- {{ master.install_state }}

{%- for name, environment in master.environment.iteritems() %}


+ 16
- 3
salt/master/service.sls View File

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

+ 1
- 1
salt/minion/ca.sls View File

@@ -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


+ 1
- 1
salt/minion/grains.sls View File

@@ -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:

+ 1
- 1
salt/minion/graph.sls View File

@@ -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:

+ 15
- 2
salt/minion/service.sls View File

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

Loading…
Cancel
Save