PaloAltoNetworks / pan-os-python

The PAN-OS SDK for Python is a package to help interact with Palo Alto Networks devices (including physical and virtualized Next-generation Firewalls and Panorama). The pan-os-python SDK is object oriented and mimics the traditional interaction with the device via the GUI or CLI/API.
https://pan-os-python.readthedocs.io
ISC License
339 stars 166 forks source link

Upgrade subsystem overhaul #540

Open btorresgil opened 6 months ago

btorresgil commented 6 months ago

Description

Motivation and Context

10.2.x is the only minor release that does not have a 0 or 1, so needed to add a special case for it in the upgrade logic.

This new upgrade behavior to use patch releases instead of base images is in-line with modern guidance and best practices. It leverages the latest fixes during upgrades rather than the base image which will have more bugs. Upgrades can take a little longer because 2 images need to be downloaded instead of 1 (the base image and the patch image) but there is still only 1 upgrade for each minor release so this difference is negligible and worth the benefit of using safer patched images as intermediate versions.

NOTE: This new behavior is opt-in. This is not a breaking change.

How Has This Been Tested?

Tested on live firewall and via new test suite.

Types of changes

Checklist

vrpal commented 5 months ago

Hello,

Does this fix suppose to cover upgrade from 10.2.x to 11 ? I'm not having any luck going from 10.2.7 to for example 11.0.2-h2

shinmog commented 5 months ago

@btorresgil

Now sure if this is still needed..? @jamesholland-uk and I did #548 to expand updater logic.