Commit d059fb15 authored by Daniel Stan's avatar Daniel Stan

[annuaires/munin] rajouts de switchs

parent 15bc8666
......@@ -82,7 +82,7 @@ def reverse(batiment, prise = None):
if not ret:
raise ValueError("Batiment inexistant")
return ret
@_need_conn
def is_crans(batiment, chambre):
"""Chambre cablee au Cr@ns ?"""
......@@ -137,25 +137,26 @@ uplink_prises={ 'a' :
301 : 'uplink->batc-0', 302 : 'uplink->batc-1',
303 : 'uplink->batc-2', 324 : 'uplink->backbone' },
'g' :
{
{
21 : 'libre-service', 22 : 'uplink->backbone',
23 : 'libre-service', 24 : 'uplink->batg-8',
149 : 'uplink->batg-8', 150 : 'libre-service',
249 : 'uplink->batg-8', 250 : 'uplink->batg-3',
325 : 'uplink->batg-8', 326 : 'libre-service',
449 : 'uplink->batg-9', 450 : 'uplink->batg-5',
549 : 'uplink->batg-9', 550 : 'uplink->batg-6',
649 : 'uplink->batg-9', 650 : 'uplink->batg-5',
725 : 'uplink->batg-9', 726 : 'libre-service',
801 : 'uplink->batg-1', 802 : 'uplink->batg-2',
803 : 'uplink->batg-3', 821 : 'uplink->batg-0',
823 : 'uplink->batg-9',
......@@ -207,7 +208,7 @@ uplink_prises={ 'a' :
'p' :
{
49 : 'uplink->batp-4',
149: 'uplink->batp-4',
149: 'uplink->batp-4',
249: 'uplink->batp-4',
350: 'uplink->batp-4',
# On ne génère pas la conf de batp-4 automatiquement, mais ses uplinks
......@@ -217,7 +218,7 @@ uplink_prises={ 'a' :
405: 'libre-service', 406: 'uplink->bato-1',
},
'o' :
{
{
25 : 'uplink->bato-1', 26 : 'libre-service',
101 : 'uplink->bato-0', 121: 'uplink->NRD',
122: 'uplink->backbone', 123: 'uplink->backbone (unused)',
......@@ -250,29 +251,30 @@ uplink_prises={ 'a' :
},
}
def all_switchs(bat=None):
def all_switchs(bat=None, hide=['backbone.adm.crans.org',
'multiprise-v6.adm.crans.org',
'batk-0.crans.org']):
"""Retourne la liste des switchs pour un batiment.
Si bat est donné, seulement pour le bâtiment demandé, sinon pour
tous les bâtiments. bat peut être une liste aussi. Le backbone n'est
pas pris en compte. La convention est batx-y sauf si y=0 et on a donc
simplement batx"""
def cmp(x,y):
if int(x[5]) < int(y[5]): return 1
if x[3] < y[3]: return 1
return -1
if bat == None:
bat = bat_switchs
if type(bat) not in [ tuple, list ] :
bat = [bat]
switchs = []
for b in map(lambda x: x.lower(), bat):
dup = map(lambda x: x[0], reverse(b).keys())
# dup contient des elements en double
for n in list(dict(zip(dup,[None]*len(dup)))):
switchs.append("bat%s-%s.adm.crans.org" % (b, n))
switchs.sort(cmp)
for b in bat:
indexes = set(n/100 for n in uplink_prises[b])
for i in indexes:
switchs.append("bat%s-%s.adm.crans.org" % (b, i))
# on ajoute quand-même le backbone et/ou multiprise-v6 si demandé
switchs += set(['backbone.adm.crans.org', 'multiprise-v6.adm.crans.org',
'batk-0.crans.org']).difference(hide)
switchs.sort()
return switchs
# Locaux clubs : lecture dans chbre_prises et ajout des locaux dans les bats non
......
......@@ -37,7 +37,7 @@ file_host=`basename $0 | sed 's/^ping_//g' | sed 's/_/-/g'`
host=${host:-${file_host:-www.google.com}}
if [ "$1" = "config" ]; then
echo host_name `basename $host | sed 's/-//g'`
echo host_name `basename $host`
echo graph_title Ping times from $hostname
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel seconds'
......
......@@ -101,7 +101,6 @@ hosts_plugins = {
"audimat": "audimat",
"batiments": "batiments",
"munin": "munin",
"ping_multiprise_v6.adm": "ping_",
"stats-ip": "stats-ip",
# La suite plus bas...
},
......@@ -133,11 +132,12 @@ for bat in annuaires.bat_switchs:
hosts_plugins["dyson"]["stats-batiment_%s" % bat] = "stats-batiment_"
# Ping de tous les switches de bâtiments
for switch in annuaires.all_switchs():
# Suppression du .adm.crans.org
switch = switch[:switch.index('.')]
for switch in annuaires.all_switchs(hide=[]):
# Suppression du .crans.org pour plus de clarté dans les confs
# (tous les switchs n'étant pas sur adm, on garde quand-même ce suffixe)
switch = switch[:switch.rindex('.crans.org')]
switch = switch.replace('-', '_')
hosts_plugins["dyson"]["ping_%s.adm" % switch] = "ping_bat_"
hosts_plugins["dyson"]["ping_%s" % switch] = "ping_bat_"
# On rajoute les stats de connexion
for host in hosts_plugins.keys():
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment