)]}'
{"dragonflow/neutron/plugin.py":[{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"ca922b53b343974cc00fa41af3f6cc8ce8442013","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                      \"been deleted concurrently\" % network_id)"},{"line_number":455,"context_line":"        for port in dhcp_ports:"},{"line_number":456,"context_line":"            try:"},{"line_number":457,"context_line":"                self.nb_api.delete_lport(id\u003dport[\u0027id\u0027], topic\u003dtenant_id)"},{"line_number":458,"context_line":"            except df_exceptions.DBKeyNotFound:"},{"line_number":459,"context_line":"                LOG.debug(\"port %s is not found in DB, might have\""},{"line_number":460,"context_line":"                          \"been deleted concurrently\" % port.get_id())"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aa08908_07799af6","line":457,"updated":"2016-06-07 12:50:21.000000000","message":"better to use the port[\u0027tenant_id\u0027] ...","commit_id":"b76a68b90f6a1fd061c6cd9ee8fca5e5418361cf"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"92c572e6d22f1b93824ec5a314a4159b8660f728","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        with context.session.begin(subtransactions\u003dTrue):"},{"line_number":431,"context_line":"            network \u003d self.get_network(context, network_id)"},{"line_number":432,"context_line":"            tenant_id \u003d network[\u0027tenant_id\u0027]"},{"line_number":433,"context_line":"            try:"},{"line_number":434,"context_line":"                lswitch \u003d self.nb_api.get_lswitch(id\u003dnetwork_id,"},{"line_number":435,"context_line":"                                                  topic\u003dtenant_id)"},{"line_number":436,"context_line":"            except df_exceptions.DBKeyNotFound:"},{"line_number":437,"context_line":"                LOG.debug(\"lswitch %s is not found in DF DB, might have \""},{"line_number":438,"context_line":"                          \"been deleted concurrently\" % network_id)"},{"line_number":439,"context_line":"            if lswitch is not None:"},{"line_number":440,"context_line":"                for subnet in lswitch.get_subnets():"},{"line_number":441,"context_line":"                    port \u003d None"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_b1741636","line":438,"range":{"start_line":433,"start_character":0,"end_line":438,"end_character":67},"updated":"2016-06-08 05:47:59.000000000","message":"Consider moving outside of session block.","commit_id":"c9d2a6aa4c17b1152772227a41b79aa858e7bdb8"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"92c572e6d22f1b93824ec5a314a4159b8660f728","unresolved":false,"context_lines":[{"line_number":437,"context_line":"                LOG.debug(\"lswitch %s is not found in DF DB, might have \""},{"line_number":438,"context_line":"                          \"been deleted concurrently\" % network_id)"},{"line_number":439,"context_line":"            if lswitch is not None:"},{"line_number":440,"context_line":"                for subnet in lswitch.get_subnets():"},{"line_number":441,"context_line":"                    port \u003d None"},{"line_number":442,"context_line":"                    if subnet.enable_dhcp():"},{"line_number":443,"context_line":"                        port \u003d self._get_dhcp_port_for_subnet(context,"},{"line_number":444,"context_line":"                                                              subnet.get_id())"},{"line_number":445,"context_line":"                        if port is not None:"},{"line_number":446,"context_line":"                            dhcp_ports.append(port)"},{"line_number":447,"context_line":"            super(DFPlugin, self).delete_network(context, network_id)"},{"line_number":448,"context_line":"            version_db._delete_db_version_row(context.session, network_id)"},{"line_number":449,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_513e9228","line":446,"range":{"start_line":440,"start_character":0,"end_line":446,"end_character":51},"updated":"2016-06-08 05:47:59.000000000","message":"This code can be simplified using the filter on get_ports, but maybe it should wait for another patch.","commit_id":"c9d2a6aa4c17b1152772227a41b79aa858e7bdb8"},{"author":{"_account_id":20298,"name":"feipeng","email":"feipeng1@huawei.com","username":"feipeng"},"change_message_id":"8fb8d4141e27e354eeb5157db98716379b24b98b","unresolved":false,"context_lines":[{"line_number":452,"context_line":"        except df_exceptions.DBKeyNotFound:"},{"line_number":453,"context_line":"            LOG.debug(\"lswitch %s is not found in DF DB, might have \""},{"line_number":454,"context_line":"                      \"been deleted concurrently\" % network_id)"},{"line_number":455,"context_line":"        for port in dhcp_ports:"},{"line_number":456,"context_line":"            try:"},{"line_number":457,"context_line":"                self.nb_api.delete_lport(id\u003dport[\u0027id\u0027],"},{"line_number":458,"context_line":"                                         topic\u003dport[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_42afe629","line":455,"range":{"start_line":455,"start_character":20,"end_line":455,"end_character":30},"updated":"2016-06-08 02:33:09.000000000","message":"if no dhcp_ports ,lport will not delete. subnet I think may have port is not enable dhcp","commit_id":"c9d2a6aa4c17b1152772227a41b79aa858e7bdb8"},{"author":{"_account_id":11343,"name":"Gal Sagie","email":"gal.sagie@gmail.com","username":"GalSagie"},"change_message_id":"b465006aa6e138f3c652330266a48201ff5eb262","unresolved":false,"context_lines":[{"line_number":452,"context_line":"        except df_exceptions.DBKeyNotFound:"},{"line_number":453,"context_line":"            LOG.debug(\"lswitch %s is not found in DF DB, might have \""},{"line_number":454,"context_line":"                      \"been deleted concurrently\" % network_id)"},{"line_number":455,"context_line":"        for port in dhcp_ports:"},{"line_number":456,"context_line":"            try:"},{"line_number":457,"context_line":"                self.nb_api.delete_lport(id\u003dport[\u0027id\u0027],"},{"line_number":458,"context_line":"                                         topic\u003dport[\u0027tenant_id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_a8c66b65","line":455,"range":{"start_line":455,"start_character":20,"end_line":455,"end_character":30},"in_reply_to":"7aa08908_42afe629","updated":"2016-06-08 03:36:06.000000000","message":"feipeng: if the network already has a port attached to it i think Neutron is suppose to block the network deletion (or at least trigger a port deletion by it self) what do you think?\n\nYuval, can you please confirm.","commit_id":"c9d2a6aa4c17b1152772227a41b79aa858e7bdb8"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"bb0038589ccd8e41063ee75acc383392fd601427","unresolved":false,"context_lines":[{"line_number":439,"context_line":"            if lswitch is not None:"},{"line_number":440,"context_line":"                subnets \u003d [subnet.get_id() for subnet in lswitch.get_subnets()]"},{"line_number":441,"context_line":"                dhcp_ports \u003d self._get_ports_by_subnets_and_owners("},{"line_number":442,"context_line":"                    context, subnets, const.DEVICE_OWNER_DHCP)"},{"line_number":443,"context_line":"            super(DFPlugin, self).delete_network(context, network_id)"},{"line_number":444,"context_line":"            version_db._delete_db_version_row(context.session, network_id)"},{"line_number":445,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_36e5a0a7","line":442,"range":{"start_line":442,"start_character":38,"end_line":442,"end_character":62},"updated":"2016-06-08 11:53:19.000000000","message":"I think this has to be a list containing const.DEVICE_OWNER_DHCP.","commit_id":"10096465b7db0525c9f66b76d0d82683372f2a04"},{"author":{"_account_id":20297,"name":"duankebo","email":"duankebo@huawei.com","username":"duankebo"},"change_message_id":"6c703b25fef3d776adcbca3ddddb931f77791167","unresolved":false,"context_lines":[{"line_number":444,"context_line":"            version_db._delete_db_version_row(context.session, network_id)"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"        try:"},{"line_number":447,"context_line":"            self.nb_api.delete_lswitch(id\u003dnetwork_id, topic\u003dtenant_id)"},{"line_number":448,"context_line":"        except df_exceptions.DBKeyNotFound:"},{"line_number":449,"context_line":"            LOG.debug(\"lswitch %s is not found in DF DB, might have \""},{"line_number":450,"context_line":"                      \"been deleted concurrently\" % network_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_48005934","line":447,"range":{"start_line":447,"start_character":24,"end_line":447,"end_character":38},"updated":"2016-06-09 02:19:33.000000000","message":"it may be better to delete dhcp ports firstly.","commit_id":"cc9830fe2889de07f50b7c84feed74ec675729d1"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"3090edc9681f975b5fdabef3f73021423547435b","unresolved":false,"context_lines":[{"line_number":454,"context_line":"                                         topic\u003dport[\u0027tenant_id\u0027])"},{"line_number":455,"context_line":"            except df_exceptions.DBKeyNotFound:"},{"line_number":456,"context_line":"                LOG.debug(\"port %s is not found in DB, might have\""},{"line_number":457,"context_line":"                          \"been deleted concurrently\" % port.get_id())"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":"    @lock_db.wrap_db_lock()"},{"line_number":460,"context_line":"    def update_network(self, context, network_id, network):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aa08908_b93dedc5","line":457,"range":{"start_line":457,"start_character":0,"end_line":457,"end_character":70},"updated":"2016-06-08 16:17:04.000000000","message":"The fullstack fails due to an exception (in q-svc) from this line: AttributeError: \u0027dict\u0027 object has no attribute \u0027get_id\u0027. Maybe port[\u0027id\u0027]?","commit_id":"cc9830fe2889de07f50b7c84feed74ec675729d1"}]}
