From 17ece24b0f662b08a14c480dfb2c74b1ba6d3c0b Mon Sep 17 00:00:00 2001 From: Johanna England Date: Fri, 3 Nov 2023 09:37:30 +0100 Subject: [PATCH] Avoid exception on adding ip device with wrong ip --- python/nav/Snmp/pynetsnmp.py | 6 +++++- python/nav/web/seeddb/page/netbox/edit.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/python/nav/Snmp/pynetsnmp.py b/python/nav/Snmp/pynetsnmp.py index ccb247ed51..71041dba82 100644 --- a/python/nav/Snmp/pynetsnmp.py +++ b/python/nav/Snmp/pynetsnmp.py @@ -36,6 +36,7 @@ from pynetsnmp import netsnmp from pynetsnmp.netsnmp import ( Session, + SnmpError as PynetSnmpError, SNMP_MSG_GETNEXT, mkoid, lib, @@ -107,7 +108,10 @@ def __init__( self.timeout = timeout self.handle = _MySnmpSession(self._build_cmdline()) - self.handle.open() + try: + self.handle.open() + except PynetSnmpError: + raise SnmpError def _build_cmdline(self): try: diff --git a/python/nav/web/seeddb/page/netbox/edit.py b/python/nav/web/seeddb/page/netbox/edit.py index fb364c362c..f0fb17f8eb 100644 --- a/python/nav/web/seeddb/page/netbox/edit.py +++ b/python/nav/web/seeddb/page/netbox/edit.py @@ -265,8 +265,8 @@ def get_type_id(ip_addr, profile): def snmp_type(ip_addr, snmp_ro, snmp_version): """Query ip for sysobjectid using form data""" - snmp = Snmp(ip_addr, snmp_ro, snmp_version) try: + snmp = Snmp(ip_addr, snmp_ro, snmp_version) sysobjectid = snmp.get('.1.3.6.1.2.1.1.2.0') except SnmpError: return None