From: Giovanni F. <gi...@fa...> - 2004-04-22 10:14:59
|
On Thu, 22 Apr 2004, Fanton Flavio wrote: > Ciao Giovanni, >=20 > ha dato un'occhio a quanto hai fatto e mi pare utile in situazioni part= icolari in cui sia necessario installare una configurazione di server LDA= P mirror in replica. Si', il mio programmino serve come interfaccia che pesca dal CNIPA all'ldap master locale del gestore (openpec) che puo' (eventualmente) avere a sua volta delle repliche con slurpd. (ma di questa seconda parte AggiornLDAP non si occupa) La cosa bellina e' che serve anche in caso di perdita totale del DB ldap: Se hai un server ldap locale completamente vuoto ma configurato per o=3Dpostacert, AggiornaLDAP lo riempie correttamente, se scarichi l'ldiff del cnipa via https.=20 Scaricando il DB del CNIPA via LDAP non funziona, perche' l'ldap del CNIPA emette i records nell'ordine errato e servirebbe un sorter ldiff che non abbiamo: il record: # postacert dn: o=3Dpostacert objectClass: top objectClass: organization objectClass: LDIFLocationURLObject o: postacert description: Base root per l'indice dei gestori di posta certificata LDIFLocationURL: https://igpec.ctrupa.it/postacert.ldif Lo mette DOPO alcuni certificatori,=20 che non avendo il nodo parent non vengono inseriti. > La logica di LdapTool.pm =E8 di tentare la connessione verso LDAP local= e altrimenti provare con LDAP secondario dopodich=E8 la connessione viene= validata prima di ogni operazione: > la validazione consiste semplicemente nel: > . caso di connessione verso LDAP mirror > rieffettuarla nel caso non siano state effettuate operazioni entro > x secondi > . caso di connessione verso LDAP secondario > rieffettuarla cmq se + vecchia di x secondi Ottimo. La logica mi pare ineccepibile. > PS: che ne dici di estendere ScaricaLDIF in modo da includere anche=20 > l'aggiornamento del LDAP locale semplicemente con uno slapadd? Questo=20 > andrebbe a corredo dell'installazione con singolo server. No, NON mi pare corretto: il sistema gia' fa' quell'operazione online, anche nel caso di singolo server (sia vuoto che pieno) Farla offline comporterebbe: a) codice aggiuntivo (largamente duplicato ed inutile) b) STOP del server ldap ad ogni update, con conseguenti casini per LdapTool.pm in caso in cui il CNIPA non fosse=20 raggiungibile per problemi di rete. (Nessun ldap=20 raggiungibile...) Col mio metodo l'ldap non viene semplicemente aggiornato, ma (con i vecchi dati) continua a funzionare. Il caso con singolo server (a casa mia e' in questa configurazione) e' semplicemente un server LDAP con AggiornaLDAP che gira in crontab e che tiene l'unico server in sync con il CNIPA, senza mai fermarlo. :) =09 Ed e' anche utile anche in fase di installazione del server LDAP. --Gio' |