Я пытаюсь использовать Ansible's lineinfile module, чтобы гарантировать, что строка, начинающаяся с *, присутствует в файле. Тем не менее, задача не каждый раз, когда со следующей ошибкойAnsible escape * in regex
TASK: [nginx | Persist soft ulimit] *******************************************
failed: [aa.bb.cc.dd] => {"failed": true, "parsed": false}
BECOME-SUCCESS-xbfifannrufpkcmmfmtdigorggzvhzsx
Traceback (most recent call last):
File "/home/ubuntu/.ansible/tmp/ansible-tmp-1442590356.11-253796220854159/lineinfile", line 2210, in <module>
main()
File "/home/ubuntu/.ansible/tmp/ansible-tmp-1442590356.11-253796220854159/lineinfile", line 394, in main
ins_aft, ins_bef, create, backup, backrefs)
File "/home/ubuntu/.ansible/tmp/ansible-tmp-1442590356.11-253796220854159/lineinfile", line 208, in present
mre = re.compile(regexp)
File "/usr/lib/python2.7/re.py", line 190, in compile
return _compile(pattern, flags)
File "/usr/lib/python2.7/re.py", line 244, in _compile
raise error, v # invalid expression
sre_constants.error: nothing to repeat
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/xyz/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: auto-mux: Trying existing master
debug1: mux_client_request_session: master session id: 2
Shared connection to aa.bb.cc.dd closed.
Задача заключается в следующем
- name: Persist soft ulimit
lineinfile:
dest: /etc/security/limits.conf
regexp: "^\* soft nofile"
line: "* soft nofile 9000"
Учитывая типичное маскирование из регулярных выражений, я предположил, что это было бы отделался \, но Я просто получаю вышеуказанную ошибку.
анзибль является 1.9.2
$ ansible --version
$ ansible 1.9.2
Попробуйте 'регулярное выражение:«^ \\ * soft nofile "'. Если он обрабатывается с помощью Python, вам нужно использовать двойную обратную косую черту. –
Я пробовал это, но не заметил, что он успешно перешел к следующей задаче, в которой было одно имя '' 'и почти идентичное имя задачи! \\\ * действительно работает. –