# -*- mode: python; coding: utf-8 -*- # # Recuperation des addresses ip des serveurs import socket def pubipof(hostname): try: return socket.gethostbyname(hostname + ".crans.org") except: # Peut-etre un serveur de la ferme ? return socket.gethostbyname(hostname + ".ferme.crans.org") def admipof(hostname): return socket.gethostbyname(hostname + ".adm.crans.org") def wifiipof(hostname): return socket.gethostbyname(hostname + ".wifi.crans.org") def pubip(): return pubipof(hostname) def admip(): return admipof(hostname) def wifiip(): return wifiipof(hostname) ip_vlan = { 'sable' : { 'vlan-radin' : '10.42.0.1', 'vlan-accueil' : '10.51.0.1', 'vlan-ens' : '10.2.9.2', 'vlan-isolement':'10.52.0.1' }, 'dhcp' : { 'vlan-radin' : '10.42.0.34', 'vlan-accueil' : '10.51.0.34', 'vlan-ens' : '10.2.9.34', 'vlan-isolement':'10.52.0.34' }, 'routeur' : { 'vlan-accueil' : '10.51.0.10', 'vlan-ens' : '10.2.9.10', 'vlan-isolement':'10.52.0.10' }, 'titanic' : {'vlan-ens' : '10.2.9.1' }, 'komaz' : {'vlan-ens' : '10.2.9.4' }, } def radinip(): if has("vlan-radin"): return ip_vlan[hostname]["vlan-radin"] else: raise NotImplementedError, "Ce serveur n'a rien à faire sur le VLAN radin" def accueilip(): if has("vlan-accueil"): return ip_vlan[hostname]["vlan-accueil"] else: raise NotImplementedError, "Ce serveur n'a rien à faire sur le VLAN d'accueil" def appt_ens_ip(): if has("vlan-ens"): return ip_vlan[hostname]["vlan-ens"] else: raise NotImplementedError, "Ce serveur n'a rien à faire sur le VLAN des appartements de l'ENS" def isolementip(): if has("vlan-isolement"): return ip_vlan[hostname]["vlan-isolement"] else: raise NotImplementedError, "Ce serveur n'a rien à faire sur le VLAN isolement"