Bug 1384310

Summary: ipa dnsrecord-add fails with Keyerror stack trace
Product: Red Hat Enterprise Linux 7 Reporter: Abhijeet Kasurde <akasurde>
Component: ipaAssignee: IPA Maintainers <ipa-maint>
Status: CLOSED ERRATA QA Contact: Abhijeet Kasurde <akasurde>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: apfaffeneder, dkupka, martin, pierre-yves.goubet, pvoborni, rcritten
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipa-4.5.0-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 09:42:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Abhijeet Kasurde 2016-10-13 05:16:25 UTC
Description of problem:
When User tries to add DNS record for a machine using `ipa dnsrecord-add` in interactive mode, command fails with Python keyerror stack trace 


[root@ipabrserver1 /]# ipa dnsrecord-add
Record name: ipaserver1
Zone name: testrelm.test
Please choose a type of DNS resource record to be added
The most common types for this type of zone are: A, AAAA

DNS resource record type: A
A IP Address: 192.168.121.41
ipa: ERROR: KeyError: u'a_part_create_reverse'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/ipalib/cli.py", line 1351, in run
    sys.exit(api.Backend.cli.run(argv))
  File "/usr/lib/python2.7/site-packages/ipalib/cli.py", line 1109, in run
    kw = self.process_keyword_arguments(cmd, kw)
  File "/usr/lib/python2.7/site-packages/ipalib/cli.py", line 1096, in process_keyword_arguments
    callback(cmd, kw)
  File "/usr/lib/python2.7/site-packages/ipaclient/plugins/dns.py", line 257, in interactive_prompt_callback
    user_options = prompt_parts(rrtype, self)
  File "/usr/lib/python2.7/site-packages/ipaclient/plugins/dns.py", line 80, in prompt_parts
    __get_part_param(rrtype, cmd, part, user_options, default)
  File "/usr/lib/python2.7/site-packages/ipaclient/plugins/dns.py", line 53, in __get_part_param
    label = unicode(cmd.params[name].label)
  File "/usr/lib/python2.7/site-packages/ipalib/base.py", line 472, in __getitem__
    return self.__map[key]
KeyError: u'a_part_create_reverse'
ipa: ERROR: an internal error has occurred


Version-Release number of selected component (if applicable):
ipa-server-4.4.0-12.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Kinit as admin
2. Add DNS A record using ipa dnsrecord-add in interactive mode

Actual results:
Python Stack trace for KeyError

Expected results:
DNS A record should get added in IPA DNS server 

Additional info:

Comment 2 Petr Vobornik 2016-11-04 13:27:39 UTC
Upstream ticket:
https://fedorahosted.org/freeipa/ticket/6457

Comment 3 David Kupka 2017-03-08 15:32:30 UTC
Fixed upstream
master:
https://pagure.io/freeipa/c/1e912f5b83166154806e0382f3f028d0eac81731

Comment 6 Abhijeet Kasurde 2017-05-25 08:21:05 UTC
Verified using IPA version :: ipa-server-4.5.0-13.el7.x86_64


Steps followed while verification ::

[root@ipaserver01 ~]# ipa dnsrecord-add
Record name: hostname1
Zone name: testrelm.test
Please choose a type of DNS resource record to be added
The most common types for this type of zone are: A, AAAA

DNS resource record type: A
A IP Address: 192.168.10.1
  Record name: hostname1
  A record: 192.168.10.1

[root@ipaserver01 ~]# ipa dnsrecord-show testrelm.test hostname1
  Record name: hostname1
  A record: 192.168.10.1


Marking BZ as verified.

Comment 7 errata-xmlrpc 2017-08-01 09:42:02 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2304