Skip to content

Commit f4bb8e4

Browse files
authored
Revert "fix: generate new snmp engine for every task (#1290)" (#1295)
This reverts commit 63813b5.
1 parent c584c8c commit f4bb8e4

File tree

4 files changed

+11
-33
lines changed

4 files changed

+11
-33
lines changed

CHANGELOG.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
- Enabled AOF persistence by default for data durability
1212
- add CounterBasedGauge64 and ZeroBasedCounter64 as metrics types
1313

14-
### Fixed
14+
### Fixes
1515
- fix problem with service rendering when `traps.service.usemetallb` is set to false
16-
- fix reusing the snmp engine for snmpv3 calls
1716

1817
## [1.14.1]
1918
- update mongodb volumePermission image repository to `bitnamileagcy`

splunk_connect_for_snmp/snmp/auth.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,5 @@ def get_auth(
185185
return get_auth_v1(ir)
186186
elif ir.version == "2c":
187187
return get_auth_v2c(ir)
188-
elif ir.version == "3":
189-
return get_auth_v3(logger, ir, snmp_engine)
190188
else:
191-
raise SnmpActionError(f"Wrong SNMP version {ir.version}")
189+
return get_auth_v3(logger, ir, snmp_engine)

splunk_connect_for_snmp/snmp/manager.py

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,9 @@ def __init__(self, **kwargs):
291291
self.profiles_collection = ProfileCollection(self.profiles)
292292
self.profiles_collection.process_profiles()
293293
self.last_modified = time.time()
294-
self.snmp_engine = SnmpEngine()
294+
self.snmpEngine = SnmpEngine()
295295
self.already_loaded_mibs = set()
296-
self.builder = self.snmp_engine.getMibBuilder()
296+
self.builder = self.snmpEngine.getMibBuilder()
297297
self.mib_view_controller = view.MibViewController(self.builder)
298298
compiler.addMibCompiler(self.builder, sources=[MIB_SOURCES])
299299

@@ -315,18 +315,6 @@ def __init__(self, **kwargs):
315315
f"Unable to load mib map from index http error {self.mib_response.status_code}"
316316
)
317317

318-
def get_snmp_engine(self, version="", create_new=False) -> SnmpEngine:
319-
"""
320-
:returns: The new SnmpEngine with mibViewController cache attached if snmp version is 3,
321-
else it reuses already defined snmp poller.
322-
"""
323-
if version == "3" or create_new:
324-
snmp_engine = SnmpEngine()
325-
snmp_engine.cache["mibViewController"] = self.mib_view_controller
326-
return snmp_engine
327-
else:
328-
return self.snmp_engine
329-
330318
def do_work(
331319
self,
332320
ir: InventoryRecord,
@@ -347,7 +335,7 @@ def do_work(
347335
address, walk=walk, profiles=profiles
348336
)
349337

350-
auth_data = get_auth(logger, ir, self.get_snmp_engine(ir.version))
338+
auth_data = get_auth(logger, ir, self.snmpEngine)
351339
context_data = get_context_data()
352340

353341
transport = setup_transport_target(ir)
@@ -411,11 +399,7 @@ def run_get_request(
411399
error_index,
412400
varbind_table,
413401
) in getCmd(
414-
self.get_snmp_engine(create_new=True),
415-
auth_data,
416-
transport,
417-
context_data,
418-
*varbind_chunk,
402+
self.snmpEngine, auth_data, transport, context_data, *varbind_chunk
419403
):
420404
if not _any_failure_happened(
421405
error_indication,
@@ -445,7 +429,7 @@ def run_bulk_request(
445429
error_index,
446430
varbind_table,
447431
) in bulkCmd(
448-
self.get_snmp_engine(create_new=True),
432+
self.snmpEngine,
449433
auth_data,
450434
transport,
451435
context_data,

test/snmp/test_do_work.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class TestDoWork(TestCase):
3333
def test_do_work_no_work_to_do(self):
3434
poller = Poller.__new__(Poller)
3535
poller.last_modified = 1609675634
36-
poller.snmp_engine = None
36+
poller.snmpEngine = None
3737
poller.profiles_manager = MagicMock()
3838
poller.profiles_collection = MagicMock()
3939
poller.profiles_collection.process_profiles = MagicMock()
@@ -57,15 +57,14 @@ def test_do_work_no_work_to_do(self):
5757
@patch("mongolock.MongoLock.release", MagicMock())
5858
@patch("splunk_connect_for_snmp.snmp.auth.get_auth", None)
5959
@patch("splunk_connect_for_snmp.snmp.manager.get_context_data", MagicMock())
60-
@patch("splunk_connect_for_snmp.snmp.manager.Poller.get_snmp_engine", MagicMock())
6160
@patch("splunk_connect_for_snmp.snmp.manager.setup_transport_target", MagicMock())
6261
@patch("splunk_connect_for_snmp.snmp.manager.bulkCmd")
6362
@patch("splunk_connect_for_snmp.snmp.manager.getCmd")
6463
@patch("splunk_connect_for_snmp.common.collection_manager.ProfilesManager")
6564
def test_do_work_bulk(self, load_profiles, getCmd, bulkCmd):
6665
poller = Poller.__new__(Poller)
6766
poller.last_modified = 1609675634
68-
poller.snmp_engine = None
67+
poller.snmpEngine = None
6968
poller.builder = MagicMock()
7069
poller.profiles_manager = MagicMock()
7170
m_process_data = MagicMock()
@@ -94,7 +93,6 @@ def test_do_work_bulk(self, load_profiles, getCmd, bulkCmd):
9493
@patch("mongolock.MongoLock.release", MagicMock())
9594
@patch("splunk_connect_for_snmp.snmp.auth.get_auth", None)
9695
@patch("splunk_connect_for_snmp.snmp.manager.get_context_data", MagicMock())
97-
@patch("splunk_connect_for_snmp.snmp.manager.Poller.get_snmp_engine", MagicMock())
9896
@patch("splunk_connect_for_snmp.snmp.manager.setup_transport_target", MagicMock())
9997
@patch("splunk_connect_for_snmp.snmp.manager.bulkCmd")
10098
@patch("splunk_connect_for_snmp.snmp.manager.getCmd")
@@ -104,7 +102,7 @@ def test_do_work_bulk(self, load_profiles, getCmd, bulkCmd):
104102
def test_do_work_get(self, load_profiles, getCmd, bulkCmd):
105103
poller = Poller.__new__(Poller)
106104
poller.last_modified = 1609675634
107-
poller.snmp_engine = None
105+
poller.snmpEngine = None
108106
poller.builder = MagicMock()
109107
poller.process_snmp_data = MagicMock()
110108
poller.profiles_manager = MagicMock()
@@ -138,7 +136,6 @@ def test_do_work_get(self, load_profiles, getCmd, bulkCmd):
138136
@patch("mongolock.MongoLock.release", MagicMock())
139137
@patch("splunk_connect_for_snmp.snmp.auth.get_auth", None)
140138
@patch("splunk_connect_for_snmp.snmp.manager.get_context_data", MagicMock())
141-
@patch("splunk_connect_for_snmp.snmp.manager.Poller.get_snmp_engine", MagicMock())
142139
@patch("splunk_connect_for_snmp.snmp.manager.setup_transport_target", MagicMock())
143140
@patch("splunk_connect_for_snmp.snmp.manager.bulkCmd")
144141
@patch("splunk_connect_for_snmp.snmp.manager.getCmd")
@@ -148,7 +145,7 @@ def test_do_work_get(self, load_profiles, getCmd, bulkCmd):
148145
def test_do_work_errors(self, load_profiles, getCmd, bulkCmd):
149146
poller = Poller.__new__(Poller)
150147
poller.last_modified = 1609675634
151-
poller.snmp_engine = None
148+
poller.snmpEngine = None
152149
poller.builder = MagicMock()
153150
poller.process_snmp_data = MagicMock()
154151
poller.profiles_manager = MagicMock()

0 commit comments

Comments
 (0)