[./gestion/hptools.py] Unfuck le snmpv3

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
This commit is contained in:
Olivier Huber 2010-06-19 17:34:43 +02:00
parent 2b7bac51a9
commit 1faacdb594

View file

@ -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(':', '')