From 23fd8b64af20345a17a1e0b0c9e84f699b1c58bc Mon Sep 17 00:00:00 2001 From: Niels Abspoel Date: Fri, 6 Feb 2015 22:27:55 +0100 Subject: [PATCH] Fix #39 multi master support to minion This will fix #39 And it will be backwards compatible with the current pillar configuration. --- pillar.example | 8 ++++++++ salt/files/minion.d/_defaults.conf | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/pillar.example b/pillar.example index a4a366b..aadce72 100644 --- a/pillar.example +++ b/pillar.example @@ -30,7 +30,15 @@ salt: # salt minion config: minion: + + # single master setup master: salt + + # multi master setup + master: + - salt_master_1 + - salt_master_2 + fileserver_backend: - git - roots diff --git a/salt/files/minion.d/_defaults.conf b/salt/files/minion.d/_defaults.conf index 2f70112..7c656eb 100644 --- a/salt/files/minion.d/_defaults.conf +++ b/salt/files/minion.d/_defaults.conf @@ -23,7 +23,26 @@ # Set the location of the salt master server. If the master server cannot be # resolved, then the minion will fail to start. +# master:salt +{%- if 'master' in cfg_minion -%} +{%- if cfg_minion['master'] is not string %} +master: + {% for name in cfg_minion['master'] -%} + - {{ name }} + {% endfor -%} +{%- else %} {{ get_config('master', 'salt') }} +{%- endif %} +{% elif 'master' in cfg_salt -%} +{%- if cfg_salt['master'] is not string %} +master: + {% for name in cfg_salt['master'] -%} + - {{ name }} + {% endfor -%} +{%- else %} +{{ get_config('master', 'salt') }} +{%- endif -%} +{%- endif %} # If multiple masters are specified in the 'master' setting, the default behavior # is to always try to connect to them in the order they are listed. If random_master is