Hi all!

I've been digging Ansible on the first few days I've been trying to play 
with it. I ran into some complications with mount, though. My use case is 
that I want to add the "acl" option to the "/" mount. If I want to try and 
have the mount module just add that option (or just set the options) I have 
a whole bunch of other values I need to know (source and fstype) and if I 
don't specify some others (dump and passno) then they get set to default 
values.

Ideally what I'd like to see is something where I can just set the options 
for a given mount point without having to know anything else. Bonus points 
for just adding or removing specific options rather than having to set the 
whole lot.

I've finally landed on the following solution but it is less than idea. My 
questions are 1) is there a better way to do this that i've missed so far? 
2) would it make sense to make mount smarter so that it can default to 
existing values if only a name or source are passed (basically run the 
logic from this playbook internally)? 3) would it make more sense to create 
something like "mount_option" that would be its own thing ("mount_option: 
name=/ value=acl state=present", "mount_option: source=/dev/sda1 value=rw 
state=missing")?


- shell: "grep ' / ' /etc/mtab | awk '{print $1}'"
  register: root_device

- shell: "grep ' / ' /etc/mtab | awk '{print $3}'"
  register: root_fstype

- shell: "OPTS=$(grep ' / ' /etc/mtab | awk '{print $4}'); if ! $( echo 
\"$OPTS\" | tr ',' \"\n\" | grep -qx 'acl' ); then OPTS=$OPTS,acl; fi; echo 
$OPTS"
  register: root_options

- shell: "grep ' / ' /etc/mtab | awk '{print $5}'"
  register: root_dump

- shell: "grep ' / ' /etc/mtab | awk '{print $6}'"
  register: root_pass

- mount: name=/ src={{ root_device.stdout }} fstype={{ root_fstype.stdout 
}} state=mounted opts={{ root_options.stdout }} dump={{ root_dump.stdout }} 
passno={{ root_pass.stdout }}


An unexpected and not really desired byproduct of this is that I end up 
with several "changed" values in my recap because it ends up running all of 
these shell commands every time.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/3a8b036b-b13d-4b24-9b18-cdff4e9ec81d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to