From 58d0d335a4591398102f02c62a15290d64806cc4 Mon Sep 17 00:00:00 2001 From: Martin Basti Date: Jul 17 2015 14:47:18 +0000 Subject: Allow value 'no' for replica-certify-all attr in abort-clean-ruv subcommand --force option set replica-certify-all to 'no' during abort-clean-ruv subcommand https://fedorahosted.org/freeipa/ticket/4988 Reviewed-By: Petr Vobornik --- diff --git a/install/tools/ipa-replica-manage b/install/tools/ipa-replica-manage index e525a02..50a57f7 100755 --- a/install/tools/ipa-replica-manage +++ b/install/tools/ipa-replica-manage @@ -470,7 +470,7 @@ def abort_clean_ruv(realm, ruv, options): print thisrepl = replication.ReplicationManager(realm, options.host, options.dirman_passwd) - thisrepl.abortcleanallruv(ruv) + thisrepl.abortcleanallruv(ruv, options.force) print "Cleanup task stopped" diff --git a/install/tools/man/ipa-replica-manage.1 b/install/tools/man/ipa-replica-manage.1 index 8a7c78f..c09ed36 100644 --- a/install/tools/man/ipa-replica-manage.1 +++ b/install/tools/man/ipa-replica-manage.1 @@ -49,7 +49,7 @@ Manages the replication agreements of an IPA server. The available commands are: \- Run the CLEANALLRUV task to remove a replication ID. .TP \fBabort\-clean\-ruv\fR [REPLICATION_ID] -\- Abort a running CLEANALLRUV task. +\- Abort a running CLEANALLRUV task. With \-\-force option the task does not wait for all the replica servers to have been sent the abort task, or be online, before completing. .TP \fBlist\-clean\-ruv\fR \- List all running CLEANALLRUV and abort CLEANALLRUV tasks. diff --git a/ipaserver/install/replication.py b/ipaserver/install/replication.py index 0f42010..e9af88d 100644 --- a/ipaserver/install/replication.py +++ b/ipaserver/install/replication.py @@ -1451,7 +1451,7 @@ class ReplicationManager(object): wait_for_task(self.conn, dn) - def abortcleanallruv(self, replicaId): + def abortcleanallruv(self, replicaId, force=False): """ Create a task to abort a CLEANALLRUV operation. """ @@ -1465,6 +1465,7 @@ class ReplicationManager(object): 'replica-id': [replicaId], 'objectclass': ['top', 'extensibleObject'], 'cn': ['abort %d' % replicaId], + 'replica-certify-all': ['no'] if force else ['yes'], } ) try: