cdot65/pan-os-upgrade

Expired software warranty causes Panorama license check failure

fanalytica opened this issue · 2 comments

Describe the bug
For Panorama, the license readiness check will fail if there is an expired software warranty. Setting the license_expired readiness check to false using advanced settings doesn't seem to have any change although I think this check is different from the readiness checks.

To Reproduce
Steps to reproduce the behavior:

  1. Have a Panorama appliance with the included 90 day software warranty that has long since expired
  2. Run the pan-os-upgrade script for the panorama appliance.
  3. The first few checks include running the operational command "request license info"
  4. The 90 day software warranty will return as an element with the value expired == yes

Expected behavior
This is expected based on the logic used in the check_panorama_license function of device.py. The software warranty could be excluded or be available as an option we can choose to exclude in the custom settings.yaml

Unfortunately the library that we are using for performing snapshots and readiness checks panos-upgrade-assurance does not support Panorama, so nothing that you change within the settings.yaml file will affect your Panorama appliances.

I see, thank you for the response. For my personal case I've edited the check_panorama_license function in pan_os_upgrade/components/device.py to ignore if the Software Warranty is expired but I doubt that's universal enough to exclude by default.

# Check if any license entry has expired
        for entry in licenses_element.findall(".//entry"):
            if entry.find("expired").text == "yes" and entry.find("feature").text != "Software warranty":
                return False