summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/replication.py
diff options
context:
space:
mode:
authorOndrej Hamada <ohamada@redhat.com>2012-01-23 17:28:37 +0100
committerRob Crittenden <rcritten@redhat.com>2012-01-24 22:00:36 -0500
commited061ce91011ce6ebf99c46f6424f0ee14d42def (patch)
treee6e29ed340090c100793b4a18132e2052bbb73f9 /ipaserver/install/replication.py
parentdbd87af80b55af0454866260d24d7b3b1f5d9666 (diff)
downloadfreeipa-ed061ce91011ce6ebf99c46f6424f0ee14d42def.tar.gz
freeipa-ed061ce91011ce6ebf99c46f6424f0ee14d42def.tar.xz
freeipa-ed061ce91011ce6ebf99c46f6424f0ee14d42def.zip
Leave nsds5replicaupdateschedule parameter unset
The nsDS5ReplicaUpdateSchedule parameter is omited what results in replication being run all the time. The parameter is still used for forcing replica update but after that action it is always deleted. https://fedorahosted.org/freeipa/ticket/1482
Diffstat (limited to 'ipaserver/install/replication.py')
-rw-r--r--ipaserver/install/replication.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/ipaserver/install/replication.py b/ipaserver/install/replication.py
index 3ac99e6bd..052f18346 100644
--- a/ipaserver/install/replication.py
+++ b/ipaserver/install/replication.py
@@ -460,7 +460,6 @@ class ReplicationManager(object):
entry.setValues('nsds5replicatimeout', str(TIMEOUT))
entry.setValues('nsds5replicaroot', self.suffix)
if master is None:
- entry.setValues('nsds5replicaupdateschedule', '0000-2359 0123456')
entry.setValues('nsDS5ReplicatedAttributeList',
'(objectclass=*) $ EXCLUDE %s' % " ".join(excludes))
entry.setValues('description', "me to %s" % b_hostname)
@@ -853,22 +852,20 @@ class ReplicationManager(object):
dn = entry[0].dn
schedule = entry[0].nsds5replicaupdateschedule
- if schedule is None:
- schedule = '0000-2359 0123456'
# On the remote chance of a match. We force a synch to happen right
- # now by changing the schedule to something else and quickly changing
- # it back.
- if newschedule == schedule:
- newschedule = '2358-2359 1'
- root_logger.info("Changing agreement %s schedule to %s to force synch" %
+ # now by setting the schedule to something and quickly removing it.
+ if schedule is not None:
+ if newschedule == schedule:
+ newschedule = '2358-2359 1'
+ root_logger.info("Setting agreement %s schedule to %s to force synch" %
(dn, newschedule))
mod = [(ldap.MOD_REPLACE, 'nsDS5ReplicaUpdateSchedule', [ newschedule ])]
conn.modify_s(dn, mod)
time.sleep(1)
- root_logger.info("Changing agreement %s to restore original schedule %s" %
- (dn, schedule))
- mod = [(ldap.MOD_REPLACE, 'nsDS5ReplicaUpdateSchedule', [ schedule ])]
+ root_logger.info("Deleting schedule %s from agreement %s" %
+ (newschedule, dn))
+ mod = [(ldap.MOD_DELETE, 'nsDS5ReplicaUpdateSchedule', None)]
conn.modify_s(dn, mod)
def get_agreement_type(self, hostname):