From 4c7060a78bfdfe4dec84dc5790850a988078e647 Mon Sep 17 00:00:00 2001 From: abaumeister Date: Tue, 10 Mar 2026 10:27:47 +1100 Subject: [PATCH 1/5] fix: Remove upper bounds of python requirements #655 --- pyproject.toml | 6 +++--- requirements.txt | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index b46651213..3f61fcade 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,9 +17,9 @@ package-mode = false [tool.poetry.dependencies] python = ">=3.10,<4.0" pan-os-python = ">=1.12.4,<2.0" -xmltodict = ">=0.12.0,<0.15.0" -aiohttp = ">=3.8.4,<4.0" -dpath = ">=2.1.5,<3.0" +xmltodict = ">=0.12.0" +aiohttp = ">=3.8.4" +dpath = ">=2.1.5" panos-upgrade-assurance = ">=2.0.0,<3.0" [tool.poetry.dev-dependencies] diff --git a/requirements.txt b/requirements.txt index bc1b7beec..91f617978 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -aiohttp>=3.8.4,<4.0 ; python_version >= "3.10" and python_version < "4.0" -dpath>=2.1.5,<3.0 ; python_version >= "3.10" and python_version < "4.0" +aiohttp>=3.8.4 ; python_version >= "3.10" and python_version < "4.0" +dpath>=2.1.5 ; python_version >= "3.10" and python_version < "4.0" pan-os-python>=1.12.4,<2.0 ; python_version >= "3.10" and python_version < "4.0" panos-upgrade-assurance>=2.0.0,<3.0 ; python_version >= "3.10" and python_version < "4.0" -xmltodict>=0.12.0,<0.15.0 ; python_version >= "3.10" and python_version < "4.0" +xmltodict>=0.12.0 ; python_version >= "3.10" and python_version < "4.0" From a2d7af2c3505c766c09c32abfa99253f1dc53126 Mon Sep 17 00:00:00 2001 From: abaumeister Date: Tue, 10 Mar 2026 10:33:19 +1100 Subject: [PATCH 2/5] chore: Update CI to include additional ansible and python versions --- .github/workflows/ci.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d2bfa4fb0..683be91e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -88,12 +88,21 @@ jobs: strategy: matrix: include: + # Note; 2.16 and 2.17 is still needed for AAP support for customers using the rhel8 base image - ansible: "2.16" python_ver: "3.11" - ansible: "2.17" python_ver: "3.11" - ansible: "2.18" python_ver: "3.11" + - ansible: "2.18" + python_ver: "3.12" + - ansible: "2.19" + python_ver: "3.11" + - ansible: "2.19" + python_ver: "3.12" + - ansible: "2.20" + python_ver: "3.12" runs-on: ubuntu-latest defaults: run: From ad751f6cbd3e06481df0a7065e04f34601d5a814 Mon Sep 17 00:00:00 2001 From: abaumeister Date: Tue, 10 Mar 2026 10:39:54 +1100 Subject: [PATCH 3/5] chore: Add ignores for additional Ansible versions --- tests/sanity/ignore-2.19.txt | 118 +++++++++++++++++++++++++++++++++++ tests/sanity/ignore-2.20.txt | 118 +++++++++++++++++++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100644 tests/sanity/ignore-2.19.txt create mode 100644 tests/sanity/ignore-2.20.txt diff --git a/tests/sanity/ignore-2.19.txt b/tests/sanity/ignore-2.19.txt new file mode 100644 index 000000000..ea42920e4 --- /dev/null +++ b/tests/sanity/ignore-2.19.txt @@ -0,0 +1,118 @@ +plugins/httpapi/panos.py validate-modules:missing-gplv3-license +plugins/modules/panos_active_in_ha.py validate-modules:missing-gplv3-license +plugins/modules/panos_address_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_address_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_admin.py validate-modules:missing-gplv3-license +plugins/modules/panos_administrator.py validate-modules:missing-gplv3-license +plugins/modules/panos_admpwd.py validate-modules:missing-gplv3-license +plugins/modules/panos_aggregate_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_api_key.py validate-modules:missing-gplv3-license +plugins/modules/panos_application_filter.py validate-modules:missing-gplv3-license +plugins/modules/panos_application_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_application_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_aggregate.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_auth.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_conditional_advertisement.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_dampening.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_peer_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_peer.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_policy_filter.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_policy_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_redistribute.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp.py validate-modules:missing-gplv3-license +plugins/modules/panos_cert_gen_ssh.py validate-modules:missing-gplv3-license +plugins/modules/panos_check.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit_firewall.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit_panorama.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit_push.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit.py validate-modules:missing-gplv3-license +plugins/modules/panos_config_element.py validate-modules:missing-gplv3-license +plugins/modules/panos_custom_url_category.py validate-modules:missing-gplv3-license +plugins/modules/panos_dag_tags.py validate-modules:missing-gplv3-license +plugins/modules/panos_dag.py validate-modules:missing-gplv3-license +plugins/modules/panos_decryption_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_device_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_dhcp_relay_ipv6_address.py validate-modules:missing-gplv3-license +plugins/modules/panos_dhcp_relay.py validate-modules:missing-gplv3-license +plugins/modules/panos_dhcp.py validate-modules:missing-gplv3-license +plugins/modules/panos_dynamic_updates.py validate-modules:missing-gplv3-license +plugins/modules/panos_dynamic_user_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_edl.py validate-modules:missing-gplv3-license +plugins/modules/panos_email_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_email_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_export.py validate-modules:missing-gplv3-license +plugins/modules/panos_gre_tunnel.py validate-modules:missing-gplv3-license +plugins/modules/panos_ha.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_profile_header.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_profile_param.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_ike_crypto_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_ike_gateway.py validate-modules:missing-gplv3-license +plugins/modules/panos_import.py validate-modules:missing-gplv3-license +plugins/modules/panos_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipsec_ipv4_proxyid.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipsec_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipsec_tunnel.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipv6_address.py validate-modules:missing-gplv3-license +plugins/modules/panos_l2_subinterface.py validate-modules:missing-gplv3-license +plugins/modules/panos_l3_subinterface.py validate-modules:missing-gplv3-license +plugins/modules/panos_lic.py validate-modules:missing-gplv3-license +plugins/modules/panos_loadcfg.py validate-modules:missing-gplv3-license +plugins/modules/panos_log_forwarding_profile_match_list_action.py validate-modules:missing-gplv3-license +plugins/modules/panos_log_forwarding_profile_match_list.py validate-modules:missing-gplv3-license +plugins/modules/panos_log_forwarding_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_loopback_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_management_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_match_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_mgtconfig.py validate-modules:missing-gplv3-license +plugins/modules/panos_nat_rule_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_nat_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_nat_rule2.py validate-modules:missing-gplv3-license +plugins/modules/panos_object_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_op.py validate-modules:missing-gplv3-license +plugins/modules/panos_pbf_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_pg.py validate-modules:missing-gplv3-license +plugins/modules/panos_query_rules.py validate-modules:missing-gplv3-license +plugins/modules/panos_readiness_checks.py validate-modules:missing-gplv3-license +plugins/modules/panos_redistribution.py validate-modules:missing-gplv3-license +plugins/modules/panos_region.py validate-modules:missing-gplv3-license +plugins/modules/panos_registered_ip_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_registered_ip.py validate-modules:missing-gplv3-license +plugins/modules/panos_restart.py validate-modules:missing-gplv3-license +plugins/modules/panos_sag.py validate-modules:missing-gplv3-license +plugins/modules/panos_schedule_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_security_rule_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_security_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_service_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_service_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_snapshot_report.py validate-modules:missing-gplv3-license +plugins/modules/panos_snmp_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_snmp_v2c_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_snmp_v3_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_software.py validate-modules:missing-gplv3-license +plugins/modules/panos_state_snapshot.py validate-modules:missing-gplv3-license +plugins/modules/panos_static_route.py validate-modules:missing-gplv3-license +plugins/modules/panos_syslog_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_syslog_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_tag_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_template_stack.py validate-modules:missing-gplv3-license +plugins/modules/panos_template_variable.py validate-modules:missing-gplv3-license +plugins/modules/panos_template.py validate-modules:missing-gplv3-license +plugins/modules/panos_tunnel.py validate-modules:missing-gplv3-license +plugins/modules/panos_type_cmd.py validate-modules:missing-gplv3-license +plugins/modules/panos_userid.py validate-modules:missing-gplv3-license +plugins/modules/panos_virtual_router_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_virtual_router.py validate-modules:missing-gplv3-license +plugins/modules/panos_virtual_wire.py validate-modules:missing-gplv3-license +plugins/modules/panos_vlan_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_vlan.py validate-modules:missing-gplv3-license +plugins/modules/panos_vm_auth_key.py validate-modules:missing-gplv3-license +plugins/modules/panos_zone_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_zone.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf_ospf_area.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf_ospf_area_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf_static_route.py validate-modules:missing-gplv3-license diff --git a/tests/sanity/ignore-2.20.txt b/tests/sanity/ignore-2.20.txt new file mode 100644 index 000000000..ea42920e4 --- /dev/null +++ b/tests/sanity/ignore-2.20.txt @@ -0,0 +1,118 @@ +plugins/httpapi/panos.py validate-modules:missing-gplv3-license +plugins/modules/panos_active_in_ha.py validate-modules:missing-gplv3-license +plugins/modules/panos_address_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_address_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_admin.py validate-modules:missing-gplv3-license +plugins/modules/panos_administrator.py validate-modules:missing-gplv3-license +plugins/modules/panos_admpwd.py validate-modules:missing-gplv3-license +plugins/modules/panos_aggregate_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_api_key.py validate-modules:missing-gplv3-license +plugins/modules/panos_application_filter.py validate-modules:missing-gplv3-license +plugins/modules/panos_application_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_application_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_aggregate.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_auth.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_conditional_advertisement.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_dampening.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_peer_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_peer.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_policy_filter.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_policy_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp_redistribute.py validate-modules:missing-gplv3-license +plugins/modules/panos_bgp.py validate-modules:missing-gplv3-license +plugins/modules/panos_cert_gen_ssh.py validate-modules:missing-gplv3-license +plugins/modules/panos_check.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit_firewall.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit_panorama.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit_push.py validate-modules:missing-gplv3-license +plugins/modules/panos_commit.py validate-modules:missing-gplv3-license +plugins/modules/panos_config_element.py validate-modules:missing-gplv3-license +plugins/modules/panos_custom_url_category.py validate-modules:missing-gplv3-license +plugins/modules/panos_dag_tags.py validate-modules:missing-gplv3-license +plugins/modules/panos_dag.py validate-modules:missing-gplv3-license +plugins/modules/panos_decryption_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_device_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_dhcp_relay_ipv6_address.py validate-modules:missing-gplv3-license +plugins/modules/panos_dhcp_relay.py validate-modules:missing-gplv3-license +plugins/modules/panos_dhcp.py validate-modules:missing-gplv3-license +plugins/modules/panos_dynamic_updates.py validate-modules:missing-gplv3-license +plugins/modules/panos_dynamic_user_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_edl.py validate-modules:missing-gplv3-license +plugins/modules/panos_email_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_email_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_export.py validate-modules:missing-gplv3-license +plugins/modules/panos_gre_tunnel.py validate-modules:missing-gplv3-license +plugins/modules/panos_ha.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_profile_header.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_profile_param.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_http_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_ike_crypto_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_ike_gateway.py validate-modules:missing-gplv3-license +plugins/modules/panos_import.py validate-modules:missing-gplv3-license +plugins/modules/panos_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipsec_ipv4_proxyid.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipsec_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipsec_tunnel.py validate-modules:missing-gplv3-license +plugins/modules/panos_ipv6_address.py validate-modules:missing-gplv3-license +plugins/modules/panos_l2_subinterface.py validate-modules:missing-gplv3-license +plugins/modules/panos_l3_subinterface.py validate-modules:missing-gplv3-license +plugins/modules/panos_lic.py validate-modules:missing-gplv3-license +plugins/modules/panos_loadcfg.py validate-modules:missing-gplv3-license +plugins/modules/panos_log_forwarding_profile_match_list_action.py validate-modules:missing-gplv3-license +plugins/modules/panos_log_forwarding_profile_match_list.py validate-modules:missing-gplv3-license +plugins/modules/panos_log_forwarding_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_loopback_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_management_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_match_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_mgtconfig.py validate-modules:missing-gplv3-license +plugins/modules/panos_nat_rule_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_nat_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_nat_rule2.py validate-modules:missing-gplv3-license +plugins/modules/panos_object_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_op.py validate-modules:missing-gplv3-license +plugins/modules/panos_pbf_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_pg.py validate-modules:missing-gplv3-license +plugins/modules/panos_query_rules.py validate-modules:missing-gplv3-license +plugins/modules/panos_readiness_checks.py validate-modules:missing-gplv3-license +plugins/modules/panos_redistribution.py validate-modules:missing-gplv3-license +plugins/modules/panos_region.py validate-modules:missing-gplv3-license +plugins/modules/panos_registered_ip_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_registered_ip.py validate-modules:missing-gplv3-license +plugins/modules/panos_restart.py validate-modules:missing-gplv3-license +plugins/modules/panos_sag.py validate-modules:missing-gplv3-license +plugins/modules/panos_schedule_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_security_rule_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_security_rule.py validate-modules:missing-gplv3-license +plugins/modules/panos_service_group.py validate-modules:missing-gplv3-license +plugins/modules/panos_service_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_snapshot_report.py validate-modules:missing-gplv3-license +plugins/modules/panos_snmp_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_snmp_v2c_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_snmp_v3_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_software.py validate-modules:missing-gplv3-license +plugins/modules/panos_state_snapshot.py validate-modules:missing-gplv3-license +plugins/modules/panos_static_route.py validate-modules:missing-gplv3-license +plugins/modules/panos_syslog_profile.py validate-modules:missing-gplv3-license +plugins/modules/panos_syslog_server.py validate-modules:missing-gplv3-license +plugins/modules/panos_tag_object.py validate-modules:missing-gplv3-license +plugins/modules/panos_template_stack.py validate-modules:missing-gplv3-license +plugins/modules/panos_template_variable.py validate-modules:missing-gplv3-license +plugins/modules/panos_template.py validate-modules:missing-gplv3-license +plugins/modules/panos_tunnel.py validate-modules:missing-gplv3-license +plugins/modules/panos_type_cmd.py validate-modules:missing-gplv3-license +plugins/modules/panos_userid.py validate-modules:missing-gplv3-license +plugins/modules/panos_virtual_router_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_virtual_router.py validate-modules:missing-gplv3-license +plugins/modules/panos_virtual_wire.py validate-modules:missing-gplv3-license +plugins/modules/panos_vlan_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_vlan.py validate-modules:missing-gplv3-license +plugins/modules/panos_vm_auth_key.py validate-modules:missing-gplv3-license +plugins/modules/panos_zone_facts.py validate-modules:missing-gplv3-license +plugins/modules/panos_zone.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf_ospf_area.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf_ospf_area_interface.py validate-modules:missing-gplv3-license +plugins/modules/panos_logical_router_vrf_static_route.py validate-modules:missing-gplv3-license From 71b5b57e2e86a33f083ed3aab8c5c0cb34a00b1c Mon Sep 17 00:00:00 2001 From: abaumeister Date: Tue, 10 Mar 2026 10:51:30 +1100 Subject: [PATCH 4/5] chore: Add ignores for imports that enable backwards compatability --- tests/sanity/ignore-2.20.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/sanity/ignore-2.20.txt b/tests/sanity/ignore-2.20.txt index ea42920e4..101ad6261 100644 --- a/tests/sanity/ignore-2.20.txt +++ b/tests/sanity/ignore-2.20.txt @@ -116,3 +116,5 @@ plugins/modules/panos_logical_router_vrf.py validate-modules:missing-gplv3-licen plugins/modules/panos_logical_router_vrf_ospf_area.py validate-modules:missing-gplv3-license plugins/modules/panos_logical_router_vrf_ospf_area_interface.py validate-modules:missing-gplv3-license plugins/modules/panos_logical_router_vrf_static_route.py validate-modules:missing-gplv3-license +plugins/modules/panos_facts.py pylint:ansible-bad-import-from +tests/unit/httpapi/test_panos.py pylint:ansible-bad-import-from From 9620b6a4549d39f12ea89073f225ca2dc8f90d1e Mon Sep 17 00:00:00 2001 From: abaumeister Date: Tue, 10 Mar 2026 11:55:39 +1100 Subject: [PATCH 5/5] fix: Update modules to use stdlib where required --- plugins/modules/panos_facts.py | 3 +-- tests/sanity/ignore-2.20.txt | 2 -- tests/unit/httpapi/test_panos.py | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/modules/panos_facts.py b/plugins/modules/panos_facts.py index 09511707d..c170d8711 100644 --- a/plugins/modules/panos_facts.py +++ b/plugins/modules/panos_facts.py @@ -226,7 +226,6 @@ """ from ansible.module_utils.basic import AnsibleModule -from ansible.module_utils.six import iteritems from ansible_collections.paloaltonetworks.panos.plugins.module_utils.panos import ( get_connection, ) @@ -590,7 +589,7 @@ def main(): ansible_facts = dict() - for key, value in iteritems(facts): + for key, value in facts.items(): key = "ansible_net_%s" % key ansible_facts[key] = value diff --git a/tests/sanity/ignore-2.20.txt b/tests/sanity/ignore-2.20.txt index 101ad6261..ea42920e4 100644 --- a/tests/sanity/ignore-2.20.txt +++ b/tests/sanity/ignore-2.20.txt @@ -116,5 +116,3 @@ plugins/modules/panos_logical_router_vrf.py validate-modules:missing-gplv3-licen plugins/modules/panos_logical_router_vrf_ospf_area.py validate-modules:missing-gplv3-license plugins/modules/panos_logical_router_vrf_ospf_area_interface.py validate-modules:missing-gplv3-license plugins/modules/panos_logical_router_vrf_static_route.py validate-modules:missing-gplv3-license -plugins/modules/panos_facts.py pylint:ansible-bad-import-from -tests/unit/httpapi/test_panos.py pylint:ansible-bad-import-from diff --git a/tests/unit/httpapi/test_panos.py b/tests/unit/httpapi/test_panos.py index 0461853b3..01201c2e8 100644 --- a/tests/unit/httpapi/test_panos.py +++ b/tests/unit/httpapi/test_panos.py @@ -6,8 +6,8 @@ from unittest.mock import call, patch import pytest +from io import BytesIO from ansible.module_utils.basic import to_text -from ansible.module_utils.six import BytesIO from ansible.module_utils.six.moves import urllib from ansible_collections.mrichardson03.panos.plugins.httpapi.panos import ( HttpApi,