)]}'
{"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"d746b9b01817d3220cf1fe2e4ec0b90113e7a69d","unresolved":false,"context_lines":[{"line_number":641,"context_line":"            need_notify \u003d True"},{"line_number":642,"context_line":"            try_again \u003d False"},{"line_number":643,"context_line":"        else:"},{"line_number":644,"context_line":"            try_again \u003d True"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        return cur_context, need_notify, try_again"},{"line_number":647,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_9676d60a","line":644,"range":{"start_line":644,"start_character":12,"end_line":644,"end_character":28},"updated":"2018-11-28 14:38:55.000000000","message":"This retry can not work? Did you find out why?","commit_id":"8a1b17014763da5c555ed58976e6948a4315f4b9"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"50a5e3be5019938f87087ec019cfa3609f314816","unresolved":false,"context_lines":[{"line_number":641,"context_line":"            need_notify \u003d True"},{"line_number":642,"context_line":"            try_again \u003d False"},{"line_number":643,"context_line":"        else:"},{"line_number":644,"context_line":"            try_again \u003d True"},{"line_number":645,"context_line":""},{"line_number":646,"context_line":"        return cur_context, need_notify, try_again"},{"line_number":647,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_23f69494","line":644,"range":{"start_line":644,"start_character":12,"end_line":644,"end_character":28},"in_reply_to":"3f79a3b5_9676d60a","updated":"2018-11-29 08:19:58.000000000","message":"In the next retry within _bind_port_if_needed [1]. The call to _attempt_binding returns without doing anything because _should_bind_port [2] returns False. _bind_port_if_needed then proceeds to call _notify_port_updated [3] which does nothing due to the missing binding_levels. Please kindly refer to the bug report [4] for further details.\n\n[1] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L456\n[2] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L500\n[3] https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L484\n[4] https://bugs.launchpad.net/neutron/+bug/1755810","commit_id":"8a1b17014763da5c555ed58976e6948a4315f4b9"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6f9a1bdc092dc201a67a39e3c4a041c5600c0548","unresolved":false,"context_lines":[{"line_number":688,"context_line":"                # This is to avoid leaving ports stuck in a DOWN state."},{"line_number":689,"context_line":"                # For more information see bug:"},{"line_number":690,"context_line":"                # https://bugs.launchpad.net/neutron/+bug/1755810"},{"line_number":691,"context_line":"                LOG.debug(\"Concurrent port binding operations fail on port %s\","},{"line_number":692,"context_line":"                          port_id)"},{"line_number":693,"context_line":"                levels \u003d db.get_binding_level_objs(plugin_context, port_id,"},{"line_number":694,"context_line":"                                                   cur_binding.host)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_71004302","line":691,"range":{"start_line":691,"start_character":62,"end_line":691,"end_character":66},"updated":"2019-04-30 16:39:36.000000000","message":"s/failed\n\nAnd should this be LOG.warn ?","commit_id":"cb8fa2300342e578814307f6bcacbb344081d06a"},{"author":{"_account_id":28373,"name":"Kailun Qin","email":"kailun.qin@hotmail.com","username":"kailun.qin"},"change_message_id":"47d0058c589cab04ed11fedfe7d06e1b3000d412","unresolved":false,"context_lines":[{"line_number":688,"context_line":"                # This is to avoid leaving ports stuck in a DOWN state."},{"line_number":689,"context_line":"                # For more information see bug:"},{"line_number":690,"context_line":"                # https://bugs.launchpad.net/neutron/+bug/1755810"},{"line_number":691,"context_line":"                LOG.debug(\"Concurrent port binding operations fail on port %s\","},{"line_number":692,"context_line":"                          port_id)"},{"line_number":693,"context_line":"                levels \u003d db.get_binding_level_objs(plugin_context, port_id,"},{"line_number":694,"context_line":"                                                   cur_binding.host)"}],"source_content_type":"text/x-python","patch_set":7,"id":"ffb9cba7_473d3ac2","line":691,"range":{"start_line":691,"start_character":62,"end_line":691,"end_character":66},"in_reply_to":"ffb9cba7_71004302","updated":"2019-04-30 23:00:06.000000000","message":"Done","commit_id":"cb8fa2300342e578814307f6bcacbb344081d06a"}]}
