From 89206a6b68d2f10b57746f1f12231140ccd7e52f Mon Sep 17 00:00:00 2001 From: Dag Wieers Date: Tue, 6 Nov 2012 16:39:10 +0100 Subject: [PATCH] Fix for an exception when for whatever reason the inventory script fails This avoids a traceback that gave no clue as to what was happening. --- lib/ansible/inventory/script.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ansible/inventory/script.py b/lib/ansible/inventory/script.py index a7561d5ed6f..126eee6d291 100644 --- a/lib/ansible/inventory/script.py +++ b/lib/ansible/inventory/script.py @@ -22,6 +22,7 @@ import ansible.constants as C from ansible.inventory.host import Host from ansible.inventory.group import Group from ansible import utils +from ansible import errors class InventoryScript(object): ''' Host inventory parser for ansible using external inventory scripts. ''' @@ -29,7 +30,10 @@ class InventoryScript(object): def __init__(self, filename=C.DEFAULT_HOST_LIST): cmd = [ filename, "--list" ] - sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + try: + sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + except OSError, e: + raise errors.AnsibleError("problem running %s (%s)" % (' '.join(cmd), e)) (stdout, stderr) = sp.communicate() self.data = stdout self.groups = self._parse()