Un fonction pour générer des objets machine lc_ldap à partir du dump des annonces sap dans /usr/scripts
Ça permet d'utiliser des fonctions générique sur les machines lc_ldap pour s'occuper aussi du multicast. Notamment dans /usr/scripts/gestion/gen_confs/bind2.py où cela nous permet de générer gratuirement la zone tv.crans.org et son reverse.
This commit is contained in:
parent
32f51593b6
commit
f4730bb6ea
2 changed files with 34 additions and 1 deletions
23
lc_ldap.py
23
lc_ldap.py
|
@ -193,8 +193,29 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
||||||
ret.append(objets.new_cransldapobject(self, dn, mode, uldif))
|
ret.append(objets.new_cransldapobject(self, dn, mode, uldif))
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
def machinesMulticast(self):
|
||||||
|
import cPickle
|
||||||
|
import tv.dns
|
||||||
|
import config.dns
|
||||||
|
machines = []
|
||||||
|
sap=cPickle.load(open('/usr/scripts/var/tv/sap.pickel'))
|
||||||
|
for name_ip in sap.values():
|
||||||
|
for (nom, ip) in name_ip.items():
|
||||||
|
nom=unicode(nom, 'utf-8')
|
||||||
|
nom_ascii=tv.dns.ascii(nom)
|
||||||
|
nom_punycode=tv.dns.punycode(nom)
|
||||||
|
ldif = {
|
||||||
|
'ipHostNumber' : [unicode(ip)],
|
||||||
|
'objectClass': [u'machineFixe'],
|
||||||
|
'host': [u"%s.%s" % (nom_ascii, config.dns.zone_tv)]
|
||||||
|
}
|
||||||
|
if nom_punycode:
|
||||||
|
ldif['hostAlias']=[u"%s.%s" % (nom_punycode, config.dns.zone_tv)]
|
||||||
|
machines.append(objets.machineMulticast(self, "", ldif=ldif))
|
||||||
|
return machines
|
||||||
|
|
||||||
def allMachinesAdherents(self, mode='ro'):
|
def allMachinesAdherents(self, mode='ro'):
|
||||||
"""Renvoie la liste de toutes les machines et de tous les adherents
|
"""Renvoie la liste de toutes les machines et de tous les adherents
|
||||||
(club et Association Crans compris). Conçue pour s'éxécuter le plus
|
(club et Association Crans compris). Conçue pour s'éxécuter le plus
|
||||||
rapidement possible. On dumpe malgré tout toute la base."""
|
rapidement possible. On dumpe malgré tout toute la base."""
|
||||||
res = {}
|
res = {}
|
||||||
|
|
12
objets.py
12
objets.py
|
@ -901,6 +901,18 @@ class machineFixe(machine):
|
||||||
u"""Machine fixe"""
|
u"""Machine fixe"""
|
||||||
ldap_name = "machineFixe"
|
ldap_name = "machineFixe"
|
||||||
|
|
||||||
|
class machineMulticast(machine):
|
||||||
|
u"""Machine pour inféré à partir des announces sap"""
|
||||||
|
ldap_name = None
|
||||||
|
def save(self):
|
||||||
|
pass
|
||||||
|
def delete(self):
|
||||||
|
pass
|
||||||
|
def create(self):
|
||||||
|
pass
|
||||||
|
def ressuscite(self, comm, login):
|
||||||
|
pass
|
||||||
|
|
||||||
@crans_object
|
@crans_object
|
||||||
class machineWifi(machine):
|
class machineWifi(machine):
|
||||||
u"""Machine wifi"""
|
u"""Machine wifi"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue