summaryrefslogtreecommitdiffstats
path: root/ipalib
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2014-09-04 15:48:16 +0200
committerPetr Viktorin <pviktori@dhcp-31-13.brq.redhat.com>2014-09-05 10:34:11 +0200
commit62a255949377d4a6b3cc197462223b5b0495d18d (patch)
treecc94d00f53a029ad0526ec13ab89a2bcf18010c9 /ipalib
parentfd26560a164e757970584009d54f81c678a7056c (diff)
downloadfreeipa-62a255949377d4a6b3cc197462223b5b0495d18d.tar.gz
freeipa-62a255949377d4a6b3cc197462223b5b0495d18d.tar.xz
freeipa-62a255949377d4a6b3cc197462223b5b0495d18d.zip
Fix dnsrecord-mod raise error if last record attr is removed
Removing last record attribute causes output type validation error Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipalib')
-rw-r--r--ipalib/plugins/dns.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/ipalib/plugins/dns.py b/ipalib/plugins/dns.py
index fdcccb0b7..dae57e6c3 100644
--- a/ipalib/plugins/dns.py
+++ b/ipalib/plugins/dns.py
@@ -3374,6 +3374,13 @@ class dnsrecord_mod(LDAPUpdate):
if del_all:
result = self.obj.methods.delentry(*keys,
version=options['version'])
+
+ # we need to modify delete result to match mod output type
+ # only one value is expected, not a list
+ if client_has_capability(options['version'], 'primary_key_types'):
+ assert len(result['value']) == 1
+ result['value'] = result['value'][0]
+
# indicate that entry was deleted
context.dnsrecord_entry_mods[(keys[0], keys[1])] = None