)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"89bc35cea8e6bd57447831d91cbdf52f8fd25a97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"33258e75_96f8d9a4","updated":"2022-05-12 10:25:32.000000000","message":"recheck","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"76fefc252eea95d3fa35492421e6478d90654513","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d48d8d84_2dba3195","updated":"2022-06-24 11:07:09.000000000","message":"Great additions! Just one more thought:","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"93b14a9920fee254d14348149a8b5abb821b0bad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"306637e3_92d05d90","updated":"2022-06-20 13:48:37.000000000","message":"recheck","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"71dd9eb47953f8c7e5a2a071e03e1cd9a46c6fa2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4fab37a7_c3e5c2ed","updated":"2022-06-15 10:41:40.000000000","message":"recheck","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"11300f32a652952343e4d295ce03576267076263","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"86428462_7d80771e","updated":"2022-06-07 12:10:53.000000000","message":"recheck","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"b053c06b9e2b7f3b62670aa2a0e431afe147f601","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"920a2001_ba46ef6b","updated":"2022-06-07 12:33:06.000000000","message":"recheck","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8cadef6a0f365a0f4f4493215e41ed6c931165de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c454bd16_097405fa","updated":"2022-06-07 16:01:47.000000000","message":"recheck","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"}],"kuryr_kubernetes/controller/drivers/lbaasv2.py":[{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"0be9d523d7a9bd92c81c01f96ba166d4bcaa16f6","unresolved":true,"context_lines":[{"line_number":702,"context_line":"        lbaas \u003d clients.get_loadbalancer_client()"},{"line_number":703,"context_line":"        try:"},{"line_number":704,"context_line":"            response \u003d lbaas.create_member(member[\u0027pool_id\u0027], **request)"},{"line_number":705,"context_line":"        except os_exc.BadRequestException:"},{"line_number":706,"context_line":"            # Most likely the subnet is deleted already as the namespace is"},{"line_number":707,"context_line":"            # being deleted. Ignore, we\u0027ll delete that LB soon anyway."},{"line_number":708,"context_line":"            LOG.warning(\u0027Member %s not created as subnet %s is being deleted.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"8dea080f_c2a0a4c7","line":705,"range":{"start_line":705,"start_character":22,"end_line":705,"end_character":41},"updated":"2022-05-13 10:36:28.000000000","message":"There is more than one reason for this exception. IMO, we shouldn\u0027t ignore all BadRequestException, we should check the exception\u0027s msg to decide if we should ignore it. Just like [1]\n\n[1] https://review.opendev.org/c/openstack/kuryr-kubernetes/+/834637/13/kuryr_kubernetes/controller/handlers/node.py#88","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"711a5940458fbf5ff077c12e1be78349fae12c32","unresolved":false,"context_lines":[{"line_number":702,"context_line":"        lbaas \u003d clients.get_loadbalancer_client()"},{"line_number":703,"context_line":"        try:"},{"line_number":704,"context_line":"            response \u003d lbaas.create_member(member[\u0027pool_id\u0027], **request)"},{"line_number":705,"context_line":"        except os_exc.BadRequestException:"},{"line_number":706,"context_line":"            # Most likely the subnet is deleted already as the namespace is"},{"line_number":707,"context_line":"            # being deleted. Ignore, we\u0027ll delete that LB soon anyway."},{"line_number":708,"context_line":"            LOG.warning(\u0027Member %s not created as subnet %s is being deleted.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"47f70507_1999f4fb","line":705,"range":{"start_line":705,"start_character":22,"end_line":705,"end_character":41},"in_reply_to":"6722abb0_7711455c","updated":"2022-05-24 14:46:40.000000000","message":"Done","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"83eb768955760e8ab359722fc347bd0e9704910f","unresolved":true,"context_lines":[{"line_number":702,"context_line":"        lbaas \u003d clients.get_loadbalancer_client()"},{"line_number":703,"context_line":"        try:"},{"line_number":704,"context_line":"            response \u003d lbaas.create_member(member[\u0027pool_id\u0027], **request)"},{"line_number":705,"context_line":"        except os_exc.BadRequestException:"},{"line_number":706,"context_line":"            # Most likely the subnet is deleted already as the namespace is"},{"line_number":707,"context_line":"            # being deleted. Ignore, we\u0027ll delete that LB soon anyway."},{"line_number":708,"context_line":"            LOG.warning(\u0027Member %s not created as subnet %s is being deleted.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"6722abb0_7711455c","line":705,"range":{"start_line":705,"start_character":22,"end_line":705,"end_character":41},"in_reply_to":"8dea080f_c2a0a4c7","updated":"2022-05-24 11:08:53.000000000","message":"Ack","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"7a53cdfd6bc9c3b2144d609bfe85812e0ccd6044","unresolved":true,"context_lines":[{"line_number":706,"context_line":"            # Most likely the subnet is deleted already as the namespace is"},{"line_number":707,"context_line":"            # being deleted. Ignore, we\u0027ll delete that LB soon anyway."},{"line_number":708,"context_line":"            LOG.warning(\u0027Member %s not created as subnet %s is being deleted.\u0027,"},{"line_number":709,"context_line":"                        member[\u0027name\u0027], member[\u0027subnet_id\u0027])"},{"line_number":710,"context_line":"            return None"},{"line_number":711,"context_line":"        member[\u0027id\u0027] \u003d response.id"},{"line_number":712,"context_line":"        return member"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d1337c5_a354bb41","line":709,"updated":"2022-05-16 13:41:21.000000000","message":"Can we also include the error message? this way we might know later if some other race condition was spot.","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"83eb768955760e8ab359722fc347bd0e9704910f","unresolved":true,"context_lines":[{"line_number":706,"context_line":"            # Most likely the subnet is deleted already as the namespace is"},{"line_number":707,"context_line":"            # being deleted. Ignore, we\u0027ll delete that LB soon anyway."},{"line_number":708,"context_line":"            LOG.warning(\u0027Member %s not created as subnet %s is being deleted.\u0027,"},{"line_number":709,"context_line":"                        member[\u0027name\u0027], member[\u0027subnet_id\u0027])"},{"line_number":710,"context_line":"            return None"},{"line_number":711,"context_line":"        member[\u0027id\u0027] \u003d response.id"},{"line_number":712,"context_line":"        return member"}],"source_content_type":"text/x-python","patch_set":2,"id":"6cecefdc_af4f8f33","line":709,"in_reply_to":"5d1337c5_a354bb41","updated":"2022-05-24 11:08:53.000000000","message":"I\u0027m fairly sure exception in the context will be logged, but I\u0027ll check.","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"711a5940458fbf5ff077c12e1be78349fae12c32","unresolved":false,"context_lines":[{"line_number":706,"context_line":"            # Most likely the subnet is deleted already as the namespace is"},{"line_number":707,"context_line":"            # being deleted. Ignore, we\u0027ll delete that LB soon anyway."},{"line_number":708,"context_line":"            LOG.warning(\u0027Member %s not created as subnet %s is being deleted.\u0027,"},{"line_number":709,"context_line":"                        member[\u0027name\u0027], member[\u0027subnet_id\u0027])"},{"line_number":710,"context_line":"            return None"},{"line_number":711,"context_line":"        member[\u0027id\u0027] \u003d response.id"},{"line_number":712,"context_line":"        return member"}],"source_content_type":"text/x-python","patch_set":2,"id":"50e73626_40ceb4c2","line":709,"in_reply_to":"6cecefdc_af4f8f33","updated":"2022-05-24 14:46:40.000000000","message":"Okay, I\u0027m now checking for a very particular error message here, so no need to log it. And if it\u0027s reraised, we\u0027ll log it somewhere up the stack.","commit_id":"27a226e06566a864380c9528418d650afb60e02e"}],"kuryr_kubernetes/controller/drivers/nested_vlan_vif.py":[{"author":{"_account_id":28329,"name":"yangjianfeng","display_name":"JeffYang","email":"yjf1970231893@gmail.com","username":"yangjianfeng"},"change_message_id":"0be9d523d7a9bd92c81c01f96ba166d4bcaa16f6","unresolved":true,"context_lines":[{"line_number":282,"context_line":"            os_net.delete_trunk_subports(trunk_id, subports_body)"},{"line_number":283,"context_line":"        except os_exc.NotFoundException:"},{"line_number":284,"context_line":"            if len(subports_id) \u003e 1:"},{"line_number":285,"context_line":"                raise  # We don\u0027t know if all ports are detached, so raise."},{"line_number":286,"context_line":"            # If single requested port is detached already, we\u0027re cool, ignore."},{"line_number":287,"context_line":"        except os_exc.SDKException:"},{"line_number":288,"context_line":"            LOG.exception(\"Error happened during subport removal from \""}],"source_content_type":"text/x-python","patch_set":2,"id":"ed6b3484_e39cca9f","line":285,"range":{"start_line":285,"start_character":16,"end_line":285,"end_character":23},"updated":"2022-05-13 10:36:28.000000000","message":"IMO, we should write some exception msg to log file, just link L288.","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"83eb768955760e8ab359722fc347bd0e9704910f","unresolved":true,"context_lines":[{"line_number":282,"context_line":"            os_net.delete_trunk_subports(trunk_id, subports_body)"},{"line_number":283,"context_line":"        except os_exc.NotFoundException:"},{"line_number":284,"context_line":"            if len(subports_id) \u003e 1:"},{"line_number":285,"context_line":"                raise  # We don\u0027t know if all ports are detached, so raise."},{"line_number":286,"context_line":"            # If single requested port is detached already, we\u0027re cool, ignore."},{"line_number":287,"context_line":"        except os_exc.SDKException:"},{"line_number":288,"context_line":"            LOG.exception(\"Error happened during subport removal from \""}],"source_content_type":"text/x-python","patch_set":2,"id":"cf10ba77_3a669581","line":285,"range":{"start_line":285,"start_character":16,"end_line":285,"end_character":23},"in_reply_to":"7e0f1220_8fe609f8","updated":"2022-05-24 11:08:53.000000000","message":"The point with this patch is to skip scary tracebacks that doesn\u0027t really pose a threat from the logs. With changes in vif_pool.py I made sure to suppress that exception and switched the used function to one that tries to detach the subport from a trunk on errors. Adding a log here will get us back to square one, where these issues are producing tracebacks in the logs, yet they doesn\u0027t really indicate a serious erorr.\n\nI\u0027ll just add a debug log here.","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"711a5940458fbf5ff077c12e1be78349fae12c32","unresolved":false,"context_lines":[{"line_number":282,"context_line":"            os_net.delete_trunk_subports(trunk_id, subports_body)"},{"line_number":283,"context_line":"        except os_exc.NotFoundException:"},{"line_number":284,"context_line":"            if len(subports_id) \u003e 1:"},{"line_number":285,"context_line":"                raise  # We don\u0027t know if all ports are detached, so raise."},{"line_number":286,"context_line":"            # If single requested port is detached already, we\u0027re cool, ignore."},{"line_number":287,"context_line":"        except os_exc.SDKException:"},{"line_number":288,"context_line":"            LOG.exception(\"Error happened during subport removal from \""}],"source_content_type":"text/x-python","patch_set":2,"id":"a43bf299_00bcc644","line":285,"range":{"start_line":285,"start_character":16,"end_line":285,"end_character":23},"in_reply_to":"cf10ba77_3a669581","updated":"2022-05-24 14:46:40.000000000","message":"Done","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"7a53cdfd6bc9c3b2144d609bfe85812e0ccd6044","unresolved":true,"context_lines":[{"line_number":282,"context_line":"            os_net.delete_trunk_subports(trunk_id, subports_body)"},{"line_number":283,"context_line":"        except os_exc.NotFoundException:"},{"line_number":284,"context_line":"            if len(subports_id) \u003e 1:"},{"line_number":285,"context_line":"                raise  # We don\u0027t know if all ports are detached, so raise."},{"line_number":286,"context_line":"            # If single requested port is detached already, we\u0027re cool, ignore."},{"line_number":287,"context_line":"        except os_exc.SDKException:"},{"line_number":288,"context_line":"            LOG.exception(\"Error happened during subport removal from \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7e0f1220_8fe609f8","line":285,"range":{"start_line":285,"start_character":16,"end_line":285,"end_character":23},"in_reply_to":"ed6b3484_e39cca9f","updated":"2022-05-16 13:41:21.000000000","message":"+1","commit_id":"27a226e06566a864380c9528418d650afb60e02e"}],"kuryr_kubernetes/controller/drivers/vif_pool.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"7a53cdfd6bc9c3b2144d609bfe85812e0ccd6044","unresolved":true,"context_lines":[{"line_number":1193,"context_line":"                        for p_id in sg_ports]"},{"line_number":1194,"context_line":"            try:"},{"line_number":1195,"context_line":"                self._drv_vif._remove_subports(trunk_id, ports_id)"},{"line_number":1196,"context_line":"            except os_exc.NotFoundException:"},{"line_number":1197,"context_line":"                # We don\u0027t know which subport was already removed, but we\u0027ll"},{"line_number":1198,"context_line":"                # attempt a manual detach on DELETE error, so just continue."},{"line_number":1199,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"af708f10_4f07ed2d","line":1196,"range":{"start_line":1196,"start_character":26,"end_line":1196,"end_character":43},"updated":"2022-05-16 13:41:21.000000000","message":"It looks like this exception is a HttpException, so this might not be needed as it would be handled at line 1201.\n\nhttps://github.com/openstack/openstacksdk/blob/master/openstack/exceptions.py#L144-L149","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"83eb768955760e8ab359722fc347bd0e9704910f","unresolved":true,"context_lines":[{"line_number":1193,"context_line":"                        for p_id in sg_ports]"},{"line_number":1194,"context_line":"            try:"},{"line_number":1195,"context_line":"                self._drv_vif._remove_subports(trunk_id, ports_id)"},{"line_number":1196,"context_line":"            except os_exc.NotFoundException:"},{"line_number":1197,"context_line":"                # We don\u0027t know which subport was already removed, but we\u0027ll"},{"line_number":1198,"context_line":"                # attempt a manual detach on DELETE error, so just continue."},{"line_number":1199,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"1187479f_4a5ea7ec","line":1196,"range":{"start_line":1196,"start_character":26,"end_line":1196,"end_character":43},"in_reply_to":"af708f10_4f07ed2d","updated":"2022-05-24 11:08:53.000000000","message":"But I don\u0027t want to skip the iteration with continue in that case. I still want to release vlan IDs and so on.","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"7a53cdfd6bc9c3b2144d609bfe85812e0ccd6044","unresolved":true,"context_lines":[{"line_number":1218,"context_line":"                except KeyError:"},{"line_number":1219,"context_line":"                    pass"},{"line_number":1220,"context_line":""},{"line_number":1221,"context_line":"        if not c_utils.delete_ports(ports_to_remove):"},{"line_number":1222,"context_line":"            LOG.error(\u0027Some ports failed to be deleted.\u0027)"},{"line_number":1223,"context_line":"            raise exceptions.ResourceNotReady(net_id)"},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":""},{"line_number":1226,"context_line":"class MultiVIFPool(base.VIFPoolDriver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab91ef4c_adec0ae0","line":1223,"range":{"start_line":1221,"start_character":0,"end_line":1223,"end_character":53},"updated":"2022-05-16 13:41:21.000000000","message":"why GreenPool is not used anymore?","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"83eb768955760e8ab359722fc347bd0e9704910f","unresolved":true,"context_lines":[{"line_number":1218,"context_line":"                except KeyError:"},{"line_number":1219,"context_line":"                    pass"},{"line_number":1220,"context_line":""},{"line_number":1221,"context_line":"        if not c_utils.delete_ports(ports_to_remove):"},{"line_number":1222,"context_line":"            LOG.error(\u0027Some ports failed to be deleted.\u0027)"},{"line_number":1223,"context_line":"            raise exceptions.ResourceNotReady(net_id)"},{"line_number":1224,"context_line":""},{"line_number":1225,"context_line":""},{"line_number":1226,"context_line":"class MultiVIFPool(base.VIFPoolDriver):"}],"source_content_type":"text/x-python","patch_set":2,"id":"d677feb9_3c17c8ef","line":1223,"range":{"start_line":1221,"start_character":0,"end_line":1223,"end_character":53},"in_reply_to":"ab91ef4c_adec0ae0","updated":"2022-05-24 11:08:53.000000000","message":"I switched the method used too - delete_ports() is using GreenPool internally [1]. My point to use it is that it will try to detach port on delete error.\n\n[1] https://github.com/openstack/kuryr-kubernetes/blob/42ae6a37ab4257c1dafad5bc48c456f7a58e34e9/kuryr_kubernetes/controller/drivers/utils.py#L779-L781","commit_id":"27a226e06566a864380c9528418d650afb60e02e"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"76fefc252eea95d3fa35492421e6478d90654513","unresolved":true,"context_lines":[{"line_number":1167,"context_line":"                except KeyError:"},{"line_number":1168,"context_line":"                    pass"},{"line_number":1169,"context_line":""},{"line_number":1170,"context_line":"        if not c_utils.delete_ports(ports_to_remove):"},{"line_number":1171,"context_line":"            LOG.error(\u0027Some ports failed to be deleted.\u0027)"},{"line_number":1172,"context_line":"            raise exceptions.ResourceNotReady(net_id)"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":""},{"line_number":1175,"context_line":"class MultiVIFPool(base.VIFPoolDriver):"}],"source_content_type":"text/x-python","patch_set":3,"id":"86c49931_d3f28c6e","line":1172,"range":{"start_line":1170,"start_character":1,"end_line":1172,"end_character":53},"updated":"2022-06-24 11:07:09.000000000","message":"Roman had a few concerns around exception management when he worked on the parallelism. Did you have a chance to check if the exception will indeed be raised with imap and if the Ports remains being deleted faster than in previous release?\nIf not, it might be worth checking it.","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"b8535347a55921cc7369b78fed0e49dd9fe4e97d","unresolved":true,"context_lines":[{"line_number":1167,"context_line":"                except KeyError:"},{"line_number":1168,"context_line":"                    pass"},{"line_number":1169,"context_line":""},{"line_number":1170,"context_line":"        if not c_utils.delete_ports(ports_to_remove):"},{"line_number":1171,"context_line":"            LOG.error(\u0027Some ports failed to be deleted.\u0027)"},{"line_number":1172,"context_line":"            raise exceptions.ResourceNotReady(net_id)"},{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":""},{"line_number":1175,"context_line":"class MultiVIFPool(base.VIFPoolDriver):"}],"source_content_type":"text/x-python","patch_set":3,"id":"996cd22b_b8378439","line":1172,"range":{"start_line":1170,"start_character":1,"end_line":1172,"end_character":53},"in_reply_to":"86c49931_d3f28c6e","updated":"2022-07-21 12:48:37.000000000","message":"Exceptions occurring during call delete_port are handled inside that function, and in case there is exception raised, there will be returned boolean False.\n\nFunction delete_ports aggregates all of these boolean and returns False in case there was at least one failure, or True otherwise.\n\nAll the hassle I had with exceptions and eventlet, was the fact there was so many different threads happening in the same time in kuryr code, that it seem to be that eventlet swallowing them, which turned out to be not true.\n\nIn summary, it should work as intendet :)","commit_id":"8f61307fa684afe1991d3f03b5339481e074a9e0"}]}
