On fait en sorte que prise_etat gère mieux les prises virtuelles, pour que whos_lc arrête de planter.
This commit is contained in:
parent
cb3f063dc6
commit
15e83e1844
3 changed files with 26 additions and 17 deletions
|
@ -25,7 +25,7 @@ import netsnmp
|
|||
if '/usr/scripts' not in sys.path:
|
||||
path.append('/usr/scripts')
|
||||
import gestion.secrets_new as secrets
|
||||
from gestion.config import vlans
|
||||
from gestion.config import vlans, bats_virtuels
|
||||
from gestion.annuaires_pg import chbre_prises, all_switchs
|
||||
|
||||
try:
|
||||
|
@ -390,17 +390,27 @@ class hpswitch :
|
|||
prise = prise.replace('-','')
|
||||
return self.get(oid + '.' + prise) == 'up'
|
||||
|
||||
def is_enable(self,prise=0) :
|
||||
def is_fake(self, prise=0):
|
||||
"""Retourne True ou False selon que le switch est virtuel."""
|
||||
if self.switch.split('-')[0].replace('bat', '') in bats_virtuels:
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_enable(self,prise=0):
|
||||
""" Retoune True ou False suivant si la prise est activée ou non
|
||||
Si prise=all retourne le nombre de prises activées sur le switch """
|
||||
if self.switch.split('-')[0].replace('bat', '') in bats_virtuels:
|
||||
return False
|
||||
if prise != 'all': prise = int(prise)
|
||||
return self.__is('IF-MIB::ifAdminStatus',prise)
|
||||
|
||||
def is_up(self,prise=0) :
|
||||
""" Retoune True ou False suivant si la prise est up
|
||||
Si prise=all retourne le nombre de prises up sur le switch """
|
||||
if self.switch.split('-')[0].replace('bat', '') in bats_virtuels:
|
||||
return False
|
||||
if prise != 'all': prise = int(prise)
|
||||
return self.__is('IF-MIB::ifOperStatus',prise)
|
||||
return self.__is('IF-MIB::ifOperStatus', prise)
|
||||
|
||||
def nom(self,nom=None,prise=0) :
|
||||
""" Retourne ou attribue le nom à la prise fournie """
|
||||
|
@ -439,13 +449,15 @@ class hpswitch :
|
|||
|
||||
def vlans(self, prise = None):
|
||||
"""Récupère les vlans activés sur la prise 'prise'"""
|
||||
result = []
|
||||
if self.switch.split('-')[0].replace('bat', '') in bats_virtuels:
|
||||
return result
|
||||
if not prise:
|
||||
prise = self.prise
|
||||
prise = int(prise)
|
||||
oid_base = 'SNMPv2-SMI::enterprises.11.2.14.11.5.1.7.1.15.3.1.1'
|
||||
oid_format = oid_base + '.%(vlan)d.%(prise)d'
|
||||
oids = self.walk(oid_base)
|
||||
result = []
|
||||
for vlan_name, vlan in vlans.iteritems():
|
||||
if oid_format % {'vlan': vlan, 'prise': prise} in oids:
|
||||
result.append(vlan_name)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue