From 1faacdb594fc214a4a373f3654a5734fe4e07e55 Mon Sep 17 00:00:00 2001 From: Olivier Huber Date: Sat, 19 Jun 2010 17:34:43 +0200 Subject: [PATCH] [./gestion/hptools.py] Unfuck le snmpv3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Il semblerait que suite à une maj du firmware, l'engineid soit basé sur la base mac. Cela permet aussi de faire marcher le snmpv3 sur les switch du G darcs-hash:20100619153443-8fbb1-8e0206022f6bc01355b2f7d281c72e381d36d0bd.gz --- gestion/hptools.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gestion/hptools.py b/gestion/hptools.py index f769bc20..17a4a22a 100644 --- a/gestion/hptools.py +++ b/gestion/hptools.py @@ -135,9 +135,12 @@ class snmp : else : raise ValueError('Version incorrecte') - def get_mac(self): - s, r = getstatusoutput("arp -a %s | perl -nle '{print $& if /00(:[0-9a-f]{2}){5}/}'" % self.host) - return r + def getBaseMac(self): + ''' retourne la Base Mac du switch concerné. C'est elle qui est + utilisée pour l'engineid.''' + switch = cl.search("host=%s" % self.host)["machineCrans"][0] + baseMac = switch.mac().replace(':', '')[0:11] + '0' + return baseMac def fetch_engineid(self): self._engineid = '0000000b000%s0' % self.get_mac().replace(':', '')