Hi Sachin, Thanks for filling the bug and for providing a fix for it.
I looked over your fix and I think that at line 1736 from vnc_cfg_types.py should also be used obj_ids['uuid'] instead of obj_ids: cls.addr_mgmt.ipam_delete_notify(obj_ids['uuid'], obj_dict) Thanks, Anda From: Sachin Bansal [mailto:sban...@juniper.net] Sent: Wednesday, September 20, 2017 1:48 AM To: Anda Nicolae Cc: dev@lists.opencontrail.org Subject: Re: [opencontrail-dev] Python exception in vnc_addr_mgmt.py when deleting an IPAM or a network FYI: I have filed this bug myself: https://bugs.launchpad.net/juniperopenstack/+bug/1718311 Also submitted a fix for review: https://review.opencontrail.org/#/c/35746/ Sachin On Sep 19, 2017, at 11:29 AM, Sachin Bansal <sban...@juniper.net<mailto:sban...@juniper.net>> wrote: Anda, This looks like recently introduced bug in 3.2 because of an incorrect merge resolution. Please file a bug and we will take care of it. Sachin On Sep 19, 2017, at 4:44 AM, Anda Nicolae <anico...@lenovo.com<mailto:anico...@lenovo.com>> wrote: Hi all, I am using Contrail 3.2.5.0. I've noticed a Python exception logged in contrail-api.log when deleting a network or an IPAM: The above is a description of an error in a Python program. Here is the call trace: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_db.py", line 323, in _dbe_subscribe_callback self._dbe_delete_notification(oper_info) File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_db.py", line 425, in _dbe_delete_notification r_class.dbe_delete_notification(obj_info, obj_dict) File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_cfg_types.py", line 1475, in dbe_delete_notification cls.addr_mgmt.net_delete_notify(obj_ids, obj_dict) File "/usr/lib/python2.7/site-packages/vnc_cfg_api_server/vnc_addr_mgmt.py", line 785, in net_delete_notify if obj_id in self._subnet_objs: TypeError: unhashable type: 'dict' In both cases, the error happens when trying to execute the following line from vnc_cfg_api_server/vnc_addr_mgmt.py: if obj_id in self._subnet_objs: This line appears in the following functions: net_delete_notify ipam_delete_notify I've added some logs and I have noticed that obj_id is a dictionary and it can't be a key in the dictionary self._subnet_objs. The exception appears because a dictionary is mutable in Python and it can't be used as a key for another dictionary. However, even if the exception occurs, the network/IPAM is successfully deleted. Thanks, Anda _______________________________________________ Dev mailing list Dev@lists.opencontrail.org<mailto:Dev@lists.opencontrail.org> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.opencontrail.org_mailman_listinfo_dev-5Flists.opencontrail.org&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=4SMc5wJ_FVS46-BSw4dDnrpmjQWP4eg0fer2nm244qg&m=LPdCN5IG8UFacp_6qnD9mjSHXuExfnNC88F36JxV-mE&s=X-XKtFIGPiLf-pbOBL9CcElJ76dbrvjWMU4ANrs_vgk&e= _______________________________________________ Dev mailing list Dev@lists.opencontrail.org<mailto:Dev@lists.opencontrail.org> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.opencontrail.org_mailman_listinfo_dev-5Flists.opencontrail.org&d=DwICAg&c=HAkYuh63rsuhr6Scbfh0UjBXeMK-ndb3voDTXcWzoCI&r=4SMc5wJ_FVS46-BSw4dDnrpmjQWP4eg0fer2nm244qg&m=ETDlLk9zvxFtMhrW_uctR9Ssi6CBKSonPoSLsoj5YNo&s=e1B9a3hynd_P4lPIsRFUbMEWQ0rhJthBVVkn7AQWIqg&e=
_______________________________________________ Dev mailing list Dev@lists.opencontrail.org http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org