Is there a canonical way in Ansible to check to see if a file system is mounted? The Ansible mount module doesn’t appear to provide this capability (or at least the examples don’t illustrate how it might be done). Currently I’m doing the following but it doesn’t work:
name: check if mounted
command: mount | grep <file_system>
register: result
debug: var={{ result.stdout }}
I get the error:
failed… ‘Consider using mount module rather than running mount’…
stderr:
Usage:
mount [-lhV]
…
What I’m hoping to replicate is running that command. If you run it when the file system is mounted and then do “echo $?” you’ll get “0”. However if the file system isn’t mounted, you’ll get “1”.
Currently I'm doing the following but it doesn't work:
- name: check if mounted
command: mount | grep <file_system>
register: result
- debug: var={{ result.stdout }}
I get the error:
failed... 'Consider using mount module rather than running mount'...
stderr:
Usage:
mount [-lhV]
...
If you can't get this with the ansible_mounts variable for whatever
reason, then what you're doing here should work, except that in order to
do the pipe, you need to use the 'shell' rather than the 'command' module.
-Josh (jbs@care.com)
(apologies for the automatic corporate disclaimer that follows)
This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.
If you can’t get this with the ansible_mounts variable for whatever
reason, then what you’re doing here should work, except that in order to
do the pipe, you need to use the ‘shell’ rather than the ‘command’ module.
Or:
command: mount
register: m
always_run: True
changed_when: False
…
when: “‘/path’ not in m.stdout”