)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fcaf309db94b37b7b0bd6a1a0de2a9514d6d4502","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Optimize deletion of static routes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Instead of having a separate OVN transaction for deletion of each"},{"line_number":10,"context_line":"static route, send out the deletion as a single transaction."},{"line_number":11,"context_line":"This significantly improves the performance for deletion of static"},{"line_number":12,"context_line":"routes."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"245e79dd_4d97976c","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":44},"updated":"2024-04-03 18:15:41.000000000","message":"This is not accurate. We can send several commands in one single transaction (as is now). What you are implementing is a command to perform multiple deletions at once.","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"76e0f305a5eb2c8353549934c0e498a74f9f6fe2","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Optimize deletion of static routes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Instead of having a separate OVN transaction for deletion of each"},{"line_number":10,"context_line":"static route, send out the deletion as a single transaction."},{"line_number":11,"context_line":"This significantly improves the performance for deletion of static"},{"line_number":12,"context_line":"routes."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fbd4a5e7_09079292","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":44},"in_reply_to":"245e79dd_4d97976c","updated":"2024-04-09 06:37:02.000000000","message":"Updated","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Optimize deletion of static routes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Instead of having a separate OVN transaction for deletion of each"},{"line_number":10,"context_line":"static route, send out the deletion as a single transaction."},{"line_number":11,"context_line":"This significantly improves the performance for deletion of static"},{"line_number":12,"context_line":"routes."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"bd1366a7_599deffc","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":44},"in_reply_to":"fbd4a5e7_09079292","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fcaf309db94b37b7b0bd6a1a0de2a9514d6d4502","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bf5bf293_fad89cff","updated":"2024-04-03 18:15:41.000000000","message":"Please provide some performance examples. In the LP bug you provided some figures (8 minutes for 1k routes). Do the same with the provided code and update the commit message with the new values. Please update the LP bug with the script used (create router, create routes and then delete them) to test this new code and benchmark it.","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"556b9b2224da2855abe1f66cda64e10039be1a7b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"39edcb35_7dde3605","in_reply_to":"bf5bf293_fad89cff","updated":"2024-04-09 06:37:46.000000000","message":"Bug and commit message updated","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"90e6f0c5905d351148f7940482dbd7fbf1ffc26c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"8776d52c_872e9a6e","updated":"2024-04-17 21:32:21.000000000","message":"Thanks for the update, just had some comments.","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3a8ad3b0d7816dac82d1c5b6e871d9c7df9ddca6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ac7d23be_5a2f082e","updated":"2024-04-18 16:17:53.000000000","message":"I\u0027d hope we can just do bulk delete everywhere and remove the unnecessary single-shot delete variant of the command as part of this patch.","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"fc24c5ca0f1dff840d4bc780b0e2a1f110be4a3e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"b5a137c5_79a4d086","in_reply_to":"ac7d23be_5a2f082e","updated":"2024-04-24 11:28:06.000000000","message":"Removed the single route deletion completely.","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"e2a216ef_b7c1aaf4","in_reply_to":"b5a137c5_79a4d086","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"eb2053cb_6d6e9ac1","updated":"2024-05-03 21:33:29.000000000","message":"Some test issues. I also left several code style suggestions but feel free to ignore these.","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"5ebcebe4_e08d1bf2","in_reply_to":"61e60d61_31391770","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"02c9dcd5e99f786593907f48fead21e5bc04e096","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":14,"id":"61e60d61_31391770","in_reply_to":"eb2053cb_6d6e9ac1","updated":"2024-05-08 13:32:13.000000000","message":"Thanks, updated","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"f77b0a88743bc2002fc599915fcd3cf96a9ac63f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e7e88463_e026cddf","updated":"2024-05-08 13:32:37.000000000","message":"/recheck","commit_id":"a22be7306b5ea7a28357b1a5a39687ca84d02e75"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"f24a0d1d548e91e5814568872c420731a64c67ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"e6d732b0_3bf29996","updated":"2024-05-08 13:33:54.000000000","message":"recheck unrelated issues with pipeline","commit_id":"a22be7306b5ea7a28357b1a5a39687ca84d02e75"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ff15b213d6296fc432b2b9535d28040644600b82","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"350bacfa_e13e1d19","updated":"2024-05-13 10:27:24.000000000","message":"Just for reference, click the Done button when answering a comment that is complete and it will clear it from being Unresolved.","commit_id":"305153883b64c35c60649a4ba7e3f5a5b60a503c"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"68dfe56a70924b8a604dbac5e0e7b636f55b339f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"f09c1704_59d7ee8f","updated":"2024-05-12 21:37:41.000000000","message":"Thanks for the effort, I know it was a bit more work than you probably anticipated.","commit_id":"305153883b64c35c60649a4ba7e3f5a5b60a503c"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"e9fbc7a6cd6d0688d12c05bfb38f10ee24295116","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"c730cbd3_8df24be9","in_reply_to":"350bacfa_e13e1d19","updated":"2024-05-13 12:06:55.000000000","message":"Thanks, I missed that.","commit_id":"305153883b64c35c60649a4ba7e3f5a5b60a503c"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6ac66140d87734a1cc8140e8d13031af39fbc5cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"0f4929c8_e3e60f49","in_reply_to":"f09c1704_59d7ee8f","updated":"2024-05-13 06:56:27.000000000","message":"No problem, thank you for thorough review and feedback :)","commit_id":"305153883b64c35c60649a4ba7e3f5a5b60a503c"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"90e6f0c5905d351148f7940482dbd7fbf1ffc26c","unresolved":true,"context_lines":[{"line_number":703,"context_line":"                break"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"class DelBulkStaticRouteCommand(command.BaseCommand):"},{"line_number":707,"context_line":"    def __init__(self, api, lrouter, routes, if_exists):"},{"line_number":708,"context_line":"        super(DelBulkStaticRouteCommand, self).__init__(api)"},{"line_number":709,"context_line":"        self.lrouter \u003d lrouter"}],"source_content_type":"text/x-python","patch_set":10,"id":"165605d5_9d35ab36","line":706,"range":{"start_line":706,"start_character":19,"end_line":706,"end_character":24},"updated":"2024-04-17 21:32:21.000000000","message":"Should this be s/Routes as it takes multiple? Same with the names of other functions in the idl code.","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"1564eea9b4a96100e071726e76351e21e159afb6","unresolved":true,"context_lines":[{"line_number":703,"context_line":"                break"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"class DelBulkStaticRouteCommand(command.BaseCommand):"},{"line_number":707,"context_line":"    def __init__(self, api, lrouter, routes, if_exists):"},{"line_number":708,"context_line":"        super(DelBulkStaticRouteCommand, self).__init__(api)"},{"line_number":709,"context_line":"        self.lrouter \u003d lrouter"}],"source_content_type":"text/x-python","patch_set":10,"id":"616a8a87_a2968ca6","line":706,"range":{"start_line":706,"start_character":19,"end_line":706,"end_character":24},"in_reply_to":"165605d5_9d35ab36","updated":"2024-04-18 07:42:30.000000000","message":"Thanks, fixed.","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":703,"context_line":"                break"},{"line_number":704,"context_line":""},{"line_number":705,"context_line":""},{"line_number":706,"context_line":"class DelBulkStaticRouteCommand(command.BaseCommand):"},{"line_number":707,"context_line":"    def __init__(self, api, lrouter, routes, if_exists):"},{"line_number":708,"context_line":"        super(DelBulkStaticRouteCommand, self).__init__(api)"},{"line_number":709,"context_line":"        self.lrouter \u003d lrouter"}],"source_content_type":"text/x-python","patch_set":10,"id":"44df450c_a0310ae3","line":706,"range":{"start_line":706,"start_character":19,"end_line":706,"end_character":24},"in_reply_to":"616a8a87_a2968ca6","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3a8ad3b0d7816dac82d1c5b6e871d9c7df9ddca6","unresolved":true,"context_lines":[{"line_number":675,"context_line":"        _addvalue_to_list(lrouter, \u0027static_routes\u0027, row.uuid)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"class DelStaticRoutesCommand(command.BaseCommand):"},{"line_number":679,"context_line":"    def __init__(self, api, lrouter, ip_prefix, nexthop, if_exists):"},{"line_number":680,"context_line":"        super(DelStaticRoutesCommand, self).__init__(api)"},{"line_number":681,"context_line":"        self.lrouter \u003d lrouter"}],"source_content_type":"text/x-python","patch_set":11,"id":"380b696f_89f6f188","line":678,"updated":"2024-04-18 16:17:53.000000000","message":"this could be the same command, just handling \"an iterable of (ip_prefix, nexthop) pairs\" (in the degenerate case - an iterable of length 1). This would allow us to avoid some code duplication.","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"fc24c5ca0f1dff840d4bc780b0e2a1f110be4a3e","unresolved":true,"context_lines":[{"line_number":675,"context_line":"        _addvalue_to_list(lrouter, \u0027static_routes\u0027, row.uuid)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"class DelStaticRoutesCommand(command.BaseCommand):"},{"line_number":679,"context_line":"    def __init__(self, api, lrouter, ip_prefix, nexthop, if_exists):"},{"line_number":680,"context_line":"        super(DelStaticRoutesCommand, self).__init__(api)"},{"line_number":681,"context_line":"        self.lrouter \u003d lrouter"}],"source_content_type":"text/x-python","patch_set":11,"id":"8879f26b_d85deb1d","line":678,"in_reply_to":"380b696f_89f6f188","updated":"2024-04-24 11:28:06.000000000","message":"Replaced the single delete command with the multiple route deletion.","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":675,"context_line":"        _addvalue_to_list(lrouter, \u0027static_routes\u0027, row.uuid)"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"class DelStaticRoutesCommand(command.BaseCommand):"},{"line_number":679,"context_line":"    def __init__(self, api, lrouter, ip_prefix, nexthop, if_exists):"},{"line_number":680,"context_line":"        super(DelStaticRoutesCommand, self).__init__(api)"},{"line_number":681,"context_line":"        self.lrouter \u003d lrouter"}],"source_content_type":"text/x-python","patch_set":11,"id":"5573e3f3_123d1956","line":678,"in_reply_to":"8879f26b_d85deb1d","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3a8ad3b0d7816dac82d1c5b6e871d9c7df9ddca6","unresolved":true,"context_lines":[{"line_number":720,"context_line":"            msg \u003d _(\"Logical Router %s does not exist\") % self.lrouter"},{"line_number":721,"context_line":"            raise RuntimeError(msg)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"        routes_set \u003d set(self.routes)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        routes_to_be_deleted \u003d []"},{"line_number":726,"context_line":"        for route in getattr(lrouter, \u0027static_routes\u0027, []):"}],"source_content_type":"text/x-python","patch_set":11,"id":"2b232631_7eaf7b48","line":723,"updated":"2024-04-18 16:17:53.000000000","message":"nit: why do you have to build a set() and not just iterate over self.routes in line 729?","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":720,"context_line":"            msg \u003d _(\"Logical Router %s does not exist\") % self.lrouter"},{"line_number":721,"context_line":"            raise RuntimeError(msg)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"        routes_set \u003d set(self.routes)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        routes_to_be_deleted \u003d []"},{"line_number":726,"context_line":"        for route in getattr(lrouter, \u0027static_routes\u0027, []):"}],"source_content_type":"text/x-python","patch_set":11,"id":"947ee3b8_f368579c","line":723,"in_reply_to":"05f13451_455fa5c4","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"fc24c5ca0f1dff840d4bc780b0e2a1f110be4a3e","unresolved":true,"context_lines":[{"line_number":720,"context_line":"            msg \u003d _(\"Logical Router %s does not exist\") % self.lrouter"},{"line_number":721,"context_line":"            raise RuntimeError(msg)"},{"line_number":722,"context_line":""},{"line_number":723,"context_line":"        routes_set \u003d set(self.routes)"},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        routes_to_be_deleted \u003d []"},{"line_number":726,"context_line":"        for route in getattr(lrouter, \u0027static_routes\u0027, []):"}],"source_content_type":"text/x-python","patch_set":11,"id":"05f13451_455fa5c4","line":723,"in_reply_to":"2b232631_7eaf7b48","updated":"2024-04-24 11:28:06.000000000","message":"Updated","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3a8ad3b0d7816dac82d1c5b6e871d9c7df9ddca6","unresolved":true,"context_lines":[{"line_number":474,"context_line":"        return cmd.AddStaticRouteCommand(self, lrouter, maintain_bfd,"},{"line_number":475,"context_line":"                                         **columns)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def delete_static_route(self, lrouter, ip_prefix, nexthop, if_exists\u003dTrue):"},{"line_number":478,"context_line":"        return cmd.DelStaticRoutesCommand(self, lrouter, ip_prefix, nexthop,"},{"line_number":479,"context_line":"                                         if_exists)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"c41fcfd4_80c35bd3","line":477,"updated":"2024-04-18 16:17:53.000000000","message":"the rest of consumers for this entrypoint could also benefit from bulk delete (the all already iterate over a list of routes):\n\nneutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py:                        self._nb_idl.delete_static_route(\nneutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py:                txn.add(self._nb_idl.delete_static_route(\nneutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py:                            txn.add(self.ovn_api.delete_static_route(","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":474,"context_line":"        return cmd.AddStaticRouteCommand(self, lrouter, maintain_bfd,"},{"line_number":475,"context_line":"                                         **columns)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def delete_static_route(self, lrouter, ip_prefix, nexthop, if_exists\u003dTrue):"},{"line_number":478,"context_line":"        return cmd.DelStaticRoutesCommand(self, lrouter, ip_prefix, nexthop,"},{"line_number":479,"context_line":"                                         if_exists)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"667fba0a_177932b4","line":477,"in_reply_to":"05eb507e_4d845771","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"fc24c5ca0f1dff840d4bc780b0e2a1f110be4a3e","unresolved":true,"context_lines":[{"line_number":474,"context_line":"        return cmd.AddStaticRouteCommand(self, lrouter, maintain_bfd,"},{"line_number":475,"context_line":"                                         **columns)"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"    def delete_static_route(self, lrouter, ip_prefix, nexthop, if_exists\u003dTrue):"},{"line_number":478,"context_line":"        return cmd.DelStaticRoutesCommand(self, lrouter, ip_prefix, nexthop,"},{"line_number":479,"context_line":"                                         if_exists)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"05eb507e_4d845771","line":477,"in_reply_to":"c41fcfd4_80c35bd3","updated":"2024-04-24 11:28:06.000000000","message":"Agreed, updated :)","commit_id":"7871d6269e7e58606b1cb65fb33d16f647be20a6"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":972,"context_line":"        for router in self._nb_idl.lr_list().execute(check_error\u003dTrue):"},{"line_number":973,"context_line":"            if not router.external_ids.get(ovn_const.OVN_REV_NUM_EXT_ID_KEY):"},{"line_number":974,"context_line":"                continue"},{"line_number":975,"context_line":"            routes_to_delete \u003d []"},{"line_number":976,"context_line":"            for route in self._nb_idl.lr_route_list(router.uuid).execute("},{"line_number":977,"context_line":"                    check_error\u003dTrue):"},{"line_number":978,"context_line":"                if (route.nexthop \u003d\u003d \u0027\u0027 and"},{"line_number":979,"context_line":"                        route.ip_prefix in (n_const.IPv4_ANY,"},{"line_number":980,"context_line":"                                            n_const.IPv6_ANY)):"},{"line_number":981,"context_line":"                    routes_to_delete.append((route.ip_prefix, \u0027\u0027))"},{"line_number":982,"context_line":"            cmds.append("},{"line_number":983,"context_line":"                self._nb_idl.delete_static_routes(router.name,"},{"line_number":984,"context_line":"                                                  routes_to_delete))"}],"source_content_type":"text/x-python","patch_set":14,"id":"e2db1dea_339a2ef9","line":981,"range":{"start_line":975,"start_character":12,"end_line":981,"end_character":66},"updated":"2024-05-03 21:33:29.000000000","message":"nit: this could be constructed in a single step as:\n\n```\nroutes_to_delete \u003d [\n    r.ip_prefix, \u0027\u0027\n    for r in self._nb_idl.lr_route_list(router.uuid).execute(check_error\u003dTrue)\n    if r.nexthop \u003d\u003d \u0027\u0027 and r.ip_prefix in (n_const.IPv4_ANY, n_const.IPv6_ANY)\n]\n```","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":972,"context_line":"        for router in self._nb_idl.lr_list().execute(check_error\u003dTrue):"},{"line_number":973,"context_line":"            if not router.external_ids.get(ovn_const.OVN_REV_NUM_EXT_ID_KEY):"},{"line_number":974,"context_line":"                continue"},{"line_number":975,"context_line":"            routes_to_delete \u003d []"},{"line_number":976,"context_line":"            for route in self._nb_idl.lr_route_list(router.uuid).execute("},{"line_number":977,"context_line":"                    check_error\u003dTrue):"},{"line_number":978,"context_line":"                if (route.nexthop \u003d\u003d \u0027\u0027 and"},{"line_number":979,"context_line":"                        route.ip_prefix in (n_const.IPv4_ANY,"},{"line_number":980,"context_line":"                                            n_const.IPv6_ANY)):"},{"line_number":981,"context_line":"                    routes_to_delete.append((route.ip_prefix, \u0027\u0027))"},{"line_number":982,"context_line":"            cmds.append("},{"line_number":983,"context_line":"                self._nb_idl.delete_static_routes(router.name,"},{"line_number":984,"context_line":"                                                  routes_to_delete))"}],"source_content_type":"text/x-python","patch_set":14,"id":"73f251b5_c90bc6a6","line":981,"range":{"start_line":975,"start_character":12,"end_line":981,"end_character":66},"in_reply_to":"d8849a53_edb1b37d","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"04e3ef1e7eebc963767caac95051c04ca900ac30","unresolved":true,"context_lines":[{"line_number":972,"context_line":"        for router in self._nb_idl.lr_list().execute(check_error\u003dTrue):"},{"line_number":973,"context_line":"            if not router.external_ids.get(ovn_const.OVN_REV_NUM_EXT_ID_KEY):"},{"line_number":974,"context_line":"                continue"},{"line_number":975,"context_line":"            routes_to_delete \u003d []"},{"line_number":976,"context_line":"            for route in self._nb_idl.lr_route_list(router.uuid).execute("},{"line_number":977,"context_line":"                    check_error\u003dTrue):"},{"line_number":978,"context_line":"                if (route.nexthop \u003d\u003d \u0027\u0027 and"},{"line_number":979,"context_line":"                        route.ip_prefix in (n_const.IPv4_ANY,"},{"line_number":980,"context_line":"                                            n_const.IPv6_ANY)):"},{"line_number":981,"context_line":"                    routes_to_delete.append((route.ip_prefix, \u0027\u0027))"},{"line_number":982,"context_line":"            cmds.append("},{"line_number":983,"context_line":"                self._nb_idl.delete_static_routes(router.name,"},{"line_number":984,"context_line":"                                                  routes_to_delete))"}],"source_content_type":"text/x-python","patch_set":14,"id":"d8849a53_edb1b37d","line":981,"range":{"start_line":975,"start_character":12,"end_line":981,"end_character":66},"in_reply_to":"e2db1dea_339a2ef9","updated":"2024-05-08 13:30:51.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":1372,"context_line":"                self._nb_idl.add_static_route("},{"line_number":1373,"context_line":"                    lrouter_name, ip_prefix\u003droute[\u0027destination\u0027],"},{"line_number":1374,"context_line":"                    nexthop\u003droute[\u0027nexthop\u0027]))"},{"line_number":1375,"context_line":"        routes_to_delete \u003d []"},{"line_number":1376,"context_line":"        for route in remove:"},{"line_number":1377,"context_line":"            routes_to_delete.append((route[\u0027destination\u0027], route[\u0027nexthop\u0027]))"},{"line_number":1378,"context_line":"        commands.append("},{"line_number":1379,"context_line":"            self._nb_idl.delete_static_routes(lrouter_name,"},{"line_number":1380,"context_line":"                                              routes_to_delete)"}],"source_content_type":"text/x-python","patch_set":14,"id":"aaa85969_58e681ac","line":1377,"range":{"start_line":1375,"start_character":8,"end_line":1377,"end_character":77},"updated":"2024-05-03 21:33:29.000000000","message":"nit: you could construct it right away instead of calling `append` multiple times.\n\n```\nroutes_to_delete \u003d [\n    r[\u0027destination\u0027], r[\u0027nexthop\u0027]\n    for r in remove\n]\n```","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":1372,"context_line":"                self._nb_idl.add_static_route("},{"line_number":1373,"context_line":"                    lrouter_name, ip_prefix\u003droute[\u0027destination\u0027],"},{"line_number":1374,"context_line":"                    nexthop\u003droute[\u0027nexthop\u0027]))"},{"line_number":1375,"context_line":"        routes_to_delete \u003d []"},{"line_number":1376,"context_line":"        for route in remove:"},{"line_number":1377,"context_line":"            routes_to_delete.append((route[\u0027destination\u0027], route[\u0027nexthop\u0027]))"},{"line_number":1378,"context_line":"        commands.append("},{"line_number":1379,"context_line":"            self._nb_idl.delete_static_routes(lrouter_name,"},{"line_number":1380,"context_line":"                                              routes_to_delete)"}],"source_content_type":"text/x-python","patch_set":14,"id":"a73bd9bb_58fdabe3","line":1377,"range":{"start_line":1375,"start_character":8,"end_line":1377,"end_character":77},"in_reply_to":"8c396eaa_2ee9ce7b","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"04e3ef1e7eebc963767caac95051c04ca900ac30","unresolved":true,"context_lines":[{"line_number":1372,"context_line":"                self._nb_idl.add_static_route("},{"line_number":1373,"context_line":"                    lrouter_name, ip_prefix\u003droute[\u0027destination\u0027],"},{"line_number":1374,"context_line":"                    nexthop\u003droute[\u0027nexthop\u0027]))"},{"line_number":1375,"context_line":"        routes_to_delete \u003d []"},{"line_number":1376,"context_line":"        for route in remove:"},{"line_number":1377,"context_line":"            routes_to_delete.append((route[\u0027destination\u0027], route[\u0027nexthop\u0027]))"},{"line_number":1378,"context_line":"        commands.append("},{"line_number":1379,"context_line":"            self._nb_idl.delete_static_routes(lrouter_name,"},{"line_number":1380,"context_line":"                                              routes_to_delete)"}],"source_content_type":"text/x-python","patch_set":14,"id":"8c396eaa_2ee9ce7b","line":1377,"range":{"start_line":1375,"start_character":8,"end_line":1377,"end_character":77},"in_reply_to":"aaa85969_58e681ac","updated":"2024-05-08 13:30:51.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":749,"context_line":"                    if self.mode \u003d\u003d SYNC_MODE_REPAIR:"},{"line_number":750,"context_line":"                        LOG.warning(\"Delete static routes %s from OVN NB DB\","},{"line_number":751,"context_line":"                                    sroute[\u0027del\u0027])"},{"line_number":752,"context_line":"                        routes_to_delete \u003d []"},{"line_number":753,"context_line":"                        for route in sroute[\u0027del\u0027]:"},{"line_number":754,"context_line":"                            routes_to_delete.append((route[\u0027destination\u0027],"},{"line_number":755,"context_line":"                                                     route[\u0027nexthop\u0027]))"},{"line_number":756,"context_line":"                        txn.add(self.ovn_api.delete_static_routes("},{"line_number":757,"context_line":"                            utils.ovn_name(sroute[\u0027id\u0027]), routes_to_delete))"},{"line_number":758,"context_line":"            for fip in update_fips_list:"}],"source_content_type":"text/x-python","patch_set":14,"id":"a603a146_77978f94","line":755,"range":{"start_line":752,"start_character":24,"end_line":755,"end_character":71},"updated":"2024-05-03 21:33:29.000000000","message":"```\nroutes_to_delete \u003d [\n    r[\u0027destination\u0027], r[\u0027nexthop\u0027]\n    for r in sroute[\u0027del\u0027]\n]\n```","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"02c9dcd5e99f786593907f48fead21e5bc04e096","unresolved":true,"context_lines":[{"line_number":749,"context_line":"                    if self.mode \u003d\u003d SYNC_MODE_REPAIR:"},{"line_number":750,"context_line":"                        LOG.warning(\"Delete static routes %s from OVN NB DB\","},{"line_number":751,"context_line":"                                    sroute[\u0027del\u0027])"},{"line_number":752,"context_line":"                        routes_to_delete \u003d []"},{"line_number":753,"context_line":"                        for route in sroute[\u0027del\u0027]:"},{"line_number":754,"context_line":"                            routes_to_delete.append((route[\u0027destination\u0027],"},{"line_number":755,"context_line":"                                                     route[\u0027nexthop\u0027]))"},{"line_number":756,"context_line":"                        txn.add(self.ovn_api.delete_static_routes("},{"line_number":757,"context_line":"                            utils.ovn_name(sroute[\u0027id\u0027]), routes_to_delete))"},{"line_number":758,"context_line":"            for fip in update_fips_list:"}],"source_content_type":"text/x-python","patch_set":14,"id":"d22d8dfe_eec67ad7","line":755,"range":{"start_line":752,"start_character":24,"end_line":755,"end_character":71},"in_reply_to":"a603a146_77978f94","updated":"2024-05-08 13:32:13.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":749,"context_line":"                    if self.mode \u003d\u003d SYNC_MODE_REPAIR:"},{"line_number":750,"context_line":"                        LOG.warning(\"Delete static routes %s from OVN NB DB\","},{"line_number":751,"context_line":"                                    sroute[\u0027del\u0027])"},{"line_number":752,"context_line":"                        routes_to_delete \u003d []"},{"line_number":753,"context_line":"                        for route in sroute[\u0027del\u0027]:"},{"line_number":754,"context_line":"                            routes_to_delete.append((route[\u0027destination\u0027],"},{"line_number":755,"context_line":"                                                     route[\u0027nexthop\u0027]))"},{"line_number":756,"context_line":"                        txn.add(self.ovn_api.delete_static_routes("},{"line_number":757,"context_line":"                            utils.ovn_name(sroute[\u0027id\u0027]), routes_to_delete))"},{"line_number":758,"context_line":"            for fip in update_fips_list:"}],"source_content_type":"text/x-python","patch_set":14,"id":"a0f009aa_fd1793a0","line":755,"range":{"start_line":752,"start_character":24,"end_line":755,"end_character":71},"in_reply_to":"d22d8dfe_eec67ad7","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"}],"neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_impl_idl.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"90e6f0c5905d351148f7940482dbd7fbf1ffc26c","unresolved":true,"context_lines":[{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_del_static_route(self):"},{"line_number":638,"context_line":"        lr_name \u003d \u0027router_with_static_routes_del\u0027"},{"line_number":639,"context_line":"        routes \u003d [(\u00270.0.0.0/24\u0027, \u0027192.0.2.1\u0027), (\u00271.0.0.0/24\u0027, \u0027192.0.2.1\u0027)]"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        with self.nbapi.transaction(check_error\u003dTrue) as txn:"},{"line_number":642,"context_line":"            txn.add(self.nbapi.lr_add(lr_name))"}],"source_content_type":"text/x-python","patch_set":10,"id":"58e93e58_912ef17c","line":639,"range":{"start_line":639,"start_character":49,"end_line":639,"end_character":50},"updated":"2024-04-17 21:32:21.000000000","message":"Can you make this 10.0.0.0/24? We recently ran into other places where 1.0.0.0 was treated as invalid and don\u0027t want to repeat.","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"90e6f0c5905d351148f7940482dbd7fbf1ffc26c","unresolved":true,"context_lines":[{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_del_static_route(self):"},{"line_number":638,"context_line":"        lr_name \u003d \u0027router_with_static_routes_del\u0027"},{"line_number":639,"context_line":"        routes \u003d [(\u00270.0.0.0/24\u0027, \u0027192.0.2.1\u0027), (\u00271.0.0.0/24\u0027, \u0027192.0.2.1\u0027)]"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        with self.nbapi.transaction(check_error\u003dTrue) as txn:"},{"line_number":642,"context_line":"            txn.add(self.nbapi.lr_add(lr_name))"}],"source_content_type":"text/x-python","patch_set":10,"id":"da08dd19_82ea876b","line":639,"range":{"start_line":639,"start_character":28,"end_line":639,"end_character":30},"updated":"2024-04-17 21:32:21.000000000","message":"If this is the default route it should be /0","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_del_static_route(self):"},{"line_number":638,"context_line":"        lr_name \u003d \u0027router_with_static_routes_del\u0027"},{"line_number":639,"context_line":"        routes \u003d [(\u00270.0.0.0/24\u0027, \u0027192.0.2.1\u0027), (\u00271.0.0.0/24\u0027, \u0027192.0.2.1\u0027)]"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        with self.nbapi.transaction(check_error\u003dTrue) as txn:"},{"line_number":642,"context_line":"            txn.add(self.nbapi.lr_add(lr_name))"}],"source_content_type":"text/x-python","patch_set":10,"id":"1cc12aaf_39f64cd9","line":639,"range":{"start_line":639,"start_character":28,"end_line":639,"end_character":30},"in_reply_to":"3ea780f4_39851302","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_del_static_route(self):"},{"line_number":638,"context_line":"        lr_name \u003d \u0027router_with_static_routes_del\u0027"},{"line_number":639,"context_line":"        routes \u003d [(\u00270.0.0.0/24\u0027, \u0027192.0.2.1\u0027), (\u00271.0.0.0/24\u0027, \u0027192.0.2.1\u0027)]"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        with self.nbapi.transaction(check_error\u003dTrue) as txn:"},{"line_number":642,"context_line":"            txn.add(self.nbapi.lr_add(lr_name))"}],"source_content_type":"text/x-python","patch_set":10,"id":"484026d0_dd2ac7cf","line":639,"range":{"start_line":639,"start_character":49,"end_line":639,"end_character":50},"in_reply_to":"4ce24c0d_5e0dc871","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"1564eea9b4a96100e071726e76351e21e159afb6","unresolved":true,"context_lines":[{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_del_static_route(self):"},{"line_number":638,"context_line":"        lr_name \u003d \u0027router_with_static_routes_del\u0027"},{"line_number":639,"context_line":"        routes \u003d [(\u00270.0.0.0/24\u0027, \u0027192.0.2.1\u0027), (\u00271.0.0.0/24\u0027, \u0027192.0.2.1\u0027)]"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        with self.nbapi.transaction(check_error\u003dTrue) as txn:"},{"line_number":642,"context_line":"            txn.add(self.nbapi.lr_add(lr_name))"}],"source_content_type":"text/x-python","patch_set":10,"id":"4ce24c0d_5e0dc871","line":639,"range":{"start_line":639,"start_character":49,"end_line":639,"end_character":50},"in_reply_to":"58e93e58_912ef17c","updated":"2024-04-18 07:42:30.000000000","message":"Updated","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"1564eea9b4a96100e071726e76351e21e159afb6","unresolved":true,"context_lines":[{"line_number":636,"context_line":""},{"line_number":637,"context_line":"    def test_del_static_route(self):"},{"line_number":638,"context_line":"        lr_name \u003d \u0027router_with_static_routes_del\u0027"},{"line_number":639,"context_line":"        routes \u003d [(\u00270.0.0.0/24\u0027, \u0027192.0.2.1\u0027), (\u00271.0.0.0/24\u0027, \u0027192.0.2.1\u0027)]"},{"line_number":640,"context_line":""},{"line_number":641,"context_line":"        with self.nbapi.transaction(check_error\u003dTrue) as txn:"},{"line_number":642,"context_line":"            txn.add(self.nbapi.lr_add(lr_name))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3ea780f4_39851302","line":639,"range":{"start_line":639,"start_character":28,"end_line":639,"end_character":30},"in_reply_to":"da08dd19_82ea876b","updated":"2024-04-18 07:42:30.000000000","message":"Updated","commit_id":"f02610756338a14aaa6facf741df0e169cf49aeb"}],"neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovn_db_sync.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"            routes_to_delete \u003d []"},{"line_number":802,"context_line":"            for lrouter_name, ip_prefix, nexthop in self.delete_lrouter_routes:"},{"line_number":803,"context_line":"                routes_to_delete.append((lrouter_name, ip_prefix, nexthop))"},{"line_number":804,"context_line":"            txn.add(self.nb_api.delete_static_routes(lrouter_name,"},{"line_number":805,"context_line":"                                                    routes_to_delete,"},{"line_number":806,"context_line":"                                                    True))"}],"source_content_type":"text/x-python","patch_set":14,"id":"46820a5e_3affbf24","line":803,"updated":"2024-05-03 21:33:29.000000000","message":"this doesn\u0027t seem right. aren\u0027t `routes_to_delete` supposed to be 2-tuples?","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"02c9dcd5e99f786593907f48fead21e5bc04e096","unresolved":true,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"            routes_to_delete \u003d []"},{"line_number":802,"context_line":"            for lrouter_name, ip_prefix, nexthop in self.delete_lrouter_routes:"},{"line_number":803,"context_line":"                routes_to_delete.append((lrouter_name, ip_prefix, nexthop))"},{"line_number":804,"context_line":"            txn.add(self.nb_api.delete_static_routes(lrouter_name,"},{"line_number":805,"context_line":"                                                    routes_to_delete,"},{"line_number":806,"context_line":"                                                    True))"}],"source_content_type":"text/x-python","patch_set":14,"id":"ef243f57_08d3f795","line":803,"in_reply_to":"46820a5e_3affbf24","updated":"2024-05-08 13:32:13.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"            routes_to_delete \u003d []"},{"line_number":802,"context_line":"            for lrouter_name, ip_prefix, nexthop in self.delete_lrouter_routes:"},{"line_number":803,"context_line":"                routes_to_delete.append((lrouter_name, ip_prefix, nexthop))"},{"line_number":804,"context_line":"            txn.add(self.nb_api.delete_static_routes(lrouter_name,"},{"line_number":805,"context_line":"                                                    routes_to_delete,"},{"line_number":806,"context_line":"                                                    True))"}],"source_content_type":"text/x-python","patch_set":14,"id":"6bb3cfa4_61b74601","line":803,"in_reply_to":"ef243f57_08d3f795","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"07d7f12873b0cda99465baaaf76489775dec930f","unresolved":true,"context_lines":[{"line_number":798,"context_line":"                                                     ip_prefix\u003dip_prefix,"},{"line_number":799,"context_line":"                                                     nexthop\u003dnexthop))"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"            routes_to_delete \u003d ["},{"line_number":802,"context_line":"                (ip_prefix, nexthop)"},{"line_number":803,"context_line":"                for _, ip_prefix, nexthop in self.delete_lrouter_routes"},{"line_number":804,"context_line":"            ]"}],"source_content_type":"text/x-python","patch_set":15,"id":"ac222f0a_1949e743","line":801,"updated":"2024-05-08 16:26:42.000000000","message":"I don\u0027t think this is correct. You should call to delete_static_routes for each router, separately. The way it\u0027s written right now - it will attempt to delete routes for one router (whatever the last lrouter_name iterated over in line 796 above).","commit_id":"a22be7306b5ea7a28357b1a5a39687ca84d02e75"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":798,"context_line":"                                                     ip_prefix\u003dip_prefix,"},{"line_number":799,"context_line":"                                                     nexthop\u003dnexthop))"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"            routes_to_delete \u003d ["},{"line_number":802,"context_line":"                (ip_prefix, nexthop)"},{"line_number":803,"context_line":"                for _, ip_prefix, nexthop in self.delete_lrouter_routes"},{"line_number":804,"context_line":"            ]"}],"source_content_type":"text/x-python","patch_set":15,"id":"e6ff7a37_2365a339","line":801,"in_reply_to":"07347691_860806c7","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"a22be7306b5ea7a28357b1a5a39687ca84d02e75"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"aa609e456634925f99cd217fbcdd0bc702d6dead","unresolved":true,"context_lines":[{"line_number":798,"context_line":"                                                     ip_prefix\u003dip_prefix,"},{"line_number":799,"context_line":"                                                     nexthop\u003dnexthop))"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"            routes_to_delete \u003d ["},{"line_number":802,"context_line":"                (ip_prefix, nexthop)"},{"line_number":803,"context_line":"                for _, ip_prefix, nexthop in self.delete_lrouter_routes"},{"line_number":804,"context_line":"            ]"}],"source_content_type":"text/x-python","patch_set":15,"id":"07347691_860806c7","line":801,"in_reply_to":"ac222f0a_1949e743","updated":"2024-05-08 16:30:25.000000000","message":"You can either change the type of `self.create_lrouter_routes` to separate routes by router name, or you can leave this test-only code to delete each route separately (you can pass one route at a time into delete_static_routes). I don\u0027t insist that the test code uses a single transaction.","commit_id":"a22be7306b5ea7a28357b1a5a39687ca84d02e75"}],"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_commands.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fcaf309db94b37b7b0bd6a1a0de2a9514d6d4502","unresolved":true,"context_lines":[{"line_number":752,"context_line":"            self.assertEqual([mock.ANY], fake_lrouter.static_routes)"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":""},{"line_number":755,"context_line":"class TestDelBulkStaticRouteCommand(TestBaseCommand):"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"    def _test_lrouter_no_exist(self, if_exists\u003dTrue):"},{"line_number":758,"context_line":"        with mock.patch.object(idlutils, \u0027row_by_value\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"72cf0b19_255cc3dc","line":755,"range":{"start_line":755,"start_character":0,"end_line":755,"end_character":53},"updated":"2024-04-03 18:15:41.000000000","message":"Unit testing is irrelevant for a new OVN command. Please add functional tests.","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":752,"context_line":"            self.assertEqual([mock.ANY], fake_lrouter.static_routes)"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":""},{"line_number":755,"context_line":"class TestDelBulkStaticRouteCommand(TestBaseCommand):"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"    def _test_lrouter_no_exist(self, if_exists\u003dTrue):"},{"line_number":758,"context_line":"        with mock.patch.object(idlutils, \u0027row_by_value\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"4ba15c8c_830e9de4","line":755,"range":{"start_line":755,"start_character":0,"end_line":755,"end_character":53},"in_reply_to":"68cb21e8_412eb278","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"76e0f305a5eb2c8353549934c0e498a74f9f6fe2","unresolved":true,"context_lines":[{"line_number":752,"context_line":"            self.assertEqual([mock.ANY], fake_lrouter.static_routes)"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":""},{"line_number":755,"context_line":"class TestDelBulkStaticRouteCommand(TestBaseCommand):"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"    def _test_lrouter_no_exist(self, if_exists\u003dTrue):"},{"line_number":758,"context_line":"        with mock.patch.object(idlutils, \u0027row_by_value\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"68cb21e8_412eb278","line":755,"range":{"start_line":755,"start_character":0,"end_line":755,"end_character":53},"in_reply_to":"72cf0b19_255cc3dc","updated":"2024-04-09 06:37:02.000000000","message":"Added functional test as well","commit_id":"d0f1256e34a618e65ad3167151c1f97facb553b9"}],"neutron/tests/unit/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovn_db_sync.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":644,"context_line":"        routes_to_delete \u003d [(route[\u0027destination\u0027], route[\u0027nexthop\u0027])"},{"line_number":645,"context_line":"                           for route in del_static_route_list]"},{"line_number":646,"context_line":"        del_route_call \u003d [mock.call(mock.ANY, routes_to_delete)] \\"},{"line_number":647,"context_line":"            if len(routes_to_delete) \u003e 0 else []"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":14,"id":"b29bf86c_d073c19f","line":647,"range":{"start_line":647,"start_character":12,"end_line":647,"end_character":40},"updated":"2024-05-03 21:33:29.000000000","message":"-\u003e `if routes_to_delete`","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":644,"context_line":"        routes_to_delete \u003d [(route[\u0027destination\u0027], route[\u0027nexthop\u0027])"},{"line_number":645,"context_line":"                           for route in del_static_route_list]"},{"line_number":646,"context_line":"        del_route_call \u003d [mock.call(mock.ANY, routes_to_delete)] \\"},{"line_number":647,"context_line":"            if len(routes_to_delete) \u003e 0 else []"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":14,"id":"b0734146_23b26ff4","line":647,"range":{"start_line":647,"start_character":12,"end_line":647,"end_character":40},"in_reply_to":"ac04ea3f_8614d4f0","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"02c9dcd5e99f786593907f48fead21e5bc04e096","unresolved":true,"context_lines":[{"line_number":644,"context_line":"        routes_to_delete \u003d [(route[\u0027destination\u0027], route[\u0027nexthop\u0027])"},{"line_number":645,"context_line":"                           for route in del_static_route_list]"},{"line_number":646,"context_line":"        del_route_call \u003d [mock.call(mock.ANY, routes_to_delete)] \\"},{"line_number":647,"context_line":"            if len(routes_to_delete) \u003e 0 else []"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":14,"id":"ac04ea3f_8614d4f0","line":647,"range":{"start_line":647,"start_character":12,"end_line":647,"end_character":40},"in_reply_to":"b29bf86c_d073c19f","updated":"2024-05-08 13:32:13.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":647,"context_line":"            if len(routes_to_delete) \u003e 0 else []"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"},{"line_number":651,"context_line":"        self.assertEqual(len(del_static_route_list),"},{"line_number":652,"context_line":"                         ovn_api.delete_static_routes.call_count)"},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"e3e35494_36cdcf65","line":650,"updated":"2024-05-03 21:33:29.000000000","message":"it\u0027s a single call now, no need to `any_order` it here anymore","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":647,"context_line":"            if len(routes_to_delete) \u003e 0 else []"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"},{"line_number":651,"context_line":"        self.assertEqual(len(del_static_route_list),"},{"line_number":652,"context_line":"                         ovn_api.delete_static_routes.call_count)"},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"d95648a4_d88a5e87","line":650,"in_reply_to":"7a99c013_5f095e84","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"02c9dcd5e99f786593907f48fead21e5bc04e096","unresolved":true,"context_lines":[{"line_number":647,"context_line":"            if len(routes_to_delete) \u003e 0 else []"},{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"},{"line_number":651,"context_line":"        self.assertEqual(len(del_static_route_list),"},{"line_number":652,"context_line":"                         ovn_api.delete_static_routes.call_count)"},{"line_number":653,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"7a99c013_5f095e84","line":650,"in_reply_to":"e3e35494_36cdcf65","updated":"2024-05-08 13:32:13.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5bd5006a4e7feacb769e78ce196280bf45f712fa","unresolved":true,"context_lines":[{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"},{"line_number":651,"context_line":"        self.assertEqual(len(del_static_route_list),"},{"line_number":652,"context_line":"                         ovn_api.delete_static_routes.call_count)"},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        add_nat_calls \u003d [mock.call(mock.ANY, **nat) for nat in add_snat_list]"}],"source_content_type":"text/x-python","patch_set":14,"id":"e0ef4ee1_15536dbe","line":651,"updated":"2024-05-03 21:33:29.000000000","message":"this is not correct: if `del_static_route_list` is of length \u003d 2, you still expect a single call.","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"6f6aac11ed6cb3b4e14332f66c78787a21d7c0a2","unresolved":false,"context_lines":[{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"},{"line_number":651,"context_line":"        self.assertEqual(len(del_static_route_list),"},{"line_number":652,"context_line":"                         ovn_api.delete_static_routes.call_count)"},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        add_nat_calls \u003d [mock.call(mock.ANY, **nat) for nat in add_snat_list]"}],"source_content_type":"text/x-python","patch_set":14,"id":"59c57763_28940656","line":651,"in_reply_to":"a008b23e_0430fa52","updated":"2024-05-13 12:06:29.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"},{"author":{"_account_id":30772,"name":"Ihtisham ul Haq","display_name":"Ihtisham ul Haq","email":"ihtisham.ul_haq@mail.schwarz","username":"ihtisham","status":"STACKIT (Schwarz IT)"},"change_message_id":"02c9dcd5e99f786593907f48fead21e5bc04e096","unresolved":true,"context_lines":[{"line_number":648,"context_line":""},{"line_number":649,"context_line":"        ovn_api.delete_static_routes.assert_has_calls(del_route_call,"},{"line_number":650,"context_line":"                                                     any_order\u003dTrue)"},{"line_number":651,"context_line":"        self.assertEqual(len(del_static_route_list),"},{"line_number":652,"context_line":"                         ovn_api.delete_static_routes.call_count)"},{"line_number":653,"context_line":""},{"line_number":654,"context_line":"        add_nat_calls \u003d [mock.call(mock.ANY, **nat) for nat in add_snat_list]"}],"source_content_type":"text/x-python","patch_set":14,"id":"a008b23e_0430fa52","line":651,"in_reply_to":"e0ef4ee1_15536dbe","updated":"2024-05-08 13:32:13.000000000","message":"Done","commit_id":"85587e023104189a46d47f8e07aad4c4c1276d16"}]}
