1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
Description: Python snmp7 compat
Fix import path.
Author: Thomas Goirand <zigo@debian.org>
Forwarded: no
Last-Update: 2025-10-08
Index: python-scciclient/scciclient/irmc/snmp.py
===================================================================
--- python-scciclient.orig/scciclient/irmc/snmp.py
+++ python-scciclient/scciclient/irmc/snmp.py
@@ -13,7 +13,12 @@
# under the License.
from pysnmp import error as snmp_error
-from pysnmp import hlapi as snmp
+try:
+ from pysnmp.hlapi.v3arch import asyncio as snmp
+ from pysnmp.hlapi.v3arch.asyncio import cmdgen
+except ImportError:
+ from pysnmp import hlapi as snmp
+ from pysnmp.hlapi import cmdgen
BMC_NAME_OID = '1.3.6.1.4.1.231.2.10.2.2.10.3.4.1.3.1.1'
@@ -238,7 +243,7 @@ class SNMPClient(object):
:returns: A list of values of the requested table object.
"""
try:
- snmp_gen = snmp.nextCmd(self.snmp_engine,
+ snmp_gen = snmp.next_cmd(self.snmp_engine,
self._get_auth(),
self._get_transport(),
self._get_context(),
@@ -279,7 +284,7 @@ class SNMPClient(object):
:raises: SNMPFailure if an SNMP request fails.
"""
try:
- snmp_gen = snmp.setCmd(self.snmp_engine,
+ snmp_gen = cmdgen.setCmd(self.snmp_engine,
self._get_auth(write_mode=True),
self._get_transport(),
self._get_context(),
Index: python-scciclient/scciclient/tests/irmc/test_snmp.py
===================================================================
--- python-scciclient.orig/scciclient/tests/irmc/test_snmp.py
+++ python-scciclient/scciclient/tests/irmc/test_snmp.py
@@ -18,7 +18,12 @@ Test class for snmp module.
from unittest import mock
from pysnmp import error as snmp_error
-from pysnmp import hlapi as pysnmp
+try:
+ from pysnmp.hlapi.v3arch import asyncio as pysnmp
+ from pysnmp.hlapi.v3arch.asyncio import cmdgen
+except ImportError:
+ from pysnmp import hlapi as pysnmp
+ from pysnmp.hlapi import cmdgen
import testtools
from scciclient.irmc import snmp
@@ -200,7 +205,7 @@ class SNMPClientTestCase(testtools.TestC
mock_context.assert_called_once_with(contextEngineId=None,
contextName='')
- @mock.patch.object(pysnmp, 'getCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'getCmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -213,7 +218,7 @@ class SNMPClientTestCase(testtools.TestC
self.assertEqual(var_bind[1], val)
self.assertEqual(1, mock_getcmd.call_count)
- @mock.patch.object(pysnmp, 'nextCmd', authspec=True)
+ @mock.patch.object(pysnmp, 'next_cmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -227,7 +232,7 @@ class SNMPClientTestCase(testtools.TestC
self.assertEqual([self.value, self.value], val)
self.assertEqual(1, mock_nextcmd.call_count)
- @mock.patch.object(pysnmp, 'getCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'getCmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -241,7 +246,7 @@ class SNMPClientTestCase(testtools.TestC
self.assertRaises(snmp.SNMPFailure, client.get, self.oid)
self.assertFalse(mock_getcmd.called)
- @mock.patch.object(pysnmp, 'nextCmd', authspec=True)
+ @mock.patch.object(pysnmp, 'next_cmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -255,7 +260,7 @@ class SNMPClientTestCase(testtools.TestC
self.assertRaises(snmp.SNMPFailure, client.get_next, self.oid)
self.assertFalse(mock_nextcmd.called)
- @mock.patch.object(pysnmp, 'getCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'getCmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -268,7 +273,7 @@ class SNMPClientTestCase(testtools.TestC
self.assertRaises(snmp.SNMPFailure, client.get, self.oid)
self.assertEqual(1, mock_getcmd.call_count)
- @mock.patch.object(pysnmp, 'nextCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'next_cmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -281,7 +286,7 @@ class SNMPClientTestCase(testtools.TestC
self.assertRaises(snmp.SNMPFailure, client.get_next, self.oid)
self.assertEqual(1, mock_nextcmd.call_count)
- @mock.patch.object(pysnmp, 'setCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'setCmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -293,7 +298,7 @@ class SNMPClientTestCase(testtools.TestC
client.set(self.oid, self.value)
self.assertEqual(1, mock_setcmd.call_count)
- @mock.patch.object(pysnmp, 'setCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'setCmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
@@ -305,7 +310,7 @@ class SNMPClientTestCase(testtools.TestC
client.set, self.oid, self.value)
self.assertFalse(mock_setcmd.called)
- @mock.patch.object(pysnmp, 'setCmd', authspec=True)
+ @mock.patch.object(cmdgen, 'setCmd', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_transport', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_context', authspec=True)
@mock.patch.object(snmp.SNMPClient, '_get_auth', authspec=True)
|