Bug 1454483

Summary: rhel73 ipa ui - cannot del server - IPA Error 903 - server_del - TypeError: 'NoneType' object is not iterable
Product: Red Hat Enterprise Linux 7 Reporter: Marc Sauton <msauton>
Component: ipaAssignee: Varun Mylaraiah <mvarun>
Status: CLOSED ERRATA QA Contact: Varun Mylaraiah <mvarun>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: enewland, gparente, ksiddiqu, mbabinsk, pasik, pvoborni, rcritten, tscherf
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: ipa-4.5.0-15.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 09:51:24 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:
Attachments:
Description Flags
Snapshots none

Description Marc Sauton 2017-05-22 21:30:31 UTC
Description of problem:

customer cannot delete a host that was a replica, in the web UI (error 903), may be a corner case, but scenario is unclear.
and we have from the httpd error log:

[Mon May 22 14:12:19.536336 2017] [:error] [pid 26907] TypeError: 'NoneType' object is not iterable
[Mon May 22 14:12:19.536745 2017] [:error] [pid 26907] ipa: INFO: [jsonserver_session] gvonroth: server_del((u'ipa02.example.com',), version=u'2.213'): TypeError

we wanted to find a quick workaround and disable the topology plug-in, but this is not do-able, there is a hard requirement to use it, from irc #ipa:
<ab> msauton: I don't think disabling topology plugin would be possible here -- server-del uses topology plugin unconditionally


Version-Release number of selected component (if applicable):

389-ds-base-1.3.5.10-20.el7_3.x86_64
httpd-2.4.6-45.el7_3.4.x86_64                               Tue Apr 25 14:05:07 2017
mod_wsgi-3.4-12.el7_0.x86_64                                Fri Jul 22 15:11:24 2016
ipa-server-4.4.0-14.el7_3.7.x86_64                          Tue Apr 25 14:05:33 2017
redhat-release-server-7.3-7.el7.x86_64                      Thu Nov  3 21:56:43 2016


How reproducible:

N/A - is persistent in customer's environment for a particular host/replica


Steps to Reproduce:

1. in web UI IPA SERVER -> Topology -> ipa servers -> selected the server -> [DELETE SERVER] button.


Actual results:

pop-up window:
"
IPA Error 903: Internal Error
an internal error has occurred
Retry Cancel
"


Expected results:


Additional info:

var/log/httpd/error_log 

[Mon May 22 14:12:19.536197 2017] [:error] [pid 26907] ipa: ERROR: non-public: TypeError: 'NoneType' object is not iterable
[Mon May 22 14:12:19.536242 2017] [:error] [pid 26907] Traceback (most recent call last):
[Mon May 22 14:12:19.536248 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/rpcserver.py", line 366, in wsgi_execute
[Mon May 22 14:12:19.536254 2017] [:error] [pid 26907]     result = command(*args, **options)
[Mon May 22 14:12:19.536258 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 449, in __call__
[Mon May 22 14:12:19.536263 2017] [:error] [pid 26907]     return self.__do_call(*args, **options)
[Mon May 22 14:12:19.536267 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 477, in __do_call
[Mon May 22 14:12:19.536272 2017] [:error] [pid 26907]     ret = self.run(*args, **options)
[Mon May 22 14:12:19.536276 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipalib/frontend.py", line 799, in run
[Mon May 22 14:12:19.536280 2017] [:error] [pid 26907]     return self.execute(*args, **options)
[Mon May 22 14:12:19.536285 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/plugins/baseldap.py", line 1571, in execute
[Mon May 22 14:12:19.536289 2017] [:error] [pid 26907]     delete_entry(pkey)
[Mon May 22 14:12:19.536293 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/plugins/baseldap.py", line 1524, in delete_entry
[Mon May 22 14:12:19.536298 2017] [:error] [pid 26907]     dn = callback(self, ldap, dn, *nkeys, **options)
[Mon May 22 14:12:19.536302 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/plugins/server.py", line 692, in pre_callback
[Mon May 22 14:12:19.536307 2017] [:error] [pid 26907]     self.api)
[Mon May 22 14:12:19.536311 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/topology.py", line 136, in __init__
[Mon May 22 14:12:19.536315 2017] [:error] [pid 26907]     self.graphs = _create_topology_graphs(self.api)
[Mon May 22 14:12:19.536319 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/topology.py", line 100, in _create_topology_graphs
[Mon May 22 14:12:19.536323 2017] [:error] [pid 26907]     suffix_to_masters = map_masters_to_suffixes(masters)
[Mon May 22 14:12:19.536328 2017] [:error] [pid 26907]   File "/usr/lib/python2.7/site-packages/ipaserver/topology.py", line 83, in map_masters_to_suffixes
[Mon May 22 14:12:19.536332 2017] [:error] [pid 26907]     for suffix_name in managed_suffixes:
[Mon May 22 14:12:19.536336 2017] [:error] [pid 26907] TypeError: 'NoneType' object is not iterable
[Mon May 22 14:12:19.536745 2017] [:error] [pid 26907] ipa: INFO: [jsonserver_session] gvonroth: server_del((u'ipa02.example.com',), version=u'2.213'): TypeError

Comment 10 Petr Vobornik 2017-06-02 12:01:51 UTC
Upstream ticket:
https://pagure.io/freeipa/issue/6965

Comment 14 Varun Mylaraiah 2017-06-13 11:22:11 UTC
Created attachment 1287239 [details]
Snapshots

Verified
ipa-server-4.5.0-16.el7.x86_64

Comment 15 errata-xmlrpc 2017-08-01 09:51:24 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