From b95f483b8d743f0d6bc527c21e35f0cbe64fbb26 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Wed, 23 Nov 2016 13:21:26 -0800 Subject: [PATCH] Force BSDs to use umount/mount instead of trying to use remount. (#5715) * Force BSDs to use umount/mount instead of trying to use remount. Fixes #5591 * Initialize out and err --- lib/ansible/modules/system/mount.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/ansible/modules/system/mount.py b/lib/ansible/modules/system/mount.py index b94752ff520..1d7fa8ac6c8 100644 --- a/lib/ansible/modules/system/mount.py +++ b/lib/ansible/modules/system/mount.py @@ -366,16 +366,26 @@ def remount(module, mount_bin, args): cmd += _set_fstab_args(args) cmd += [ args['name'], ] + out = err = '' try: - rc, out, err = module.run_command(cmd) + if get_platform().lower().endswith('bsd'): + # Note: Forcing BSDs to do umount/mount due to BSD remount not + # working as expected (suspect bug in the BSD mount command) + # Interested contributor could rework this to use mount options on + # the CLI instead of relying on fstab + # https://github.com/ansible/ansible-modules-core/issues/5591 + rc = 1 + else: + rc, out, err = module.run_command(cmd) except: rc = 1 + if rc != 0: - msg = out+err + msg = out + err if ismount(args['name']): rc, msg = umount(module, args['name']) if rc == 0: - rc,msg = mount(module, args) + rc, msg = mount(module, args) return rc, msg # Note if we wanted to put this into module_utils we'd have to get permission