Imported Upstream version 4.6.2
This commit is contained in:
60
ipaserver/install/plugins/update_ca_topology.py
Normal file
60
ipaserver/install/plugins/update_ca_topology.py
Normal file
@@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (C) 2015 FreeIPA Contributors see COPYING for license
|
||||
#
|
||||
|
||||
import logging
|
||||
|
||||
from ipalib import errors
|
||||
from ipalib import Registry
|
||||
from ipalib import Updater
|
||||
from ipapython.dn import DN
|
||||
from ipaserver.install import cainstance
|
||||
from ipaserver.install import ldapupdate
|
||||
from ipaplatform.paths import paths
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
register = Registry()
|
||||
|
||||
|
||||
@register()
|
||||
class update_ca_topology(Updater):
|
||||
"""
|
||||
Updates CA topology configuration entries
|
||||
"""
|
||||
|
||||
def execute(self, **options):
|
||||
|
||||
ca = cainstance.CAInstance(self.api.env.realm)
|
||||
if not ca.is_configured():
|
||||
logger.debug("CA is not configured on this host")
|
||||
return False, []
|
||||
|
||||
ld = ldapupdate.LDAPUpdate(ldapi=True, sub_dict={
|
||||
'SUFFIX': self.api.env.basedn,
|
||||
'FQDN': self.api.env.host,
|
||||
})
|
||||
|
||||
ld.update([paths.CA_TOPOLOGY_ULDIF])
|
||||
|
||||
ldap = self.api.Backend.ldap2
|
||||
|
||||
ca_replica_dn = DN(
|
||||
('cn', 'replica'),
|
||||
('cn', 'o=ipaca'),
|
||||
('cn', 'mapping tree'),
|
||||
('cn', 'config'))
|
||||
|
||||
check_interval_attr = 'nsds5replicabinddngroupcheckinterval'
|
||||
default_check_interval = ['60']
|
||||
|
||||
try:
|
||||
ca_replica_entry = ldap.get_entry(ca_replica_dn)
|
||||
except errors.NotFound:
|
||||
pass
|
||||
else:
|
||||
if check_interval_attr not in ca_replica_entry:
|
||||
ca_replica_entry[check_interval_attr] = default_check_interval
|
||||
ldap.update_entry(ca_replica_entry)
|
||||
|
||||
return False, []
|
||||
Reference in New Issue
Block a user