OS Version¶
netutils.os_version
¶
Functions for working with OS Versions.
compare_version_loose(current_version, comparison, target_version)
¶
Compares two version strings using the specified comparison operation, based on LooseVersion.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
current_version |
str
|
The current version string to compare. |
required |
comparison |
str
|
The comparison operation as a string (<, <=, ==, !=, >, >=). |
required |
target_version |
str
|
The target version string to compare against. |
required |
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
The result of the comparison. |
Raises:
Type | Description |
---|---|
ValueError
|
If there is an invalid comparison. |
TypeError
|
If not a valid version. |
Example
from netutils.os_version import compare_version_loose compare_version_loose("3.3.3a", "==", "3.3.3a") True compare_version_loose("3.3.2", "<=", "3.3.3") True compare_version_loose("3.3.2", ">=", "3.3.3") False
Source code in netutils/os_version.py
compare_version_strict(current_version, comparison, target_version)
¶
Compares two version strings using the specified comparison operation, based on LooseVersion.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
current_version |
str
|
The current version string to compare. |
required |
comparison |
str
|
The comparison operation as a string (<, <=, ==, !=, >, >=). |
required |
target_version |
str
|
The target version string to compare against. |
required |
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
The result of the comparison. |
Raises:
Type | Description |
---|---|
ValueError
|
If there is an invalid comparison. |
ValueError
|
If not a valid version. |
Example
from netutils.os_version import compare_version_strict compare_version_strict("3.3.3", "==", "3.3.3") True compare_version_strict("3.3.2", "<=", "3.3.3") True compare_version_strict("3.3.2", ">=", "3.3.3") False
Source code in netutils/os_version.py
get_upgrade_path(current_version, target_version, firmware_list)
¶
Utility to return the upgrade path from the current to target firmware version.
Returns:
Type | Description |
---|---|
List[str]
|
List of firmware versions to upgrade from current to target. |
Parameters:
Name | Type | Description | Default |
---|---|---|---|
current_version |
str
|
Current firmware version. |
required |
target_version |
str
|
Target firmware version. |
required |
firmware_list |
List[str]
|
List of firmware versions to use as the upgrade path. |
required |
Raises:
Type | Description |
---|---|
ValueError
|
If target version is older than current version. |
ValueError
|
If target version equals current version. |
Examples:
>>> from netutils.os_version import get_upgrade_path
>>> get_upgrade_path("9.1.6", "10.1.9", ["9.1.10", "9.1.15-h1", "10.0.0", "10.1.9"])
['9.1.10', '9.1.15-h1', '10.0.0', '10.1.9']
>>> from netutils.constants import UPGRADE_PATHS
>>> get_upgrade_path("9.1.6", "10.1.9", UPGRADE_PATHS["PANOS_OFFICIAL_V1"])
['9.1.15-h1', '10.0.0', '10.0.12', '10.1.0', '10.1.9']