Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-napalm for openSUSE:Factory checked in at 2024-12-10 23:43:46 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-napalm (Old) and /work/SRC/openSUSE:Factory/.python-napalm.new.29675 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-napalm" Tue Dec 10 23:43:46 2024 rev:17 rq:1229703 version:5.0.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-napalm/python-napalm.changes 2023-09-06 19:02:23.460537139 +0200 +++ /work/SRC/openSUSE:Factory/.python-napalm.new.29675/python-napalm.changes 2024-12-10 23:44:45.923638026 +0100 @@ -1,0 +2,33 @@ +Tue Dec 10 08:07:24 UTC 2024 - Steve Kowalik <steven.kowa...@suse.com> + +- Update to 5.0.0: + * New features + + Add format optional variable to core drivers to support get_config() + options + + [Junos] Add huge_tree as an optional_arg in junos to fix xml huge + tree node + + [Validate] Add tolerance percentage + * Improvements and bug fixes + + [NX-OS] Update nxos.py to expose file transfer errors + + [Validate] Use isinstance(list) instead of types comparison + + [Junos] Do not try to parse a "none" value and convert it to "" for + get_ipv6_neighbors_table + + [JUNOS] Fix call to lxml.etree.ElementBase.getparent erroneously + using get_parent + + [NX-OS SSH, IOS] IPv6 Regex update + + [IOS] Make get_vlans name whitespace aware + + [NX-OS] Fix get_bgp_neighbor when neighbor is admin shut + + [JUNOS] get_bgp_config() - ValueError: Can't convert with callable None + + [IOS] get_bgp_neighbors same IP different VRF + + [NX-OS] Handle non standard output for PSU's in get_environment + + [IOS-XR] Use LastStateTransitionTime to populate last_flapped for + get_interfaces() in IOS-XR + + [Junos] Fix Can't convert with callable None +- Refreshed python-napalm-no-mock.patch +- Removed patches, included upstream: + * napalm-gh-pr1796-xmlgetparent.patch + * remove-future-requirement.patch +- Add patch support-python-313.patch: + * Use vendored telnetlib provided by netmiko + +------------------------------------------------------------------- Old: ---- napalm-4.1.0.tar.gz napalm-gh-pr1796-xmlgetparent.patch remove-future-requirement.patch New: ---- napalm-5.0.0.tar.gz support-python-313.patch BETA DEBUG BEGIN: Old:- Removed patches, included upstream: * napalm-gh-pr1796-xmlgetparent.patch * remove-future-requirement.patch Old: * napalm-gh-pr1796-xmlgetparent.patch * remove-future-requirement.patch - Add patch support-python-313.patch: BETA DEBUG END: BETA DEBUG BEGIN: New: * remove-future-requirement.patch - Add patch support-python-313.patch: * Use vendored telnetlib provided by netmiko BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-napalm.spec ++++++ --- /var/tmp/diff_new_pack.zLs7Bg/_old 2024-12-10 23:44:46.471660872 +0100 +++ /var/tmp/diff_new_pack.zLs7Bg/_new 2024-12-10 23:44:46.471660872 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-napalm # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,18 +17,17 @@ Name: python-napalm -Version: 4.1.0 +Version: 5.0.0 Release: 0 Summary: Network Automation and Programmability Abstraction Layer License: Apache-2.0 URL: https://github.com/napalm-automation/napalm Source: https://github.com/napalm-automation/napalm/archive/%{version}.tar.gz#/napalm-%{version}.tar.gz -# https://github.com/napalm-automation/napalm/issues/1594 +# PATCH-FIX-UPSTREAM Based on gh#napalm-automation/napalm#2155 Patch0: python-napalm-no-mock.patch -# https://github.com/napalm-automation/napalm/pull/1796 -Patch1: napalm-gh-pr1796-xmlgetparent.patch -# https://github.com/napalm-automation/napalm/pull/2002 -Patch2: remove-future-requirement.patch +# PATCH-FIX-UPSTREAM gh#napalm-automation/napalm#2137 +Patch1: support-python-313.patch +BuildRequires: %{python_module base >= 3.9} BuildRequires: %{python_module pip} BuildRequires: %{python_module setuptools} BuildRequires: %{python_module wheel} @@ -41,7 +40,7 @@ Requires: python-lxml >= 4.3.0 Requires: python-ncclient Requires: python-netaddr -Requires: python-netmiko >= 4.0.0 +Requires: python-netmiko >= 4.4.0 Requires: python-netutils >= 1.0.0 Requires: python-paramiko >= 2.6.0 Requires: python-pyeapi >= 0.8.2 @@ -53,7 +52,7 @@ Requires: python-ttp-templates Requires: python-typing_extensions Requires(post): update-alternatives -Requires(postun):update-alternatives +Requires(postun): update-alternatives BuildArch: noarch # SECTION test requirements BuildRequires: %{python_module Jinja2} @@ -64,7 +63,7 @@ BuildRequires: %{python_module lxml >= 4.3.0} BuildRequires: %{python_module ncclient} BuildRequires: %{python_module netaddr} -BuildRequires: %{python_module netmiko >= 4.0.0} +BuildRequires: %{python_module netmiko >= 4.4.0} BuildRequires: %{python_module netutils >= 1.0.0} BuildRequires: %{python_module paramiko >= 2.6.0} BuildRequires: %{python_module pyeapi >= 0.8.2} ++++++ napalm-4.1.0.tar.gz -> napalm-5.0.0.tar.gz ++++++ ++++ 20973 lines of diff (skipped) ++++++ python-napalm-no-mock.patch ++++++ --- /var/tmp/diff_new_pack.zLs7Bg/_old 2024-12-10 23:44:47.267694056 +0100 +++ /var/tmp/diff_new_pack.zLs7Bg/_new 2024-12-10 23:44:47.271694222 +0100 @@ -1,37 +1,74 @@ -Index: napalm-4.0.0/test/nxos/test_getters.py +From 9dd413d6254f2dc034903736b65b1853b2163e7d Mon Sep 17 00:00:00 2001 +From: Steve Kowalik <ste...@wedontsleep.org> +Date: Tue, 10 Dec 2024 12:07:37 +1100 +Subject: [PATCH] Remove external mock dependency + +Since the minimum version of Python we support contains mock in the +standard library, we should switch to it and remove one external +dependency. +--- + requirements-dev.txt | 1 - + test/eos/test_heredoc.py | 2 +- + test/nxos/test_getters.py | 3 ++- + test/nxos_ssh/test_getters.py | 3 ++- + 4 files changed, 5 insertions(+), 4 deletions(-) + +Index: napalm-5.0.0/requirements-dev.txt +=================================================================== +--- napalm-5.0.0.orig/requirements-dev.txt ++++ napalm-5.0.0/requirements-dev.txt +@@ -7,7 +7,6 @@ pytest-cov==5.0.0 + pytest-json-report==1.5.0 + pyflakes==3.2.0 + pylama==8.4.1 +-mock==5.1.0 + mypy==1.9.0 + types-PyYAML==6.0.12.20240311 + types-requests==2.31.0.20240406 +Index: napalm-5.0.0/test/eos/test_heredoc.py =================================================================== ---- napalm-4.0.0.orig/test/nxos/test_getters.py -+++ napalm-4.0.0/test/nxos/test_getters.py -@@ -5,7 +5,7 @@ from napalm.base.test import helpers +--- napalm-5.0.0.orig/test/eos/test_heredoc.py ++++ napalm-5.0.0/test/eos/test_heredoc.py +@@ -1,4 +1,4 @@ +-import mock ++from unittest import mock + import pytest + from textwrap import dedent + +Index: napalm-5.0.0/test/nxos/test_getters.py +=================================================================== +--- napalm-5.0.0.orig/test/nxos/test_getters.py ++++ napalm-5.0.0/test/nxos/test_getters.py +@@ -1,11 +1,12 @@ + """Tests for getters.""" + ++from unittest.mock import patch ++ + from napalm.base.test.getters import BaseTestGetters, wrap_test_cases + from napalm.base.test import helpers from napalm.base import models import pytest -from mock import patch -+from unittest.mock import patch def mock_time(): -Index: napalm-4.0.0/test/nxos_ssh/test_getters.py +Index: napalm-5.0.0/test/nxos_ssh/test_getters.py =================================================================== ---- napalm-4.0.0.orig/test/nxos_ssh/test_getters.py -+++ napalm-4.0.0/test/nxos_ssh/test_getters.py -@@ -5,7 +5,7 @@ from napalm.base.test import helpers +--- napalm-5.0.0.orig/test/nxos_ssh/test_getters.py ++++ napalm-5.0.0/test/nxos_ssh/test_getters.py +@@ -1,11 +1,12 @@ + """Tests for getters.""" + ++from unittest.mock import patch ++ + from napalm.base.test.getters import BaseTestGetters, wrap_test_cases + from napalm.base.test import helpers from napalm.base import models import pytest -from mock import patch -+from unittest.mock import patch def mock_time(): -Index: napalm-4.0.0/test/eos/test_heredoc.py -=================================================================== ---- napalm-4.0.0.orig/test/eos/test_heredoc.py -+++ napalm-4.0.0/test/eos/test_heredoc.py -@@ -1,4 +1,4 @@ --import mock -+import unittest.mock as mock - import pytest - from textwrap import dedent - ++++++ support-python-313.patch ++++++ >From eca5aaecbd05305dda4b28ae4fbbcf40332aa909 Mon Sep 17 00:00:00 2001 From: Kirk Byers <ktby...@twb-tech.com> Date: Fri, 2 Aug 2024 10:53:18 -0700 Subject: [PATCH 1/9] Add support for PY3.13; use vendored version of telnetlib --- .github/workflows/commit.yaml | 2 +- napalm/ios/ios.py | 2 +- requirements.txt | 2 +- setup.py | 1 + 4 files changed, 4 insertions(+), 3 deletions(-) Index: napalm-5.0.0/.github/workflows/commit.yaml =================================================================== --- napalm-5.0.0.orig/.github/workflows/commit.yaml +++ napalm-5.0.0/.github/workflows/commit.yaml @@ -10,7 +10,7 @@ jobs: strategy: max-parallel: 4 matrix: - python-version: [3.8, 3.9, 3.10.9, 3.11, 3.12.0] + python-version: ["3.9", "3.10.9", "3.11", "3.12", "3.13"] steps: - name: Checkout repository Index: napalm-5.0.0/napalm/ios/ios.py =================================================================== --- napalm-5.0.0.orig/napalm/ios/ios.py +++ napalm-5.0.0/napalm/ios/ios.py @@ -19,7 +19,7 @@ import ipaddress import os import re import socket -import telnetlib +from netmiko._telnetlib import telnetlib import tempfile import uuid from collections import defaultdict Index: napalm-5.0.0/requirements.txt =================================================================== --- napalm-5.0.0.orig/requirements.txt +++ napalm-5.0.0/requirements.txt @@ -7,7 +7,7 @@ jinja2 netaddr pyYAML pyeapi>=1.0.2 -netmiko>=4.1.0 +netmiko>=4.4.0 junos-eznc>=2.7.0 scp lxml>=4.3.0 Index: napalm-5.0.0/setup.py =================================================================== --- napalm-5.0.0.orig/setup.py +++ napalm-5.0.0/setup.py @@ -19,19 +19,17 @@ setup( author="David Barroso, Kirk Byers, Mircea Ulinic", author_email="dbarro...@dravetech.com, p...@mirceaulinic.net, ktby...@twb-tech.com", description="Network Automation and Programmability Abstraction Layer with Multivendor support", - license="Apache 2.0", + license="Apache-2.0", long_description=long_description, long_description_content_type="text/markdown", classifiers=[ "Topic :: Utilities", - "License :: OSI Approved :: Apache Software License", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", + "License :: OSI Approved :: Apache Software License 2.0 (Apache-2.0)", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Operating System :: POSIX :: Linux", "Operating System :: MacOS", ], Index: napalm-5.0.0/README.md =================================================================== --- napalm-5.0.0.orig/README.md +++ napalm-5.0.0/README.md @@ -31,15 +31,15 @@ Install pip install napalm ``` +*Note*: Beginning with release 5.1.0 and later, NAPALM offers support for +Python 3.9+ only. + *Note*: Beginning with release 5.0.0 and later, NAPALM offers support for Python 3.8+ only. *Note*: Beginning with release 4.0.0 and later, NAPALM offers support for Python 3.7+ only. -*Note*: Beginning with release 3.0.0 and later, NAPALM offers support for -Python 3.6+ only. - Upgrading ========= Index: napalm-5.0.0/requirements-coveralls.txt =================================================================== --- /dev/null +++ napalm-5.0.0/requirements-coveralls.txt @@ -0,0 +1 @@ +coveralls==4.0.1 Index: napalm-5.0.0/requirements-dev.txt =================================================================== --- napalm-5.0.0.orig/requirements-dev.txt +++ napalm-5.0.0/requirements-dev.txt @@ -1,5 +1,4 @@ black==24.3.0 -coveralls==3.3.1 ddt==1.7.2 flake8-import-order==0.18.2 pytest==7.3.1