diff options
author | Martin Basti <mbasti@redhat.com> | 2014-09-04 15:48:16 +0200 |
---|---|---|
committer | Petr Viktorin <pviktori@dhcp-31-13.brq.redhat.com> | 2014-09-05 10:34:11 +0200 |
commit | 62a255949377d4a6b3cc197462223b5b0495d18d (patch) | |
tree | cc94d00f53a029ad0526ec13ab89a2bcf18010c9 /ipalib/plugins/dns.py | |
parent | fd26560a164e757970584009d54f81c678a7056c (diff) | |
download | freeipa-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/plugins/dns.py')
-rw-r--r-- | ipalib/plugins/dns.py | 7 |
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 |