Not undestanding exactly what you want to achieve... 

For the syntax error you forgot a quote
So instead of this

target: "{{ input | regex_replace('\\sSSLFile.*, '\\1') }}"
You need this
target: "{{ input | regex_replace('\\sSSLFile.*' , '\\1') }}"

Regards, 

Le 15 janvier 2020 08:59:32 GMT+01:00, Shifa Shaikh <[email protected]> a 
écrit :
>Reading the contents of the file is not the challenge. I used both
>sllurp 
>as well as cat and I can see the file contents in the debug. The error 
>occurs when I regex for the desired string. 
>
>    - name: Slurp certificate entries
>      slurp:
>        src: "{{ httpd_home }}/conf/httpd.conf"
>      register: filecontent
>
>    - name: Find certificate entries
>      set_fact:
>        input: "{{ filecontent['content'] | b64decode }}"
>
>    - debug:
>        msg: "{{ input }}"
>
>    - name: Regex String
>      set_fact:
>        target: "{{ input | regex_replace('\\sSSLFile.*, '\\1') }}"
>
>
>The regex task fails where we are assigning the set_fact "target" with
>the 
>below error:
>
>TASK [Regex String] ***************************************
>>
>> *task path: /app/test.yml:908*The full traceback is:
>> Traceback (most recent call last):
>> File
>"/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", 
>> line 144, in run
>> res = self._execute()
>> File
>"/usr/lib/python2.7/site-packages/ansible/executor/task_executor.py", 
>> line 576, in _execute
>> self._task.post_validate(templar=templar)
>> File "/usr/lib/python2.7/site-packages/ansible/playbook/task.py",
>line 
>> 268, in post_validate
>> super(Task, self).post_validate(templar)
>> File "/usr/lib/python2.7/site-packages/ansible/playbook/base.py",
>line 
>> 384, in post_validate
>> value = templar.template(getattr(self, name))
>> File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py",
>line 
>> 584, in template
>> disable_lookups=disable_lookups,
>> File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py",
>line 
>> 539, in template
>> disable_lookups=disable_lookups,
>> File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py",
>line 
>> 773, in do_template
>> data = _escape_backslashes(data, myenv)
>> File "/usr/lib/python2.7/site-packages/ansible/template/__init__.py",
>line 
>> 145, in _escape_backslashes
>> for token in jinja_env.lex(d2):
>> File "/usr/lib/python2.7/site-packages/jinja2/lexer.py", line 733, in
>
>> tokeniter
>> name, filename)
>> TemplateSyntaxError: unexpected char u'\\' at 51
>> line 1 fatal: [10.9.9.11]: FAILED! => {
>> "msg": "Unexpected failure during module execution.", 
>> "stdout": ""
>> }
>
>
>On Wednesday, January 15, 2020 at 12:04:52 PM UTC+5:30, Jean-Yves
>LENHOF 
>wrote:
>>
>> Hi,
>>
>> Perhaps you should better use slurp module to register the content of
>the 
>> file and do some regexp to print what you want on it...
>>
>>
>>
>https://docs.ansible.com/ansible/latest/modules/slurp_module.html#slurp-module
>>
>> Regards,
>>
>>
>> Le 15/01/2020 à 06:34, Shifa Shaikh a écrit :
>>
>> I wish to search for all entries of string starting with "SSLFile" or
>
>> starting with "<whitespache>SSLFile" in a file(httpd.conf) and
>register 
>> it to a variable and print all the matches found.  
>>
>> The string is found as evident from the output and the file is not 
>> modified which is good; but I'm unable to print (debug) it. I get
>error as 
>> I try to print. Below is my playbook: 
>>
>>     - name: Find entries
>>       lineinfile:
>>         path: "/tmp/httpd.conf"
>>         regexp: "\\sSSLFile.*"
>>         state: absent
>>       check_mode: yes
>>       changed_when: false
>>       register: filedet
>>
>>     - debug:
>>         msg: "{{ filedet }}"
>>
>>     - debug:
>>         msg: "{{ item.split()[1] }}"
>>       with_items:
>>         - "{{ filedet.stdout_lines }}"
>>
>> I get the below error when i run the playbook:
>>
>>
>> ok: [10.9.9.11] => {
>>> "backup": "", 
>>> "changed": false, 
>>> "diff": [
>>> {
>>> "after": "", 
>>> "after_header": "/tmp/httpd.conf (content)", 
>>> "before": "", 
>>> "before_header": "/tmp/httpd.conf (content)"
>>> }, 
>>> {
>>> "after_header": "/tmp/httpd.conf (file attributes)", 
>>> "before_header": "/tmp/httpd.conf (file attributes)"
>>> }
>>> ], 
>>> "found": 1, 
>>> "invocation": {
>>> "module_args": {
>>> "attributes": null, 
>>> "backrefs": false, 
>>> "backup": false, 
>>> "content": null, 
>>> "create": false, 
>>> "delimiter": null, 
>>> "directory_mode": null, 
>>> "firstmatch": false, 
>>> "follow": false, 
>>> "force": null, 
>>> "group": null, 
>>> "insertafter": null, 
>>> "insertbefore": null, 
>>> "line": null, 
>>> "mode": null, 
>>> "owner": null, 
>>> "path": "/tmp/httpd.conf", 
>>> "regexp": "\\sSSLFile.*", 
>>> "remote_src": null, 
>>> "selevel": null, 
>>> "serole": null, 
>>> "setype": null, 
>>> "seuser": null, 
>>> "src": null, 
>>> "state": "absent", 
>>> "unsafe_writes": null, 
>>> "validate": null
>>> }
>>> }, 
>>> "msg": "1 line(s) removed"
>>> } TASK [debug] 
>>> *******************************************************************
>>>
>>> *task path: /app/test.yml:924 *ok: [10.9.9.11] => {
>>> "msg": {
>>> "backup": "", 
>>> "changed": false, 
>>> "diff": [
>>> {
>>> "after": "", 
>>> "after_header": "/tmp/httpd.conf (content)", 
>>> "before": "", 
>>> "before_header": "/tmp/httpd.conf (content)"
>>> }, 
>>> {
>>> "after_header": "/tmp/httpd.conf (file attributes)", 
>>> "before_header": "/tmp/httpd.conf (file attributes)"
>>> }
>>> ], 
>>> "failed": false, 
>>> "found": 1, 
>>> "msg": "1 line(s) removed"
>>> }
>>> } TASK [debug] 
>>> *******************************************************************
>>>
>>> *task path: /app/test.yml:928 *fatal: [10.9.9.11]: FAILED! => {
>>> "msg": "'dict object' has no attribute 'stdout_lines'"
>>> }
>>
>> Can you please suggest what is the correct way to print all the
>searched 
>> matched strings without modifying the file ? I wish to use the the 
>> registered variable to perform other actions later in the playbook.
>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>>
>https://groups.google.com/d/msgid/ansible-project/47deda2a-1a8c-4387-9a5b-d2ea548ad752%40googlegroups.com
>
>>
><https://groups.google.com/d/msgid/ansible-project/47deda2a-1a8c-4387-9a5b-d2ea548ad752%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>
>-- 
>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 view this discussion on the web visit
>https://groups.google.com/d/msgid/ansible-project/790b6d70-a7bb-4465-b802-982f8fe05366%40googlegroups.com.

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma 
brièveté.

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7F8B69DC-C9EE-4218-9A64-C2CDA0CAEC99%40lenhof.eu.org.

Reply via email to