summaryrefslogtreecommitdiff
path: root/cloudinit/config/cc_salt_minion.py
diff options
context:
space:
mode:
Diffstat (limited to 'cloudinit/config/cc_salt_minion.py')
-rw-r--r--cloudinit/config/cc_salt_minion.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/cloudinit/config/cc_salt_minion.py b/cloudinit/config/cc_salt_minion.py
index 2b388372..5112a347 100644
--- a/cloudinit/config/cc_salt_minion.py
+++ b/cloudinit/config/cc_salt_minion.py
@@ -25,6 +25,9 @@ specified with ``public_key`` and ``private_key`` respectively.
salt_minion:
conf:
master: salt.example.com
+ grains:
+ role:
+ - web
public_key: |
------BEGIN PUBLIC KEY-------
<key data>
@@ -65,6 +68,12 @@ def handle(name, cfg, cloud, log, _args):
minion_data = util.yaml_dumps(salt_cfg.get('conf'))
util.write_file(minion_config, minion_data)
+ if 'grains' in salt_cfg:
+ # add grains to /etc/salt/grains
+ grains_config = os.path.join(config_dir, 'grains')
+ grains_data = util.yaml_dumps(salt_cfg.get('grains'))
+ util.write_file(grains_config, grains_data)
+
# ... copy the key pair if specified
if 'public_key' in salt_cfg and 'private_key' in salt_cfg:
if os.path.isdir("/etc/salt/pki/minion"):