PaloAltoNetworks/pan-os-ansible

Bug: Software Upgrade Doesn't Allow for Larger Major Version Change

GitBacon9000 opened this issue · 0 comments

Describe the bug

When trying to upgrade fleet from 10.1 -> 11.1, panos module returns an error saying the upgrade path is invalid.

Expected behavior

PAN documentation and the firewalls themselves allow for this upgrade path, but the ansible module has hardcoded this option out.

Current behavior

Ansible module error:
msg: 'Version Sequence is invalid: 10.1-> 11.1.0'

Possible solution

Take out the section of code surrounding any output given from the firewalls, or in the

def is_valid_sequence(current, target):
# Patch version change (major and minor versions match)
if (current.major == target.major) and (current.minor == target.minor):
return True

# Upgrade minor version (9.0.0 -> 9.1.0)
elif (current.major == target.major) and (current.minor + 1 == target.minor):
    return True

# Upgrade major version (9.1.0 -> 10.0.0)
elif (current.major + 1 == target.major) and (target.minor == 0):
    return True

# Downgrade minor version (9.1.0 -> 9.0.0)
elif (current.major == target.major) and (current.minor - 1 == target.minor):
    return True

# Downgrade major version (10.0.3 -> 9.1.6)
elif current.major - 1 == target.major:
    return True

else:
    return False

allow for larger major version upgrades.

Steps to reproduce

Try and run an upgrade from the versions given.

  • Collection: 2.19.3