)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"70c7885882fc4aecdf7c48fd85254f2c54af8d73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9c651ef0_6d1d2705","updated":"2022-09-07 11:56:14.000000000","message":"makes sense, waiting for CI. Is there a chance to cover with UT?","commit_id":"ff9b1b3f3bfc9a9a8300bd24307aa76489c0f6fc"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"be1ca9d235c6d48bd92f97a4d7c474f1a02ebfdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"97848d4f_dd4a0ca4","in_reply_to":"9c651ef0_6d1d2705","updated":"2022-09-08 14:59:36.000000000","message":"Done","commit_id":"ff9b1b3f3bfc9a9a8300bd24307aa76489c0f6fc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f17de6eb228895bcc65e547b719d7494d7de5536","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2fb3d43e_5c1af0e3","updated":"2022-09-13 15:14:41.000000000","message":"-1 just for visibility","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"e93ff63805010943d715e77f905ff737c7e6dec2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4f023e28_b80f02d0","updated":"2022-09-13 08:29:15.000000000","message":"recheck - UT failure related to the oslo.db 12.1.0","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"c19c038ccc180bc6510f1c9c1d7935a538e18d33","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1f65b366_ec2c7c30","updated":"2022-09-14 10:37:45.000000000","message":"recheck - unit test failure related to oslo.db 12.1.0","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"69d1744aa0c5b5efdb0cea500d0734d59453bb9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f63dbbb5_21dad840","updated":"2022-09-09 13:16:28.000000000","message":"recheck devstack setup failure and POST_FAIL","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"}],"neutron/agent/linux/interface.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f17de6eb228895bcc65e547b719d7494d7de5536","unresolved":true,"context_lines":[{"line_number":368,"context_line":"                # namespace as it was already set to the \"namespace\""},{"line_number":369,"context_line":"                # and after retry neutron will look for it in that namespace"},{"line_number":370,"context_line":"                # which is wrong"},{"line_number":371,"context_line":"                device.namespace \u003d None"},{"line_number":372,"context_line":"                time.sleep(1)"},{"line_number":373,"context_line":"            except utils.WaitTimeout:"},{"line_number":374,"context_line":"                # NOTE(slaweq): if the exception was WaitTimeout then it means"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf9623e9_6cc8e924","line":371,"range":{"start_line":371,"start_character":16,"end_line":371,"end_character":39},"updated":"2022-09-13 15:14:41.000000000","message":"But if I\u0027m not wrong, the device namespace is set in [1], just after the method fails with \"NetworkInterfaceNotFound\". Where this device.namespace is set?\n\n[1]https://github.com/openstack/neutron/blob/0a6b9cc39527c13fc663709ae9da3ac033407423/neutron/agent/linux/ip_lib.py#L464","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0f0b9e88d1fa1091974281e5216dd392d3b6ab70","unresolved":false,"context_lines":[{"line_number":368,"context_line":"                # namespace as it was already set to the \"namespace\""},{"line_number":369,"context_line":"                # and after retry neutron will look for it in that namespace"},{"line_number":370,"context_line":"                # which is wrong"},{"line_number":371,"context_line":"                device.namespace \u003d None"},{"line_number":372,"context_line":"                time.sleep(1)"},{"line_number":373,"context_line":"            except utils.WaitTimeout:"},{"line_number":374,"context_line":"                # NOTE(slaweq): if the exception was WaitTimeout then it means"}],"source_content_type":"text/x-python","patch_set":3,"id":"818a296e_78da73b2","line":371,"range":{"start_line":371,"start_character":16,"end_line":371,"end_character":39},"in_reply_to":"b60af303_c0efc0c9","updated":"2022-09-14 07:38:58.000000000","message":"Ok, now I understand and makes sense. Thanks!","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"699d131effda7141c3ea5c4583f32ced0216bdfe","unresolved":true,"context_lines":[{"line_number":368,"context_line":"                # namespace as it was already set to the \"namespace\""},{"line_number":369,"context_line":"                # and after retry neutron will look for it in that namespace"},{"line_number":370,"context_line":"                # which is wrong"},{"line_number":371,"context_line":"                device.namespace \u003d None"},{"line_number":372,"context_line":"                time.sleep(1)"},{"line_number":373,"context_line":"            except utils.WaitTimeout:"},{"line_number":374,"context_line":"                # NOTE(slaweq): if the exception was WaitTimeout then it means"}],"source_content_type":"text/x-python","patch_set":3,"id":"b60af303_c0efc0c9","line":371,"range":{"start_line":371,"start_character":16,"end_line":371,"end_character":39},"in_reply_to":"bf9623e9_6cc8e924","updated":"2022-09-14 07:36:52.000000000","message":"Yes, it\u0027s set exactly in the place You pointed to. And that set_netns() method is called from the add_device_to_namespace() which is called in L358. So, if for any reason device will be created and then quickly deleted in ovs (what we saw in the failed functional tests many times), it will throw NetworkInterfaceNotFound in https://github.com/openstack/neutron/blob/0a6b9cc39527c13fc663709ae9da3ac033407423/neutron/agent/linux/ip_lib.py#L465 when device.namespace is already set. Then during the retry, add_device_to_namespace() will look for device already in namespace and will every time raise exception that device is not found there (which is correct as recreated device is in global scope again)","commit_id":"76578393ab401a33084921c4355af8e82c5d02ee"}]}
