From b264f8c1cd9ff40a1eb7076b64318703dfbce7af Mon Sep 17 00:00:00 2001 From: Jiri Tyr Date: Mon, 21 Nov 2016 13:55:51 +0000 Subject: [PATCH] Fall back if mountinfo reading failed (fixing #5603) --- lib/ansible/modules/system/mount.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/ansible/modules/system/mount.py b/lib/ansible/modules/system/mount.py index 9e67e1f60a3..b94752ff520 100644 --- a/lib/ansible/modules/system/mount.py +++ b/lib/ansible/modules/system/mount.py @@ -398,7 +398,7 @@ def is_bind_mounted(module, linux_mounts, dest, src=None, fstype=None): is_mounted = False - if get_platform() == 'Linux': + if get_platform() == 'Linux' and linux_mounts is not None: if src is None: # That's for unmounted/absent if dest in linux_mounts: @@ -439,7 +439,7 @@ def get_linux_mounts(module): try: f = open(mntinfo_file) except IOError: - module.fail_json(msg="Cannot open file %s" % mntinfo_file) + return lines = map(str.strip, f.readlines()) @@ -604,6 +604,11 @@ def main(): if get_platform() == 'Linux': linux_mounts = get_linux_mounts(module) + if linux_mounts is None: + args['warnings'] = ( + 'Cannot open file /proc/self/mountinfo. ' + 'Bind mounts might be misinterpreted.') + # Override defaults with user specified params for key in ('src', 'fstype', 'passno', 'opts', 'dump', 'fstab'): if module.params[key] is not None: