From 872e6e3ec9b213abfb2dc6c8e57b25ee8b09f9c3 Mon Sep 17 00:00:00 2001 From: Matthew Scott Date: Tue, 5 Nov 2013 16:53:29 -0600 Subject: [PATCH] Allow 'minion' to be absent in cloud.profiles entries - fixes #701 Prior to this patch, you'd get the following traceback if you didn't specify a 'minion' key in an entry in /etc/salt/cloud.profiles: $ sudo salt-cloud -m /etc/salt/cloud.map [INFO ] salt-cloud starting [INFO ] Applying map from '/etc/salt/cloud.map'. [ERROR ] There was a query error: 'minion' Traceback (most recent call last): File "/opt/salt-cloud/src/salt-cloud/saltcloud/cli.py", line 273, in run dmap = mapper.map_data() File "/opt/salt-cloud/src/salt-cloud/saltcloud/cloud.py", line 1102, in map_data if 'grains' in nodedata['minion']: KeyError: 'minion' --- saltcloud/cloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/saltcloud/cloud.py b/saltcloud/cloud.py index be8439d7..8a3a7c88 100644 --- a/saltcloud/cloud.py +++ b/saltcloud/cloud.py @@ -1099,7 +1099,7 @@ def map_data(self, cached=False): # merge minion grains from map file if 'minion' in overrides: if 'grains' in overrides['minion']: - if 'grains' in nodedata['minion']: + if 'grains' in nodedata.get('minion', {}): nodedata['minion']['grains'].update( overrides['minion']['grains'] )