build(deps): replace the deprecated pysnmp-lextudio with pysnmp>=7.1 (#5470)
#5470 "pysnmp-lextudio is deprecated: every startup logs a RuntimeWarning". Dependency change: the [snmp] extra now installs `pysnmp>=7.1` instead of `pysnmp-lextudio>=6.2`. pysnmp is the same lextudio lineage under its maintained name; the 7.1 floor is because below 7 the name is the abandoned 4.x line with no asyncio API. The poller already finds either API shape (_api(), the engine close probes), so no code changes; its docstring now names what the image ships. Approved by the operator 2026-10-09 ("yes please do the swap"). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
# plugins/snmp/poller.py
|
||||
"""Ask an SNMP device for its readings, and say in words why it didn't answer.
|
||||
|
||||
pysnmp-lextudio 6.x (what the image installs) and canonical pysnmp 7.x put the
|
||||
asyncio API in different modules with different names; _api() finds whichever
|
||||
is installed, so a dependency bump can't silently break polling. Without
|
||||
pysnmp at all the poll reports that instead of raising.
|
||||
pysnmp 7.x (what the image installs, #5470) and the deprecated
|
||||
pysnmp-lextudio 6.x put the asyncio API in different modules with different
|
||||
names; _api() finds whichever is installed, so a dependency change can't
|
||||
silently break polling. Without pysnmp at all the poll reports that instead
|
||||
of raising.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
|
||||
+4
-1
@@ -28,7 +28,10 @@ ldap = [
|
||||
"ldap3>=2.9",
|
||||
]
|
||||
snmp = [
|
||||
"pysnmp-lextudio>=6.2",
|
||||
# The maintained pysnmp (lextudio's lineage, which took over the name).
|
||||
# Floor 7.1: below 7 that name is the abandoned 4.x line, which has no
|
||||
# asyncio API (#5470; the poller uses pysnmp.hlapi.v3arch.asyncio).
|
||||
"pysnmp>=7.1",
|
||||
]
|
||||
# Batteries-included Ansible (bundles the common community collections) for the
|
||||
# playbook runner. Installed into the image via Dockerfile `pip install .[ansible]`.
|
||||
|
||||
Reference in New Issue
Block a user