How to check file system is mounted?

6,081 views
Skip to first unread message

Robert F

unread,
May 22, 2016, 5:45:34 PM5/22/16
to Ansible Project
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".

Thank you.

Jean-Yves LENHOF

unread,
May 23, 2016, 5:53:46 AM5/23/16
to ansible...@googlegroups.com, Robert F
Le 2016-05-22 23:45, Robert F a écrit :
> 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:


Why not using the "ansible_mounts" fact ?

Regards,

Paul Tötterman

unread,
May 23, 2016, 6:42:29 AM5/23/16
to Ansible Project, robert....@gmail.com
Why not using the "ansible_mounts" fact ?

That seems to be an array of hashes. What would be the best way to check, in your experience?

Cheers,
Paul

Josh Smift

unread,
May 23, 2016, 6:46:12 AM5/23/16
to ansible...@googlegroups.com
RF> Currently I'm doing the following but it doesn't work:
RF>
RF> - name: check if mounted
RF> command: mount | grep <file_system>
RF> register: result
RF>
RF> - debug: var={{ result.stdout }}
RF>
RF> I get the error:
RF> failed... 'Consider using mount module rather than running mount'...
RF> stderr:
RF> Usage:
RF> mount [-lhV]
RF> ...

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 (j...@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.

Paul Tötterman

unread,
May 23, 2016, 6:57:18 AM5/23/16
to Ansible Project, j...@care.com
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" 

Cheers,
Paul
Reply all
Reply to author
Forward
0 new messages