crans_bcfg2/etc/python/ip.py
Pierre-Elliott Bécue d10a8a0672 [Bcfg2] Nouveau paquet, nouvelle config
Ignore-this: 67cdee8f32d7581493d12617ddc97bc2
Bcfg2 a subi deux releases, qui ont pas mal changé les "normes".

Les balises suivntes sont remplacées :

<ConfigFile> ---------------------------> <Path type="file">
<Directory>  ---------------------------> <Path type="directory">
<SymLink>    ---------------------------> <Path type="symlink">
etc

Pour les fichiers python, désormais, on utilise plus
<ConfigFile>, mais <Python>

darcs-hash:20121211100127-b6762-f146f4460e9713cb59a25c33a08b551c5280f3b2.gz
2012-12-11 11:01:27 +01:00

73 lines
1.9 KiB
Python

# -*- 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 a 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 a 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 a 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 a faire sur le VLAN isolement"