Добавлена новая переменная ld_repl_samba_set (Включена или нет репликация для сервиса Samba)

Изменен профиль для Samba сервиса
Изменен метод установки репликации.

git-svn-id: http://svn.calculate.ru/calculate2/calculate-server/trunk@972 c91db197-33c1-4113-bf15-f8a5c547ca64
develop
asamoukin 15 years ago
parent 8e65780e03
commit a7dd23f26e

@ -40,7 +40,7 @@ chown=root:root
# В новых версиях Samba не воспринимает ldap filter
# Удаляем этот аттрибут если версия samba больше 3.0.15
#?pkg(samba)>3.0.15#
!ldap filter =
!ldap filter =
#pkg#
#?pkg(samba)<=3.0.15#
ldap filter = (&(objectclass=sambaSamAccount)(uid=%u))
@ -132,8 +132,12 @@ chown=root:root
[share]
path = #-sr_samba_share_path-#
#?pkg(openldap)>2.4&ld_repl_set==on#
#?pkg(openldap)>2.4&ld_repl_samba_set==on#
magic script = .reprun
#pkg#
# #-ld_repl_samba_set-#
#?pkg(openldap)<2.4||ld_repl_samba_set==off||ld_repl_set==off#
!magic script = .reprun
#pkg#
comment = Share Files
browseable = yes

@ -338,4 +338,18 @@ class fillVars(object, cl_base.glob_attr):
self.Get("ld_repl_dn"),
self.Get("ld_repl_pw"))
i += 1
return servers_info
return servers_info
def get_ld_repl_samba_set(self):
"""Включена или нет репликация для сервиса Samba"""
replSambaServers = self.Get("ld_repl_samba_servers")
if replSambaServers:
replSambaServers = replSambaServers.split(",")
else:
return "off"
hostName = self.Get('os_net_hostname')
domain = self.Get('os_net_domain')
fullHostName = "%s.%s"%(hostName,domain)
if fullHostName in replSambaServers:
return "on"
return "off"

@ -5201,13 +5201,14 @@ outdated. If the backup is obsolete, use cl-backup."))
sharePath = self.clVars.Get("sr_samba_share_path")
# Файл для определения к какому из серверов подключился клиент
fileReplRun = os.path.join(sharePath,".reprun")
if service == "samba" and self.clVars.Get("sr_ldap_set"):
if not os.path.exists(fileReplRun):
# Создаем файл
self.createUserFile(fileReplRun,"",0,0,mode=0644)
else:
if os.path.exists(fileReplRun):
os.remove(fileReplRun)
if service == "samba":
if self.clVars.Get("ld_repl_samba_set") == "on":
if not os.path.exists(fileReplRun):
# Создаем файл
self.createUserFile(fileReplRun,"",0,0,mode=0644)
else:
if os.path.exists(fileReplRun):
os.remove(fileReplRun)
if not flagError:
files = self.applyProfilesFromService(service, verbose)
if not files:
@ -8239,7 +8240,8 @@ calculate-server")
",".join(replAllServers),True)
elif options.has_key('off'):
# Вылючаем репликацию
self.clVars.Set("ld_repl_set", "off")
self.clVars.Set("ld_repl_set", "off", True)
self.clVars.Set("ld_repl_samba_set", "off", True)
elif service == "samba":
if self.clVars.Get("sr_samba_set") != "on":
self.printERROR(\
@ -8291,6 +8293,11 @@ calculate-server")
self.printERROR(_("Not found 'serverID' this server") + " ...")
self.printERROR(_("variable 'ld_repl_id' empty") + " ...")
return False
# Делаем update cервиса Samba в случае опции off
if service == "unix" and self.clVars.Get("sr_samba_set") == "on" and\
options.has_key('off'):
if not self.servLdapObj.updateServer({},"samba",self.clVars):
return False
# Делаем update сервиса
if not self.servLdapObj.updateServer({},service,self.clVars):
return False

@ -430,4 +430,6 @@ class Data:
# Доменные имена серверов репликации
ld_repl_servers = {}
# id серверов репликации
ld_repl_ids = {}
ld_repl_ids = {}
# Включена или нет репликация для сервиса Samba
ld_repl_samba_set = {}
Loading…
Cancel
Save