diff --git a/lib/ansible/module_common.py b/lib/ansible/module_common.py index d6ed081faed..f56dc96f430 100644 --- a/lib/ansible/module_common.py +++ b/lib/ansible/module_common.py @@ -254,8 +254,11 @@ class AnsibleModule(object): return context try: ret = selinux.lgetfilecon(path) - except: - self.fail_json(path=path, msg='failed to retrieve selinux context') + except OSError, e: + if e.errno == errno.ENOENT: + self.fail_json(path=path, msg='path %s does not exist' % path) + else: + self.fail_json(path=path, msg='failed to retrieve selinux context') if ret[0] == -1: return context context = ret[1].split(':') diff --git a/library/file b/library/file index ff51608c231..4678edd6658 100644 --- a/library/file +++ b/library/file @@ -139,7 +139,7 @@ def main(): params = module.params state = params['state'] - path = os.path.expanduser(params['path']) + params['path'] = path = os.path.expanduser(params['path']) # source is both the source of a symlink or an informational passing of the src for a template module # or copy module, even if this module never uses it, it is needed to key off some things