)]}'
{"neutron/agent/linux/interface.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"90f17984cf13c06fa3981cb83e840871a0fbd8bb","unresolved":false,"context_lines":[{"line_number":380,"context_line":"            try:"},{"line_number":381,"context_line":"                namespace_obj \u003d ip.ensure_namespace(namespace)"},{"line_number":382,"context_line":"                namespace_obj.add_device_to_namespace(ns_dev)"},{"line_number":383,"context_line":"            except (pyroute2_exc.NetlinkError, OSError):"},{"line_number":384,"context_line":"                # To prevent the namespace failure from blasting"},{"line_number":385,"context_line":"                # ovs, the ovs port created should be reverted"},{"line_number":386,"context_line":"                # This could happen if the namespace is corrupted or the"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_6651d130","line":383,"range":{"start_line":383,"start_character":20,"end_line":383,"end_character":54},"updated":"2019-12-18 17:30:00.000000000","message":"I think the explanation of which exception is raised in which condition would be at a better place here instead of the commit message.","commit_id":"0e6bd72c96ac9e5466659699409c2592c58b70ff"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e85b627fa1a63c51a9a141e6bc3c887552a4d29b","unresolved":false,"context_lines":[{"line_number":380,"context_line":"            try:"},{"line_number":381,"context_line":"                namespace_obj \u003d ip.ensure_namespace(namespace)"},{"line_number":382,"context_line":"                namespace_obj.add_device_to_namespace(ns_dev)"},{"line_number":383,"context_line":"            except (pyroute2_exc.NetlinkError, OSError):"},{"line_number":384,"context_line":"                # To prevent the namespace failure from blasting"},{"line_number":385,"context_line":"                # ovs, the ovs port created should be reverted"},{"line_number":386,"context_line":"                # This could happen if the namespace is corrupted or the"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_4c6877f3","line":383,"range":{"start_line":383,"start_character":20,"end_line":383,"end_character":54},"in_reply_to":"3fa7e38b_6651d130","updated":"2019-12-18 17:49:46.000000000","message":"Done","commit_id":"0e6bd72c96ac9e5466659699409c2592c58b70ff"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"90f17984cf13c06fa3981cb83e840871a0fbd8bb","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                            \"cleaning up\", device_name, bridge)"},{"line_number":390,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":391,"context_line":"                    ovs \u003d ovs_lib.OVSBridge(bridge)"},{"line_number":392,"context_line":"                    ovs.delete_port(tap_name)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        # NOTE(ihrachys): the order here is significant: we must set MTU after"},{"line_number":395,"context_line":"        # the device is moved into a namespace, otherwise OVS bridge does not"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_6c7c5371","line":392,"range":{"start_line":392,"start_character":24,"end_line":392,"end_character":35},"updated":"2019-12-18 17:30:00.000000000","message":"Is this cleanup now only applicable for \"corrupt namespaces\" (when we catch OSError)?\n\nI don\u0027t really understand what is a \"corrupt namespace\", but if we run this cleanup after your reproduction instructions (for duplicated interfaces) in #1856853 wouldn\u0027t this delete the first tap0?","commit_id":"0e6bd72c96ac9e5466659699409c2592c58b70ff"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e85b627fa1a63c51a9a141e6bc3c887552a4d29b","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                            \"cleaning up\", device_name, bridge)"},{"line_number":390,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":391,"context_line":"                    ovs \u003d ovs_lib.OVSBridge(bridge)"},{"line_number":392,"context_line":"                    ovs.delete_port(tap_name)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        # NOTE(ihrachys): the order here is significant: we must set MTU after"},{"line_number":395,"context_line":"        # the device is moved into a namespace, otherwise OVS bridge does not"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_8ffae10e","line":392,"range":{"start_line":392,"start_character":24,"end_line":392,"end_character":35},"in_reply_to":"3fa7e38b_6c7c5371","updated":"2019-12-18 17:49:46.000000000","message":"It\u0027s for both, when you see a duplicated interface and when the namespace is not working.\n\nWe should not have this duplication problem. In fact, if this is happening, we should delete both veth interfaces and raise this exception.\n\nThis behavior is the same as when the function was implemented with \"ip\" commands and the only possible exception was ProcessExecutionError","commit_id":"0e6bd72c96ac9e5466659699409c2592c58b70ff"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"3c0d66a5aeb2d6ef2fd53435e9fb56dbb2982487","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                            \"cleaning up\", device_name, bridge)"},{"line_number":390,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":391,"context_line":"                    ovs \u003d ovs_lib.OVSBridge(bridge)"},{"line_number":392,"context_line":"                    ovs.delete_port(tap_name)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        # NOTE(ihrachys): the order here is significant: we must set MTU after"},{"line_number":395,"context_line":"        # the device is moved into a namespace, otherwise OVS bridge does not"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_8c0d04e9","line":392,"range":{"start_line":392,"start_character":24,"end_line":392,"end_character":35},"in_reply_to":"3fa7e38b_8ffae10e","updated":"2019-12-19 09:35:59.000000000","message":"Understood, thank you.","commit_id":"0e6bd72c96ac9e5466659699409c2592c58b70ff"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"3d9b3b276ef011c3622f6ef274cb62ddf65378cd","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                namespace_obj.add_device_to_namespace(ns_dev)"},{"line_number":383,"context_line":"            except (pyroute2_exc.NetlinkError, OSError):"},{"line_number":384,"context_line":"                # To prevent the namespace failure from blasting OVS, the OVS"},{"line_number":385,"context_line":"                # port created should be reverted. Possible exceptions:"},{"line_number":386,"context_line":"                # - NetlinkError in case of duplicated interface"},{"line_number":387,"context_line":"                # - OSError in case of corrupted namespace"},{"line_number":388,"context_line":"                LOG.warning(\"Failed to plug interface %s into bridge %s, \""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_2123b25a","line":385,"range":{"start_line":385,"start_character":18,"end_line":385,"end_character":49},"updated":"2019-12-19 15:25:25.000000000","message":"Nit: port creation should be reverted","commit_id":"ab0e372f07e07b58bd7c1bb316d966c2a663bf0e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"197721514cdb06cda09860cdd8619e9d1084d06b","unresolved":false,"context_lines":[{"line_number":382,"context_line":"                namespace_obj.add_device_to_namespace(ns_dev)"},{"line_number":383,"context_line":"            except (pyroute2_exc.NetlinkError, OSError):"},{"line_number":384,"context_line":"                # To prevent the namespace failure from blasting OVS, the OVS"},{"line_number":385,"context_line":"                # port created should be reverted. Possible exceptions:"},{"line_number":386,"context_line":"                # - NetlinkError in case of duplicated interface"},{"line_number":387,"context_line":"                # - OSError in case of corrupted namespace"},{"line_number":388,"context_line":"                LOG.warning(\"Failed to plug interface %s into bridge %s, \""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_5248fa60","line":385,"range":{"start_line":385,"start_character":18,"end_line":385,"end_character":49},"in_reply_to":"3fa7e38b_2123b25a","updated":"2019-12-19 17:42:08.000000000","message":"Done","commit_id":"ab0e372f07e07b58bd7c1bb316d966c2a663bf0e"}]}
