Issue with fstab entry added by ansible mount module its adding white space with \40 character

216 views
Skip to first unread message

Deepak B K

unread,
Aug 22, 2023, 2:48:48 AM8/22/23
to Ansible Project
Hi Groups, 

I am using ansible.builtin.mountd  module to mount and add the entry in the fstab in couple of hosts  but I see that  its adding \040  for the white space  . How to get rid of this  junk character  being added to /etc/fstab?

192.50.250.2:\040/POOL1\040 /POOL1 nfs nfsvers=3,soft,bg,timeo=12\0400\0400 0 0

My code is 
 vars:
  mount_point:
  - path: "/P1"
    nfs_server: "192.50.250.2:"
    source: "/P1"
    fstype: nfs
    opts: "nfsvers=3,soft,bg,timeo=12 0 0"
  - path: "/Test-Data"
    nfs_server: "192.62.150.231:"
    source: "/volume9/Test-Data"
    fstype: nfs
    opts: "nfsvers=3,rw,bg,rsize=131072,wsize=131072,soft,proto=tcp,sec=sys 0 0"

  nfs_mount_hosts:
    - "dev-app601"
    - "dev-sgapp601"
    - "tst-sgapp601"
    - "tst-app601"


- name: Mount NFS directories P1
   become: true
   remote_user: testops
   ansible.posix.mount:
     fstype: "{{ mount_point[0].fstype }}"
     src: "{{ mount_point[0].nfs_server }} {{ mount_point[0].source }} "
     path: "{{ mount_point[0].path}}"
     opts: "{{ mount_point[0].opts }}"
     state: mounted
   delegate_to: "{{ item }}"
   loop: "{{ nfs_mount_hosts }}"

I appreciate your help. 

Thanks 
Deepak Kumar


Todd Lewis

unread,
Aug 22, 2023, 7:21:53 AM8/22/23
to ansible...@googlegroups.com, uto...@gmail.com
Note that "\040" is octal. The hex equivalent is 0x20 or decimal 32, a.k.a. and ascii space.

If the octal expression is being expressed in your /etc/fstab rather than the literal space character, that sound like a bug. Which versions of Ansible and ansible.posix are you using?
--
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 ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/244ab497-16fd-44dc-a7fe-6f96d82b0febn%40googlegroups.com.

-- 
Todd

Felix Fontein

unread,
Aug 22, 2023, 7:40:08 AM8/22/23
to ansible...@googlegroups.com
Hi,

please take a look at your task:

> - name: Mount NFS directories P1
> become: true
> remote_user: testops
> ansible.posix.mount:
> fstype: "{{ mount_point[0].fstype }}"
> src: "{{ mount_point[0].nfs_server }} {{ mount_point[0].source
> }} "

you are *explicitly* asking for `src` to have a space in the middle and
one at the end. Since spaces are used as separators in /etc/fstab, the
module correctly quotes your `src` value with space being replaced by
\040.

The same is true for \040 in the options, that comes from the value you
provide, which contains spaces:

> opts: "nfsvers=3,soft,bg,timeo=12 0 0"

Cheers,
Felix


Deepak B K

unread,
Aug 23, 2023, 1:44:58 AM8/23/23
to ansible...@googlegroups.com
Hi  Lewis , 

I am using the  v 1.5.4  for ansible.posix version

ansible [core 2.13.4]
  config file = /home/deep/admin_git/cicd_gkr_admin_release/ansible.cfg
  configured module search path = ['/home/deep/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/deep/.local/lib/python3.10/site-packages/ansible
  ansible collection location = /home/deep/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/deep/.local/bin/ansible
  python version = 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]
  jinja version = 3.1.2
 # /home/deep/.ansible/collections/ansible_collections


Collection         Version
------------------ -------
ansible.posix      1.5.4  

thanks 
Deepak Kumar


Deepak B K

unread,
Aug 23, 2023, 1:53:05 AM8/23/23
to ansible...@googlegroups.com
Hi Felix , 

Thank you for the input. By combining  the  src and nfs servers to src variable I am able to get rid of  one space  but I have a variable path where I have this problem.  not sure how to handle  variable path?  and  for the opts i did get rid  of  fsck check which will default is zero 

source: "192.50.250.2:/P1"
opts: "nfsvers=3,soft,bg,timeo=12"

10.50.226.248:/POOL1\040 /POOL1 nfs nfsvers=3,soft,bg,timeo=12 0 0

I am just looking to get rid of the  \040 on the path variable.

Thanks,
Deepak Kumar

--
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 ansible-proje...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages