pan-os-python icon indicating copy to clipboard operation
pan-os-python copied to clipboard

default_icmp_type ApplicationObject incorrect vartype

Open Inbethath opened this issue 1 year ago • 0 comments

Describe the bug

Failure to parse XML with refresh all on device groups.

Specifically the child object that fails is the ApplicationObject -> "default_icmp_type" VersionedParamPath.

This particular code piece fails:

elif self.vartype == "int":
    settings[self.param] = int(elm.text)

Under panos.base.ParamPath.parse_value_from_xml_last_tag line 3306.

The elm.text field fails to be translated to an integer with

Expected behavior

Parsing completes successfully.

Current behavior

`Traceback (most recent call last): File "c:\git\Pan_OS_Tests\env\Lib\site-packages\panos\base.py", line 3307, in parse_value_from_xml_last_tag settings[self.param] = int(elm.text) ^^^^^^^^^^^^^ ValueError: invalid literal for int() with base 10: '13,14'

Possible solution

Depending on how these params are handled downstream we can either:

  1. Handle the exception for this particular conversion and instead save it as a string ignoring param types
  2. Define appropriate param versions (set to None) for default_icmp_type for all affected Panorama versions.

Steps to reproduce

  1. Build Panorama Object
  2. Get all DeviceGroup Objects
    pa = Panorama("", api_username="",  api_password="") 

    dg_test = DeviceGroup()

    # Building device group as a child of Panorama
    pa.add(dg_test)

    # Get all device groups:
    device_groups = DeviceGroup.refreshall(dg_test)

Specifically this affects filters associated with icmp-timestamp. (Since that's both ICMP type 13 & 14).

Screenshots

N/A

Context

Just trying to get all devicegroups from Panorama.

Your Environment

  • Version used: Panorama Version 10.1.12
  • Environment name and version (e.g. Chrome 59, node.js 5.4, python 3.7.3): python 3.12.1
  • Operating System and version (desktop or mobile): Windows 10
  • Link to your project: N/A

Inbethath avatar Apr 01 '24 18:04 Inbethath