develop
asamoukin 16 years ago
parent df245b4651
commit 868230a0f0

@ -5091,10 +5091,15 @@ outdated. If the backup is obsolete, use cl-backup."))
# другого компьютера
if options.has_key("repl"):
# Находим имена сервисов репликации для этого сервера
# и инициализируются переменные
replServices = self.getArchReplServices()
# Cоздаем объект репликации
objRepl = servRepl()
# Определяем поддерживает ли openldap репликацию
if not objRepl.supportReplOpenldap(self.clVars):
return False
if not self.restoreServer(False,replServices):
return False
objRepl = servRepl()
# Изменяем и сохраняем переменные
if not objRepl.prepAndSaveEnv():
return False
@ -5134,10 +5139,16 @@ outdated. If the backup is obsolete, use cl-backup."))
# Добавляем в крон скрипт для чистки директорий
if not objRepl.cronReplicationON():
return False
# Добавляем ветку репликации
if not objRepl.addReplDN():
return False
else:
# Удаляем из крона скрипт для чистки директорий
if not objRepl.cronReplicationOFF():
return False
return False
# Удаляем служебную ветку ldap
if not objRepl.delSysDN():
return False
# Настройка почты
if serviceUpdate in ["all","mail"]:
if options.has_key("t"):
@ -8002,7 +8013,7 @@ if %%errorlevel%%==0 NET USE T: \\\\%s\\ftp' %(netbios,netbios,netbios)
if not self.addReplWorkedUser(login):
errorFlag = True
errMessage = _("Can not add user %s in LDAP branch \
'Replication'")%str(login)
'Replication'")%str(login)
else:
errorFlag = True
errMessage = _("Samba user %s is not found")%str(login)
@ -8204,10 +8215,24 @@ calculate-server")
os.remove(fileNameCron)
return True
def supportReplOpenldap(self, clVars):
"""Определяем поддерживает ли openldap репликацию"""
clProf = cl_profile.profile(clVars)
openLdapVesion = clProf.applyFuncProfile("#-pkg(openldap)-#","","")
vesionInst, versionComp = clProf._convertVers(openLdapVesion, "2.4")
if vesionInst <= versionComp:
self.printERROR(_("openldap-%s does not support replication, \
use the new version. (openldap > 2.4)"))
return False
return True
def setupReplServer(self, options, service):
"""Начальная настройка репликации"""
# Cоздаем объект переменные
self.createClVars()
# Определяем поддерживает ли openldap репликацию
if not self.supportReplOpenldap(self.clVars):
return False
if options.has_key('off'):
if self.clVars.Get("ld_repl_set") == "off":
self.printWARNING(_("Replication off for all services"))
@ -8377,18 +8402,11 @@ calculate-server")
if not shareLdap.getLdapObjInFile(self):
return False
if options.has_key('r'):
# Добавляем ветку репликации
if not self.addReplDN():
return False
# Проверяем существует ли id текущего сервера
if not self.clVars.Get("ld_repl_id"):
self.printERROR(_("Not found 'serverID' this server") + " ...")
self.printERROR(_("variable 'ld_repl_id' empty") + " ...")
return False
# Удаляем служебную ветку ldap
if options.has_key('off') and self.clVars.Get("ld_repl_set") == "off":
if not self.delSysDN():
return False
# Делаем update cервиса Samba в случае опции off
if service == "unix" and self.clVars.Get("sr_samba_set") == "on" and\
options.has_key('off'):
@ -8397,14 +8415,7 @@ calculate-server")
# Делаем update сервиса
if not self.servLdapObj.updateServer({},service,self.clVars):
return False
if self.clVars.Get("ld_repl_set") == "on":
# Добавляем в крон скрипт для чистки директорий
if not self.cronReplicationON():
return False
else:
# Удаляем из крона скрипт для чистки директорий
if not self.cronReplicationOFF():
return False
if self.clVars.Get("ld_repl_set") != "on":
# Удаляем переменные
self.clVars.Delete("ld_repl_servers","local","server")
self.clVars.Delete("ld_repl_samba_servers","local","server")

Loading…
Cancel
Save