)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"38185c4de00a6b0f244773b2f6ffe10d5e871ec2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d8a332e1_4fbbcf28","updated":"2023-04-05 15:43:06.000000000","message":"++","commit_id":"fe0920bd7ebf0e092971f784000f0c9ae9d0fe32"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"c52a47dae640194c2eb08b3ee8976e518efdd167","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5376fc88_92d56d9f","updated":"2023-04-14 10:52:13.000000000","message":"recheck","commit_id":"a8d724b3a8d8624f3bc0e8d4b2fe071bcf58440f"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"469c26fdb701cecffa4c0cf38bcde646ad7e54a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"782bb4b2_76460da3","updated":"2023-04-19 16:53:12.000000000","message":"The test failure looks unrelated:\n\n{3} tempest.api.compute.admin.test_servers_on_multinodes.UnshelveToHostMultiNodesTest.test_unshelve_to_specific_host [42.532017s] ... FAILED","commit_id":"55f6e9a08192490ec3ca1f926f5689383d5df38e"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"d723ce3bb931423db0e22e21a304380b2c07b009","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"23761e31_2d157ec6","updated":"2023-04-21 17:37:37.000000000","message":"recheck","commit_id":"55f6e9a08192490ec3ca1f926f5689383d5df38e"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"da97e0703797e4932a7313246d13825623b6396c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5ee2c59c_6227a196","updated":"2023-04-18 22:33:22.000000000","message":"recheck","commit_id":"55f6e9a08192490ec3ca1f926f5689383d5df38e"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"de6c1d3201f302054f6eb8046f1d0d0cfd72a66e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"91f1abac_f361cac7","updated":"2023-04-26 00:07:54.000000000","message":"recheck","commit_id":"55f6e9a08192490ec3ca1f926f5689383d5df38e"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"ec9fe5b0e0a7a979d5eb641e13f6e4edbeeb6678","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"96496aca_2af0604c","updated":"2023-04-19 16:53:17.000000000","message":"recheck","commit_id":"55f6e9a08192490ec3ca1f926f5689383d5df38e"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"1b0cd23d66cf806480cb7492f368f8d5bd22965b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"afc23506_b947c996","updated":"2023-04-26 06:41:29.000000000","message":"recheck","commit_id":"55f6e9a08192490ec3ca1f926f5689383d5df38e"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"e984331435b4272b96a3ea82b351f8cf3d925077","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"cd56ee8b_a38518b9","updated":"2023-04-28 09:57:14.000000000","message":"A mirror timeout again:\n\nhttps://zuul.opendev.org/t/openstack/build/1e18d4cc3ed446c392233a720b5ca266\n```\n  Could not connect to mirror.ca-ymq-1.vexxhost.opendev.org:443 (199.204.45.149), connection timed out Could not connect to mirror.ca-ymq-1.vexxhost.opendev.org:443 (2604:e100:1:0:f816:3eff:fe0c:e2c0), connection timed out [IP: 199.204.45.149 443]\nErr:204 https://mirror.ca-ymq-1.vexxhost.opendev.org/ubuntu focal-updates/universe amd64 vlan all 2.0.4ubuntu1.20.04.1\n  Unable to connect to mirror.ca-ymq-1.vexxhost.opendev.org:https: [IP: 199.204.45.149 443]\nFetched 126 MB in 39s (3,212 kB/s)\nE: Failed to fetch https://mirror.ca-ymq-1.vexxhost.opendev.org/ubuntu/pool/main/s/socat/socat_1.7.3.3-2_amd64.deb  Could not connect to mirror.ca-ymq-1.vexxhost.opendev.org:443 (199.204.45.149), connection timed out Could not connect to mirror.ca-ymq-1.vexxhost.opendev.org:443 (2604:e100:1:0:f816:3eff:fe0c:e2c0), connection timed out [IP: 199.204.45.149 443]\nE: Failed to fetch https://mirror.ca-ymq-1.vexxhost.opendev.org/ubuntu/pool/universe/v/vlan/vlan_2.0.4ubuntu1.20.04.1_all.deb  Unable to connect to mirror.ca-ymq-1.vexxhost.opendev.org:https: [IP: 199.204.45.149 443]\nE: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?\n```","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"213a24cce87147453a7aab947ecdab1bfbda7ce8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ae93fb55_addac7c3","updated":"2023-04-30 20:50:45.000000000","message":"Looks like an unrelated failure:\n\n```\n2023-04-30 18:45:52.938444 | controller | {0} neutron.tests.functional.tests.common.exclusive_resources.test_resource_allocator.TestResourceAllocator.test_allocate_and_release [0.071975s] ... ok\n\n2023-04-30 18:45:52.979325 | controller | Stopping rootwrap daemon process with pid\u003d49356\n\n2023-04-30 18:45:57.790226 | controller |\n\n2023-04-30 18:45:57.790316 | controller | \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n2023-04-30 18:45:57.790331 | controller | Failed 1 tests - output below:\n\n2023-04-30 18:45:57.790343 | controller | \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n2023-04-30 18:45:57.790354 | controller |\n\n2023-04-30 18:45:57.790366 | controller | neutron.tests.functional.agent.test_ovs_lib.OVSBridgeTestCase.test_cascading_del_in_txn\n\n2023-04-30 18:45:57.790379 | controller | ---------------------------------------------------------------------------------------\n\n2023-04-30 18:45:57.790391 | controller |\n\n2023-04-30 18:45:57.790402 | controller | Captured traceback:\n\n2023-04-30 18:45:57.790414 | controller | ~~~~~~~~~~~~~~~~~~~\n\n2023-04-30 18:45:57.790425 | controller |     Traceback (most recent call last):\n\n2023-04-30 18:45:57.790437 | controller |\n\n2023-04-30 18:45:57.790449 | controller |       File \"/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/base.py\", line 182, in func\n\n2023-04-30 18:45:57.790479 | controller |     return f(self, *args, **kwargs)\n\n2023-04-30 18:45:57.790513 | controller |\n\n2023-04-30 18:45:57.790526 | controller |       File \"/home/zuul/src/opendev.org/openstack/neutron/neutron/tests/functional/agent/test_ovs_lib.py\", line 493, in test_cascading_del_in_txn\n\n2023-04-30 18:45:57.790539 | controller |     self.assertRaises((RuntimeError, idlutils.RowNotFound),\n\n2023-04-30 18:45:57.790550 | controller |\n\n2023-04-30 18:45:57.790562 | controller |       File \"/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional-gate/lib/python3.10/site-packages/testtools/testcase.py\", line 468, in assertRaises\n\n2023-04-30 18:45:57.790574 | controller |     self.assertThat(our_callable, matcher)\n\n2023-04-30 18:45:57.790586 | controller |\n\n2023-04-30 18:45:57.790597 | controller |       File \"/home/zuul/src/opendev.org/openstack/neutron/.tox/dsvm-functional-gate/lib/python3.10/site-packages/testtools/testcase.py\", line 481, in assertThat\n\n2023-04-30 18:45:57.790608 | controller |     raise mismatch_error\n\n2023-04-30 18:45:57.790620 | controller |\n\n2023-04-30 18:45:57.790631 | controller |     testtools.matchers._impl.MismatchError: \u003cfunction OVSBridgeTestCase.test_cascading_del_in_txn.\u003clocals\u003e.del_port_mod_iface at 0x7f93b2ef37f0\u003e returned None\n```","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"9dc64350457e6af2747856b883dbdeae0d24f5cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"da59c62b_383d670b","updated":"2023-04-30 20:54:57.000000000","message":"The failure above seems to be filed as a bug already:\n\nhttps://bugs.launchpad.net/neutron/+bug/2018130\nhttps://review.opendev.org/c/openstack/neutron/+/881896\n\nI\u0027ll wait until this is merged before making another recheck.","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"4e85d6f9633f03f351bdf123de775b5a6d02b5a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"01b48f03_c7b5eeb8","updated":"2023-04-28 12:21:55.000000000","message":"Yet again:\n\n```\nE: Unable to locate package iputils-arping\nE: Unable to locate package postgresql-server-dev-all\nE: Unable to locate package python3-mysqldb\nE: Unable to locate package sqlite3\nE: Unable to locate package vlan\nE: Unable to locate package apache2\n```","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b057427af7b5b0e4eee9906abd58618a98f6d6b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6f8834dc_33ae77d0","updated":"2023-04-28 13:07:38.000000000","message":"argh, will have to wait until current job finishes","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"bc2c1ae1ae436ff7b3a06b0b017d3825be18c444","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2f8cfb33_c29508e6","updated":"2023-04-28 09:57:25.000000000","message":"recheck","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"f81048acd66c8c0745e15b7afabce84aafca8056","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"44cae68f_70e2d7dd","updated":"2023-04-28 12:22:01.000000000","message":"recheck","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"14f6e33e5a9b36a090cd5dab62f7d9dc58385a92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a31aa332_795c8905","updated":"2023-04-27 22:11:49.000000000","message":"recheck","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"43e7d0cb374754810deaea104f0226a8680a03b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8274a18c_237f4f93","updated":"2023-04-28 01:52:42.000000000","message":"recheck vexxhost mirror issue\n\nJust a reminder that when you add a re-check comment to give a $reason after it as we track it for CI purposes.","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"0e0c4ab2df3640b7dc4cbe8df4190f2d01a874ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"451827b0_0730ae1b","updated":"2023-04-30 17:37:33.000000000","message":"recheck vexxhost nested virt hosts disabled","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"70436ec8510dbc0407f0c5a2f6e8e90ec8cf91d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"471b5166_c5a0db5f","updated":"2023-04-30 20:52:31.000000000","message":"recheck vexxhost nested virt hosts disabled","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"9959bb12ff0a317c94f5f62bec8072c5c14d5fee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4a999e94_f3d669d6","updated":"2023-04-28 15:10:39.000000000","message":"recheck vexxhost nested virt hosts disabled","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"e5b7b35e78de68e8b6a980bc3dca819aa99f8904","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6d517098_e401a22d","updated":"2023-05-01 20:47:59.000000000","message":"recheck vexxhost nested virt hosts disabled","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"8c6316b0d22abd30c5e60498ff098f9191d1abc5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"72b91ee6_20cbb6b6","updated":"2023-04-30 14:10:52.000000000","message":"recheck vexxhost nested virt hosts disabled","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d75945cb1dbe6c9943860ce09955e12e32cca7c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d4e3849b_3a6308e2","updated":"2023-04-28 13:07:15.000000000","message":"recheck vexxhost nested virt hosts disabled","commit_id":"3fc5ef5402c4432957436998224f8bf93ee90aba"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"fa7259f838a6509a18333946d413db975e21b9d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6b7ee853_9cda4f88","updated":"2023-05-02 15:20:21.000000000","message":"recheck","commit_id":"df4ed56bb8bd2499f20f212cb02ea5766aae7dff"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fb45ba29800b67bce28fcede3c4dcb3e216647fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"31980494_70a78436","updated":"2023-05-03 07:08:06.000000000","message":"Thanks for updating. Like I mentioned, I don\u0027t know if get_objects() is \"slow\", but this lgtm.","commit_id":"b1cc242faddd4c378dfee7b65ed72b4b190b2467"}],"neutron/objects/router.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b48e59ae5cc2fb6de7febb23653e6313e07016f8","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        if db_obj:"},{"line_number":259,"context_line":"            gw_ports \u003d db_obj.get(\u0027gw_ports\u0027, [])"},{"line_number":260,"context_line":"        else:"},{"line_number":261,"context_line":"            gw_ports \u003d RouterPort.get_objects("},{"line_number":262,"context_line":"                self.obj_context,"},{"line_number":263,"context_line":"                router_id\u003dself.id,"},{"line_number":264,"context_line":"                port_type\u003dn_const.DEVICE_OWNER_ROUTER_GW"},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        self.gw_ports \u003d [router_port[\u0027port_id\u0027] for"},{"line_number":268,"context_line":"                         router_port in gw_ports]"}],"source_content_type":"text/x-python","patch_set":2,"id":"07be001f_d4a0a388","line":265,"range":{"start_line":261,"start_character":12,"end_line":265,"end_character":13},"updated":"2023-04-17 11:51:10.000000000","message":"This is quite expensive. Can you provide a justification to add this information for each router?","commit_id":"a8d724b3a8d8624f3bc0e8d4b2fe071bcf58440f"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"b46cfd1b7190192ef16958850992b1d6e84d6af7","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        if db_obj:"},{"line_number":259,"context_line":"            gw_ports \u003d db_obj.get(\u0027gw_ports\u0027, [])"},{"line_number":260,"context_line":"        else:"},{"line_number":261,"context_line":"            gw_ports \u003d RouterPort.get_objects("},{"line_number":262,"context_line":"                self.obj_context,"},{"line_number":263,"context_line":"                router_id\u003dself.id,"},{"line_number":264,"context_line":"                port_type\u003dn_const.DEVICE_OWNER_ROUTER_GW"},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        self.gw_ports \u003d [router_port[\u0027port_id\u0027] for"},{"line_number":268,"context_line":"                         router_port in gw_ports]"}],"source_content_type":"text/x-python","patch_set":2,"id":"692d47b9_aa461555","line":265,"range":{"start_line":261,"start_character":12,"end_line":265,"end_character":13},"in_reply_to":"07be001f_d4a0a388","updated":"2023-04-18 13:17:21.000000000","message":"We only have read operations at this point which is something we can use a function for and do it selectively. I\u0027m going to upload a change without this field.\n\nThe reason for adding this field was to have one way of getting those ports from an object since some plugins take the gateway port ID information from the router object. Currently this is limited to the single-gateway case but other plugins could support multiple in the future.\n\nExamples:\n\nhttps://github.com/openstack/neutron/blob/37abad3e40e364acfd452847b1fc5b8f39098bc9/neutron/services/ndp_proxy/plugin.py#L221-L222\nhttps://github.com/openstack/neutron/blob/22.0.0/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#L1265\n\nBut performance is also important so we can make a trade-off here with internal usability.","commit_id":"a8d724b3a8d8624f3bc0e8d4b2fe071bcf58440f"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"422cc2d18209a3466556972c2059ceb25f7f13f9","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        if db_obj:"},{"line_number":259,"context_line":"            gw_ports \u003d db_obj.get(\u0027gw_ports\u0027, [])"},{"line_number":260,"context_line":"        else:"},{"line_number":261,"context_line":"            gw_ports \u003d RouterPort.get_objects("},{"line_number":262,"context_line":"                self.obj_context,"},{"line_number":263,"context_line":"                router_id\u003dself.id,"},{"line_number":264,"context_line":"                port_type\u003dn_const.DEVICE_OWNER_ROUTER_GW"},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"        self.gw_ports \u003d [router_port[\u0027port_id\u0027] for"},{"line_number":268,"context_line":"                         router_port in gw_ports]"}],"source_content_type":"text/x-python","patch_set":2,"id":"16acc354_6a0b11af","line":265,"range":{"start_line":261,"start_character":12,"end_line":265,"end_character":13},"in_reply_to":"692d47b9_aa461555","updated":"2023-04-18 21:44:08.000000000","message":"I used a method instead to avoid this for all routers.","commit_id":"a8d724b3a8d8624f3bc0e8d4b2fe071bcf58440f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"656b36eb5c35b53588c17ceb58a62e6a64fbb488","unresolved":true,"context_lines":[{"line_number":170,"context_line":"            context,"},{"line_number":171,"context_line":"            router_id\u003drouter_id,"},{"line_number":172,"context_line":"            port_type\u003dn_const.DEVICE_OWNER_ROUTER_GW"},{"line_number":173,"context_line":"        )]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"@base.NeutronObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":5,"id":"90965e61_11201639","line":173,"updated":"2023-05-02 15:31:31.000000000","message":"Just a question since I\u0027m not a DB expert, but does get_objects() have more overhead than just using query.filter() directly? Maybe Rodolfo knows.\n\nnit: Also, this is returning port IDs of router gateways for a router ID, so the name isn\u0027t self-explanatory, but I can\u0027t think of a great name besides get_gw_port_ids_by_router_id()","commit_id":"df4ed56bb8bd2499f20f212cb02ea5766aae7dff"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"7fcd24d0bdf568cd623e7cb0f795caed42de64f7","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            context,"},{"line_number":171,"context_line":"            router_id\u003drouter_id,"},{"line_number":172,"context_line":"            port_type\u003dn_const.DEVICE_OWNER_ROUTER_GW"},{"line_number":173,"context_line":"        )]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"@base.NeutronObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":5,"id":"cfec1ef5_0110338f","line":173,"in_reply_to":"1eeb5054_e3d03d03","updated":"2023-05-02 18:30:12.000000000","message":"Done","commit_id":"df4ed56bb8bd2499f20f212cb02ea5766aae7dff"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"a3bbec559712d2590ac291b2fe69898fdf4ea9ac","unresolved":true,"context_lines":[{"line_number":170,"context_line":"            context,"},{"line_number":171,"context_line":"            router_id\u003drouter_id,"},{"line_number":172,"context_line":"            port_type\u003dn_const.DEVICE_OWNER_ROUTER_GW"},{"line_number":173,"context_line":"        )]"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"@base.NeutronObjectRegistry.register"}],"source_content_type":"text/x-python","patch_set":5,"id":"1eeb5054_e3d03d03","line":173,"in_reply_to":"90965e61_11201639","updated":"2023-05-02 17:38:37.000000000","message":"Had the same dilemma about the name when writing this, I can change it to a longer variant to be more explicit. After all, this is only used in a small portion of the code at this point.\n\nNot sure whether the amount of cycles saved for `get_objects` in vs `query.filter()` will be significant or not but I can change anyway.","commit_id":"df4ed56bb8bd2499f20f212cb02ea5766aae7dff"}],"neutron/tests/unit/objects/test_base.py":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"38185c4de00a6b0f244773b2f6ffe10d5e871ec2","unresolved":true,"context_lines":[{"line_number":505,"context_line":"    }"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"def get_list_of_random_uuids():"},{"line_number":509,"context_line":"    return ["},{"line_number":510,"context_line":"        uuidutils.generate_uuid()"},{"line_number":511,"context_line":"        for i in range(10)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aac79a0_8701fafa","line":508,"updated":"2023-04-05 15:43:06.000000000","message":"return [uuid for uuid in get_set_of_random_uuids()]\n\nIt\u0027s just a personal preference nothing to complaing about.","commit_id":"fe0920bd7ebf0e092971f784000f0c9ae9d0fe32"},{"author":{"_account_id":24824,"name":"Dmitrii Shcherbakov","username":"dmitriis"},"change_message_id":"422cc2d18209a3466556972c2059ceb25f7f13f9","unresolved":false,"context_lines":[{"line_number":505,"context_line":"    }"},{"line_number":506,"context_line":""},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"def get_list_of_random_uuids():"},{"line_number":509,"context_line":"    return ["},{"line_number":510,"context_line":"        uuidutils.generate_uuid()"},{"line_number":511,"context_line":"        for i in range(10)"}],"source_content_type":"text/x-python","patch_set":1,"id":"4873eb78_12afc230","line":508,"in_reply_to":"3aac79a0_8701fafa","updated":"2023-04-18 21:44:08.000000000","message":"Removed altogether based on the thread around the performance of using a synthetic attributes for gw_ports: https://review.opendev.org/c/openstack/neutron/+/879462/comment/07be001f_d4a0a388/","commit_id":"fe0920bd7ebf0e092971f784000f0c9ae9d0fe32"}]}
