From c27bfd92b741193ebf44b83395e6f9dd920df2d0 Mon Sep 17 00:00:00 2001 From: carpenti Date: Wed, 5 Oct 2016 10:26:36 +0200 Subject: [PATCH 1/3] make the configuration of engines specific to master or minion the engines are now configured using the following pillars: * salt.master.engines * salt.minion.engines instead of a global salt.engines pillar. Note: the pillar.example provided seems to assume this behaviour. (the pillar is salt.master.engines.slack and not salt.engines.slack) --- salt/files/master.d/engine.conf | 2 +- salt/files/minion.d/engine.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/salt/files/master.d/engine.conf b/salt/files/master.d/engine.conf index d2ecec6..5e7089d 100644 --- a/salt/files/master.d/engine.conf +++ b/salt/files/master.d/engine.conf @@ -1,7 +1,7 @@ # # This file is managed by Salt! Do not edit by hand! # -{%- set engines = salt['pillar.get']('salt:engines') -%} +{%- set engines = salt['pillar.get']('salt:master:engines') -%} {%- if engines %} engines: {{ engines | yaml(False) | indent(2) }} diff --git a/salt/files/minion.d/engine.conf b/salt/files/minion.d/engine.conf index d2ecec6..17773e5 100644 --- a/salt/files/minion.d/engine.conf +++ b/salt/files/minion.d/engine.conf @@ -1,7 +1,7 @@ # # This file is managed by Salt! Do not edit by hand! # -{%- set engines = salt['pillar.get']('salt:engines') -%} +{%- set engines = salt['pillar.get']('salt:minion:engines') -%} {%- if engines %} engines: {{ engines | yaml(False) | indent(2) }} From 08d10376abb17afbc86184ed253e079473ba1405 Mon Sep 17 00:00:00 2001 From: carpenti Date: Wed, 5 Oct 2016 21:14:00 +0200 Subject: [PATCH 2/3] implementing retro-compatible behavior Using the old salt.engines pillar and merging it with the new salt.[master|minion].engines pillar. This way, it doesn't break previous behavior and permits to define common engines on master and minion. In the merge, the salt.[master|minion].engines pillar takes precedence if conflict as it's the more specific pillar. --- salt/files/master.d/engine.conf | 3 ++- salt/files/minion.d/engine.conf | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/salt/files/master.d/engine.conf b/salt/files/master.d/engine.conf index 5e7089d..746cdbe 100644 --- a/salt/files/master.d/engine.conf +++ b/salt/files/master.d/engine.conf @@ -1,7 +1,8 @@ # # This file is managed by Salt! Do not edit by hand! # -{%- set engines = salt['pillar.get']('salt:master:engines') -%} +{%- set engines = salt['pillar.get']('salt:engines') -%} +{%- set engines = salt['pillar.get']('salt:master:engines', default=engines, merge=True) -%} {%- if engines %} engines: {{ engines | yaml(False) | indent(2) }} diff --git a/salt/files/minion.d/engine.conf b/salt/files/minion.d/engine.conf index 17773e5..658f0e0 100644 --- a/salt/files/minion.d/engine.conf +++ b/salt/files/minion.d/engine.conf @@ -1,7 +1,8 @@ # # This file is managed by Salt! Do not edit by hand! # -{%- set engines = salt['pillar.get']('salt:minion:engines') -%} +{%- set engines = salt['pillar.get']('salt:engines') -%} +{%- set engines = salt['pillar.get']('salt:minion:engines', default=engines, merge=True) -%} {%- if engines %} engines: {{ engines | yaml(False) | indent(2) }} From 3098aebcadfdd33188461731d0ebd25a4db1ccee Mon Sep 17 00:00:00 2001 From: carpenti Date: Wed, 5 Oct 2016 22:28:33 +0200 Subject: [PATCH 3/3] add engines as a reserved_keys to not add generic configuration --- salt/files/master.d/f_defaults.conf | 2 +- salt/files/minion.d/f_defaults.conf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/salt/files/master.d/f_defaults.conf b/salt/files/master.d/f_defaults.conf index 6550c56..c613ee7 100644 --- a/salt/files/master.d/f_defaults.conf +++ b/salt/files/master.d/f_defaults.conf @@ -1,6 +1,6 @@ # This file managed by Salt, do not edit by hand!! # Based on salt version 2015.8.7 default config -{% set reserved_keys = ['master', 'minion', 'cloud', 'salt_cloud_certs'] -%} +{% set reserved_keys = ['master', 'minion', 'cloud', 'salt_cloud_certs', 'engines'] -%} {% set cfg_salt = pillar.get('salt', {}) -%} {% set cfg_master = cfg_salt.get('master', {}) -%} {%- macro get_config(configname, default_value) -%} diff --git a/salt/files/minion.d/f_defaults.conf b/salt/files/minion.d/f_defaults.conf index 4178d42..c6629f0 100644 --- a/salt/files/minion.d/f_defaults.conf +++ b/salt/files/minion.d/f_defaults.conf @@ -1,7 +1,7 @@ # This file managed by Salt, do not edit by hand!! # Based on salt version 2015.8.7 default config # -{% set reserved_keys = ['master', 'minion', 'cloud', 'salt_cloud_certs'] -%} +{% set reserved_keys = ['master', 'minion', 'cloud', 'salt_cloud_certs', 'engines'] -%} {% set cfg_salt = pillar.get('salt', {}) -%} {% set cfg_minion = cfg_salt.get('minion', {}) -%} {% set default_keys = [] -%} @@ -1025,4 +1025,4 @@ alternative.mongo.{{ name }}: {{ value }} {%- if configname not in reserved_keys and configname not in default_keys %} {{ configname }}: {{ cfg_minion[configname]|json }} {%- endif %} -{%- endfor %} \ No newline at end of file +{%- endfor %}