summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-09-03 11:01:48 +0200
committerPetr Viktorin <pviktori@redhat.com>2013-09-04 12:46:29 +0200
commitf312d725102f903f67a2db688d3dce94cf84e77d (patch)
tree979510aba7e9a93814c642370f0bf05599555f9b
parent7959f3ee1e38ce10e2f32a51c3fa0f45f949f06f (diff)
downloadfreeipa.git-f312d725102f903f67a2db688d3dce94cf84e77d.tar.gz
freeipa.git-f312d725102f903f67a2db688d3dce94cf84e77d.tar.xz
freeipa.git-f312d725102f903f67a2db688d3dce94cf84e77d.zip
Fix RUV search scope in ipa-replica-manage
The search had an incorrect scope and therefore it didn't find any RUV. This issue prevented removing of replica. https://fedorahosted.org/freeipa/ticket/3876
-rwxr-xr-xinstall/tools/ipa-replica-manage2
-rw-r--r--ipatests/test_integration/test_simple_replication.py10
2 files changed, 11 insertions, 1 deletions
diff --git a/install/tools/ipa-replica-manage b/install/tools/ipa-replica-manage
index e2bd38e9..45b915c6 100755
--- a/install/tools/ipa-replica-manage
+++ b/install/tools/ipa-replica-manage
@@ -348,7 +348,7 @@ def get_ruv(realm, host, dirman_passwd, nolookup=False):
search_filter = '(&(nsuniqueid=ffffffff-ffffffff-ffffffff-ffffffff)(objectclass=nstombstone))'
try:
entries = thisrepl.conn.get_entries(
- api.env.basedn, thisrepl.conn.SCOPE_ONELEVEL, search_filter,
+ api.env.basedn, thisrepl.conn.SCOPE_SUBTREE, search_filter,
['nsds50ruv'])
except errors.NotFound:
print "No RUV records found."
diff --git a/ipatests/test_integration/test_simple_replication.py b/ipatests/test_integration/test_simple_replication.py
index 2d8f9fcf..998b1196 100644
--- a/ipatests/test_integration/test_simple_replication.py
+++ b/ipatests/test_integration/test_simple_replication.py
@@ -59,3 +59,13 @@ class TestSimpleReplication(IntegrationTest):
def test_user_replication_to_master(self):
"""Test user replication replica -> master"""
self.check_replication(self.replicas[0], self.master, 'testuser2')
+
+ def test_replica_removal(self):
+ """Test replica removal"""
+ result = self.master.run_command(['ipa-replica-manage', 'list'])
+ assert self.replicas[0].hostname in result.stdout_text
+ # has to be run with --force, there is no --unattended
+ self.master.run_command(['ipa-replica-manage', 'del',
+ self.replicas[0].hostname, '--force'])
+ result = self.master.run_command(['ipa-replica-manage', 'list'])
+ assert self.replicas[0].hostname not in result.stdout_text