PaloAltoNetworks / PaloAltoNetworks/pan-os-python
Getting XML Parsing Errors When Interacting to AWS Based Panoramas
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 400
- Forks
- 199
- PR merge metrics
- No merged PRs in 30d
Description
Describe the bug
I have a script that uses the panos library and when used against Panorama in AWS I get a parsing error. Below is that error:
File "/Users/ncarabaj/Desktop/pre-post-rule-download/panorama-info-version-1.py", line 127, in
main()
File "/Users/ncarabaj/Desktop/pre-post-rule-download/panorama-info-version-1.py", line 117, in main
device_groups = DeviceGroup.refreshall(panorama)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 1338, in refreshall
instances = class_instance.refreshall_from_xml(obj)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 1404, in refreshall_from_xml
instance._refresh_children(xml=obj)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 1038, in _refresh_children
l = child.refreshall_from_xml(childroot)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 1389, in refreshall_from_xml
instance.parse_xml(obj)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 2789, in parse_xml
var_path.parse_xml(xml, settings, possibilities)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 3223, in parse_xml
self.parse_value_from_xml_last_tag(e, settings, attr)
File "/usr/local/lib/python3.9/site-packages/panos/base.py", line 3306, in parse_value_from_xml_last_tag
settings[self.param] = int(elm.text)
ValueError: invalid literal for int() with base 10: '0-8'
Expected behavior
Should authenticate and parse
Current behavior
Possible solution
Need to be able to ingest the xml config from AWS
Steps to reproduce
- Run the code in the link against AWS Panorama
Screenshots
N/A
Context
Trying to gather pre and post security and nat rulebase from Pano. It does work on others just not ones in AWS.
Your Environment
- Environment name and version (e.g. Chrome 59, node.js 5.4, python 3.7.3):
Python 3.11.3
- Operating System and version (desktop or mobile):
MacOS Catalina Version 10.15.7 - User laptop
Panorama version 10.1.9
aws-2.0.2
- Link to your project:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The traceback points to panos/base.py, from DeviceGroup.refreshall through refreshall_from_xml and parse_xml; start there and reproduce with the AWS Panorama XML configuration. Confirm how the “0-8” value is represented, then verify that the original security and NAT rulebase retrieval flow parses successfully without breaking existing Panorama cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, python
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100