Compare commits

5 Commits

Author SHA256 Message Date
262dcafff2 Accepting request 1269789 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/1269789
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-napalm?expand=0&rev=18
2025-04-16 18:41:35 +00:00
e879ff7f8d Accepting request 1269605 from home:crameleon:branches:devel:languages:python
- Enable sle15_python_module_pythons (project is Python 3.8+)
- No longer remove Junos tests

OBS-URL: https://build.opensuse.org/request/show/1269605
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-napalm?expand=0&rev=37
2025-04-16 07:58:36 +00:00
ad64cb131c Accepting request 1229703 from devel:languages:python
- 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

OBS-URL: https://build.opensuse.org/request/show/1229703
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-napalm?expand=0&rev=17
2024-12-10 22:43:46 +00:00
c1da9b5834 make patch apply harder
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-napalm?expand=0&rev=35
2024-12-10 08:07:42 +00:00
3fdf34b185 - 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

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-napalm?expand=0&rev=34
2024-12-10 01:27:43 +00:00
6 changed files with 198 additions and 74 deletions

3
napalm-5.0.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b47dca6fb71f511fed03945d5c5abf9338024947e375b218bae7d50ed6175af7
size 1567474

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:888a736ad3b4de2b6eb69f79dfd6538bc6e66e29443db5ea4e20b4aea3bc8d97
size 1569227

View File

@@ -0,0 +1,73 @@
From 9dd413d6254f2dc034903736b65b1853b2163e7d Mon Sep 17 00:00:00 2001
From: Steve Kowalik <steven@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-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
def mock_time():
Index: napalm-5.0.0/test/nxos_ssh/test_getters.py
===================================================================
--- 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
def mock_time():

View File

@@ -1,72 +1,3 @@
-------------------------------------------------------------------
Thu Sep 18 13:46:04 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 5.1.0
* fix: documentation build
* fix: documentation build (#2066)
* Fixes #2086 stripping whitespace
* Bump types-setuptools from 69.2.0.20240317 to 69.5.0.20240519
* Bump pytest from 7.3.1 to 8.2.1
* Bump sphinx from 7.2.6 to 7.3.7
* Bump black from 24.3.0 to 24.4.2
* Bump mypy from 1.9.0 to 1.10.0
* Closes #2028: Fix typo
* Bump jinja2 from 3.1.3 to 3.1.4
* Bump types-six from 1.16.21.20240311 to 1.16.21.20240513
* Bump coveralls from 3.3.1 to 4.0.1
* Bump ansible from 9.4.0 to 9.6.0
* Bump types-requests from 2.31.0.20240406 to 2.32.0.20240521
* Bump types-setuptools from 69.5.0.20240519 to 69.5.0.20240522
* Rework eos.get_bgp_neighbor
* added pyenv .python-version file to the gitignore
* Small fixes for nxos_ssh
* Improve nxos_ssh version handling
* Bump ansible version in docs requirements
* Draft: Update eos CLI vrf command
* use plain dict in IOSDriver.get_bgp_neighbors_detail()
* Support NTP server details in base, EOS
* Bump urllib3 from 2.2.1 to 2.2.2
* Bump types-requests from 2.32.0.20240521 to 2.32.0.20240712
* Bump pytest from 8.2.1 to 8.3.2
* Bump mypy from 1.10.0 to 1.11.1
* Bump types-pyyaml from 6.0.12.20240311 to 6.0.12.20240808
* Bump types-requests from 2.32.0.20240712 to 2.32.0.20241016
* Bump pytest from 8.3.2 to 8.3.4
* Bump urllib3 from 2.2.2 to 2.3.0
* Bump ansible from 9.6.1 to 11.2.0
* Bump markupsafe from 2.1.5 to 3.0.2
* Bump ansible from 11.2.0 to 11.3.0
* Bump ttp-templates from 0.3.6 to 0.3.7
* Bump jinja2 from 3.1.4 to 3.1.5
* Bump types-pyyaml from 6.0.12.20240808 to 6.0.12.20241230
* Bump types-six from 1.16.21.20240513 to 1.17.0.20241205
* Bump pytest from 8.3.4 to 8.3.5
* Bump mock from 5.1.0 to 5.2.0
* [EOS] Fix confirm_commit for ssh transport
* Discard unexpected NTP strings
* Remove external mock dependency
* Bump jinja2 from 3.1.5 to 3.1.6
* Add support for PY3.13; use vendored version of telnetlib
* Bump pytest-cov from 5.0.0 to 6.0.0
* Bump mypy from 1.11.1 to 1.15.0
* Bump sphinx from 7.3.7 to 8.2.3
* Bump types-six from 1.17.0.20241205 to 1.17.0.20250304
* Bump types-requests from 2.32.0.20241016 to 2.32.0.20250306
* Rename ssh_config_file to ssh_config for iosxr_netconf driver
* [eos] fix banner when transport is ssh
* Explicitly close IOSXR connection
* Remove calls to deprecated pkg_resources
* pytest wrapper should return None, not result
* Remove transitive dependency scp from requirements.txt
* Fix pyez dependency issue
* Dependabot updates
* More dependabot updates
* Prep for napalm 5.1.0 release
* Release 5.1.0 (attempt 2)
- Drop python-napalm-no-mock.patch, merged upstream
- Drop support-python-313.patch, merged upstream
- Remove zero-length file from source tree
-------------------------------------------------------------------
Tue Apr 15 11:37:04 UTC 2025 - Georg Pfuetzenreuter <georg.pfuetzenreuter@suse.com>

View File

@@ -18,12 +18,16 @@
%{?sle15_python_module_pythons}
Name: python-napalm
Version: 5.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
# PATCH-FIX-UPSTREAM Based on gh#napalm-automation/napalm#2155
Patch0: python-napalm-no-mock.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}
@@ -82,7 +86,6 @@ interact with different router vendor devices using a unified API.
%prep
%autosetup -p1 -n napalm-%{version}
sed -i '1{/env python/d}' napalm/pyIOSXR/*.py
rm napalm/junos/templates/schedule_probes.j2
%build
%pyproject_wheel

117
support-python-313.patch Normal file
View File

@@ -0,0 +1,117 @@
From eca5aaecbd05305dda4b28ae4fbbcf40332aa909 Mon Sep 17 00:00:00 2001
From: Kirk Byers <ktbyers@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="dbarrosop@dravetech.com, ping@mirceaulinic.net, ktbyers@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