# Error in lineinfile module

**URL:** <https://forum.ansible.com/t/error-in-lineinfile-module/12494>\
**Category:** Ansible Project\
**Created:** [March 13, 2013, 6:49pm UTC](https://forum.ansible.com/t/error-in-lineinfile-module/12494 "2013-03-13T18:49:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kavin](https://avatars.discourse-cdn.com/v4/letter/k/ba8739/32.png) [@Kavin](https://forum.ansible.com/u/Kavin)\
**Post date:** [March 13, 2013, 6:49pm UTC](https://forum.ansible.com/t/error-in-lineinfile-module/12494/1 "2013-03-13T18:49:38Z")

</div>

I have the latest version of Ansible and I keep getting the following stack trace in lineinfile module, Also i have copied my playbook below.

Stacktrace:

fatal: [d7] =\> failed to parse: Traceback (most recent call last):  
File “/root/.ansible/tmp/ansible-1363200342.59-196252252580469/lineinfile”, line 1031, in   
main()  
File “/root/.ansible/tmp/ansible-1363200342.59-196252252580469/lineinfile”, line 270, in main  
params[‘insertafter’], params[‘insertbefore’], create, backup)  
File “/root/.ansible/tmp/ansible-1363200342.59-196252252580469/lineinfile”, line 144, in present  
mre = re.compile(regexp)  
File “/usr/lib64/python2.6/re.py”, line 190, in compile  
return \_compile(pattern, flags)  
File “/usr/lib64/python2.6/re.py”, line 245, in \_compile  
raise error, v # invalid expression  
sre\_constants.error: nothing to repeat

fatal: [d8] =\> failed to parse: Traceback (most recent call last):  
File “/root/.ansible/tmp/ansible-1363200342.59-246123346146030/lineinfile”, line 1031, in   
main()  
File “/root/.ansible/tmp/ansible-1363200342.59-246123346146030/lineinfile”, line 270, in main  
params[‘insertafter’], params[‘insertbefore’], create, backup)  
File “/root/.ansible/tmp/ansible-1363200342.59-246123346146030/lineinfile”, line 144, in present  
mre = re.compile(regexp)  
File “/usr/lib64/python2.6/re.py”, line 190, in compile  
return \_compile(pattern, flags)  
File “/usr/lib64/python2.6/re.py”, line 245, in \_compile  
raise error, v # invalid expression  
sre\_constants.error: nothing to repeat

FATAL: all hosts have already failed – aborting

Playbook:

- name: Add Hardlimit  
lineinfile: dest=/etc/security/limits.conf regexp=‘\* hard nofile 100000’ line=‘\* hard nofile 100000’ state=present  
only\_if: ‘$is\_centos’  
tags:

- addlimits

- name: Add Hardlimit  
lineinfile: dest=/etc/security/limits.conf regexp=‘\* soft nofile 100000’ line=‘\* soft nofile 100000’ state=present  
only\_if: ‘$is\_centos’  
tags:

- addlimits

- name: Add Hardlimit  
lineinfile: dest=/etc/security/limits.conf regexp=‘root hard nofile 100000’ line=‘\* hard nofile 100000’ state=present  
only\_if: ‘$is\_centos’  
tags:

- addlimits

- name: Add Hardlimit  
lineinfile: dest=/etc/security/limits.conf regexp=‘root soft nofile 100000’ line=‘\* soft nofile 100000’ state=present  
only\_if: ‘$is\_centos’  
tags:

- addlimits

Regards,–  
Kavin Kankeshwar

---

<div class="post-metadata">

**Author:** ![James8](https://avatars.discourse-cdn.com/v4/letter/j/ec9cab/32.png) [@James8](https://forum.ansible.com/u/James8)\
**Post date:** [March 13, 2013, 8:39pm UTC](https://forum.ansible.com/t/error-in-lineinfile-module/12494/2 "2013-03-13T20:39:30Z")

</div>

Hi Kavin,  
Sent this to you privately but I think this has been working fine for us:

- name: Add the hard limits configuraiton for CitrusLeaf  
action: lineinfile dest=/etc/security/limits.conf create=no insertafter=EOF regexp=“hard nofile 100000” line=“\* hard nofile 100000” state=present  
tags:

- LimitsConf

- name: Add the soft limits configuraiton for CitrusLeaf  
action: lineinfile dest=/etc/security/limits.conf create=no insertafter=EOF regexp=“soft nofile 100000” line=“\* soft nofile 100000” state=present  
tags:

- LimitsConf

---

<div class="post-metadata">

**Author:** ![Kavin](https://avatars.discourse-cdn.com/v4/letter/k/ba8739/32.png) [@Kavin](https://forum.ansible.com/u/Kavin)\
**Post date:** [March 13, 2013, 9:47pm UTC](https://forum.ansible.com/t/error-in-lineinfile-module/12494/3 "2013-03-13T21:47:37Z")

</div>

Thanks that Works !!! Figured out by issues was the regex was wrong should have done “\*” to escape \* and match it.

Regards,–  
Kavin Kankeshwar

---

<div class="post-metadata">

**Author:** ![Marco\_Crivellaro](https://avatars.discourse-cdn.com/v4/letter/m/b487fb/32.png) [@Marco\_Crivellaro](https://forum.ansible.com/u/Marco_Crivellaro)\
**Post date:** [May 22, 2015, 9:04am UTC](https://forum.ansible.com/t/error-in-lineinfile-module/12494/4 "2015-05-22T09:04:12Z")

</div>

I’d suggest a different approach by using a regexp which will let you alter the exiting limit in the future:

- name: sets nofile hard limits  
lineinfile: \>  
dest=/etc/security/limits.conf  
line=“\* hard nofile 65536”  
regexp=“^\*\ +hard\ +nofile\ +[0-9]+$”  
state=“present”
