diff --git a/lib/ansible/inventory/__init__.py b/lib/ansible/inventory/__init__.py index 865a6acf8d0..3c679ba67ea 100644 --- a/lib/ansible/inventory/__init__.py +++ b/lib/ansible/inventory/__init__.py @@ -279,12 +279,12 @@ class Inventory(object): vars.update(updated) if self._is_script: - cmd = subprocess.Popen( - [self.host_list,"--host",hostname], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE - ) - (out, err) = cmd.communicate() + cmd = [self.host_list,"--host",hostname] + try: + sp = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + except OSError, e: + raise errors.AnsibleError("problem running %s (%s)" % (' '.join(cmd), e)) + (out, err) = sp.communicate() results = utils.parse_json(out) # FIXME: this is a bit redundant with host.py and should share code