<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic parse error in module panos_match_rule.py in Automation/API Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/parse-error-in-module-panos-match-rule-py/m-p/213678#M1669</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having some issues with the panos_match_rule.py module. The details are below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be appreciated.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;COMPONENT NAME&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;panos_match_rule.py&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ANSIBLE VERSION&lt;/P&gt;&lt;P&gt;ansible 2.5.2&lt;/P&gt;&lt;P&gt;&amp;nbsp; config file = /var/lib/awx/projects/sccm_dp_tob_sr_v2/ansible.cfg&lt;/P&gt;&lt;P&gt;&amp;nbsp; configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']&lt;/P&gt;&lt;P&gt;&amp;nbsp; ansible python module location = /usr/lib/python2.7/site-packages/ansible&lt;/P&gt;&lt;P&gt;&amp;nbsp; executable location = /usr/bin/ansible&lt;/P&gt;&lt;P&gt;&amp;nbsp; python version = 2.7.5 (default, May&amp;nbsp; 3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CONFIGURATION&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DEFAULT_HOST_LIST(/var/lib/awx/projects/sccm_dp_tob_sr_v2/ansible.cfg) = [u'/var/lib/awx/projects/sccm_dp_to&lt;/P&gt;&lt;P&gt;&amp;nbsp;HOST_KEY_CHECKING(/var/lib/awx/projects/sccm_dp_tob_sr_v2/ansible.cfg) = False&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;OS / ENVIRONMENT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PAN-OS 7.1.14&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SUMMARY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Playbook fails when running playbook to check for the existence of an existing firewall rule&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;STEPS TO REPRODUCE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;- hosts: palo_alto_sds&lt;/P&gt;&lt;P&gt;&amp;nbsp; connection: local&lt;/P&gt;&lt;P&gt;&amp;nbsp; gather_facts: no&lt;/P&gt;&lt;P&gt;&amp;nbsp; environment:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PYTHONHTTPSVERIFY: '0'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; tasks:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - name: &amp;lt;&amp;lt;&amp;lt;&amp;nbsp; PA_Pre_Check&amp;nbsp; &amp;gt;&amp;gt;&amp;gt; Matching Firewall Rule for IP(s) is already exist or not for Host Address&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; panos_match_rule:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_address: '10.10.10.104'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; username: 'admin'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password: 'admin'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rule_type: 'security'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_ip: '10.0.0.111'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination_ip: '1.1.1.1'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination_port: '443'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protocol: '6'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; register: duplicate_host&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EXPECTED RESULTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Playbook able to run successfully and register variable "duplicate_host"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ACTUAL RESULTS&lt;/P&gt;&lt;P&gt;TASK [&amp;lt;&amp;lt;&amp;lt; PA_Pre_Check&amp;nbsp; &amp;gt;&amp;gt;&amp;gt; Matching Firewall Rule for IP(s) is already exist or not for Host Address] **********************&lt;/P&gt;&lt;P&gt;task path: /var/lib/awx/projects/test-fw-rule/pa_pre_check.yml:10&lt;/P&gt;&lt;P&gt;Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/panos/panos_match_rule.py&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; ESTABLISH LOCAL CONNECTION FOR USER: root&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'echo ~ &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c '( umask 77 &amp;amp;&amp;amp; mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349 `" &amp;amp;&amp;amp; echo ansible-tmp-1525428719.86-138760169373349="` echo /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349 `" ) &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; PUT /root/.ansible/tmp/ansible-local-4058kH9DBK/tmpe5Bz5F TO /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/panos_match_rule.py&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/ /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/panos_match_rule.py &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'PYTHONHTTPSVERIFY=0 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/panos_match_rule.py &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/ &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;The full traceback is:&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/tmp/ansible_WJfeij/ansible_module_panos_match_rule.py", line 360, in main&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; response = device.op(cmd=test_string, vsys=vsys_id)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/usr/lib/python2.7/site-packages/pandevice/firewall.py", line 175, in op&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return super(Firewall, self).op(cmd, vsys, xml, cmd_xml, extra_qs, retry_on_peer)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/usr/lib/python2.7/site-packages/pandevice/base.py", line 3223, in op&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; element = self.xapi.op(cmd, vsys, cmd_xml, extra_qs, retry_on_peer=retry_on_peer)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/usr/lib/python2.7/site-packages/pandevice/base.py", line 3102, in method&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise the_exception&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;fatal: [10.10.10.104]: FAILED! =&amp;gt; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "changed": false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "invocation": {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "module_args": {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "api_key": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "category": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "destination_ip": "1.1.1.1",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "destination_port": 443,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "destination_zone": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ip_address": "10.10.10.104",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "protocol": 6,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rule_type": "security",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_ip": "10.0.0.111",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_port": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_user": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_zone": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "to_interface": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "username": "admin",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "vsys_id": "vsys1"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "msg": "ElementTree.fromstring ParseError: not well-formed (invalid token): line 44, column 20"&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to retry, use: --limit @/var/lib/awx/projects/test-fw-rule/pa_pre_check.retry&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PLAY RECAP *******************************************************************************************************************&lt;/P&gt;&lt;P&gt;10.10.10.104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ok=0&amp;nbsp;&amp;nbsp;&amp;nbsp; changed=0&amp;nbsp;&amp;nbsp;&amp;nbsp; unreachable=0&amp;nbsp;&amp;nbsp;&amp;nbsp; failed=1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 09 May 2018 05:08:54 GMT</pubDate>
    <dc:creator>sam.lee</dc:creator>
    <dc:date>2018-05-09T05:08:54Z</dc:date>
    <item>
      <title>parse error in module panos_match_rule.py</title>
      <link>https://live.paloaltonetworks.com/t5/automation-api-discussions/parse-error-in-module-panos-match-rule-py/m-p/213678#M1669</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having some issues with the panos_match_rule.py module. The details are below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be appreciated.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;COMPONENT NAME&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;panos_match_rule.py&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ANSIBLE VERSION&lt;/P&gt;&lt;P&gt;ansible 2.5.2&lt;/P&gt;&lt;P&gt;&amp;nbsp; config file = /var/lib/awx/projects/sccm_dp_tob_sr_v2/ansible.cfg&lt;/P&gt;&lt;P&gt;&amp;nbsp; configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']&lt;/P&gt;&lt;P&gt;&amp;nbsp; ansible python module location = /usr/lib/python2.7/site-packages/ansible&lt;/P&gt;&lt;P&gt;&amp;nbsp; executable location = /usr/bin/ansible&lt;/P&gt;&lt;P&gt;&amp;nbsp; python version = 2.7.5 (default, May&amp;nbsp; 3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;CONFIGURATION&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DEFAULT_HOST_LIST(/var/lib/awx/projects/sccm_dp_tob_sr_v2/ansible.cfg) = [u'/var/lib/awx/projects/sccm_dp_to&lt;/P&gt;&lt;P&gt;&amp;nbsp;HOST_KEY_CHECKING(/var/lib/awx/projects/sccm_dp_tob_sr_v2/ansible.cfg) = False&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;OS / ENVIRONMENT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PAN-OS 7.1.14&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SUMMARY&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Playbook fails when running playbook to check for the existence of an existing firewall rule&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;STEPS TO REPRODUCE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;---&lt;/P&gt;&lt;P&gt;- hosts: palo_alto_sds&lt;/P&gt;&lt;P&gt;&amp;nbsp; connection: local&lt;/P&gt;&lt;P&gt;&amp;nbsp; gather_facts: no&lt;/P&gt;&lt;P&gt;&amp;nbsp; environment:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PYTHONHTTPSVERIFY: '0'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; tasks:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - name: &amp;lt;&amp;lt;&amp;lt;&amp;nbsp; PA_Pre_Check&amp;nbsp; &amp;gt;&amp;gt;&amp;gt; Matching Firewall Rule for IP(s) is already exist or not for Host Address&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; panos_match_rule:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_address: '10.10.10.104'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; username: 'admin'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password: 'admin'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rule_type: 'security'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_ip: '10.0.0.111'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination_ip: '1.1.1.1'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination_port: '443'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protocol: '6'&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; register: duplicate_host&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EXPECTED RESULTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Playbook able to run successfully and register variable "duplicate_host"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ACTUAL RESULTS&lt;/P&gt;&lt;P&gt;TASK [&amp;lt;&amp;lt;&amp;lt; PA_Pre_Check&amp;nbsp; &amp;gt;&amp;gt;&amp;gt; Matching Firewall Rule for IP(s) is already exist or not for Host Address] **********************&lt;/P&gt;&lt;P&gt;task path: /var/lib/awx/projects/test-fw-rule/pa_pre_check.yml:10&lt;/P&gt;&lt;P&gt;Using module file /usr/lib/python2.7/site-packages/ansible/modules/network/panos/panos_match_rule.py&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; ESTABLISH LOCAL CONNECTION FOR USER: root&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'echo ~ &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c '( umask 77 &amp;amp;&amp;amp; mkdir -p "` echo /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349 `" &amp;amp;&amp;amp; echo ansible-tmp-1525428719.86-138760169373349="` echo /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349 `" ) &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; PUT /root/.ansible/tmp/ansible-local-4058kH9DBK/tmpe5Bz5F TO /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/panos_match_rule.py&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'chmod u+x /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/ /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/panos_match_rule.py &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'PYTHONHTTPSVERIFY=0 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/panos_match_rule.py &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;&amp;lt;10.10.10.104&amp;gt; EXEC /bin/sh -c 'rm -f -r /root/.ansible/tmp/ansible-tmp-1525428719.86-138760169373349/ &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp; sleep 0'&lt;/P&gt;&lt;P&gt;The full traceback is:&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/tmp/ansible_WJfeij/ansible_module_panos_match_rule.py", line 360, in main&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; response = device.op(cmd=test_string, vsys=vsys_id)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/usr/lib/python2.7/site-packages/pandevice/firewall.py", line 175, in op&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return super(Firewall, self).op(cmd, vsys, xml, cmd_xml, extra_qs, retry_on_peer)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/usr/lib/python2.7/site-packages/pandevice/base.py", line 3223, in op&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; element = self.xapi.op(cmd, vsys, cmd_xml, extra_qs, retry_on_peer=retry_on_peer)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "/usr/lib/python2.7/site-packages/pandevice/base.py", line 3102, in method&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise the_exception&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;fatal: [10.10.10.104]: FAILED! =&amp;gt; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "changed": false,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "invocation": {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "module_args": {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "api_key": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "application": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "category": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "destination_ip": "1.1.1.1",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "destination_port": 443,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "destination_zone": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ip_address": "10.10.10.104",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "protocol": 6,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "rule_type": "security",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_ip": "10.0.0.111",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_port": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_user": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "source_zone": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "to_interface": null,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "username": "admin",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "vsys_id": "vsys1"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "msg": "ElementTree.fromstring ParseError: not well-formed (invalid token): line 44, column 20"&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to retry, use: --limit @/var/lib/awx/projects/test-fw-rule/pa_pre_check.retry&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PLAY RECAP *******************************************************************************************************************&lt;/P&gt;&lt;P&gt;10.10.10.104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : ok=0&amp;nbsp;&amp;nbsp;&amp;nbsp; changed=0&amp;nbsp;&amp;nbsp;&amp;nbsp; unreachable=0&amp;nbsp;&amp;nbsp;&amp;nbsp; failed=1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 09 May 2018 05:08:54 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/automation-api-discussions/parse-error-in-module-panos-match-rule-py/m-p/213678#M1669</guid>
      <dc:creator>sam.lee</dc:creator>
      <dc:date>2018-05-09T05:08:54Z</dc:date>
    </item>
  </channel>
</rss>

