)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ab47d27a05ccc8a846214d5b493d6bc62e196b5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"793c2ad0_f6cae1ed","updated":"2024-11-20 16:02:07.000000000","message":"-W while I look into my question","commit_id":"9a290e2f5a1c025cde8017ffecbb370c6f850af6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"bf090f99ac2a360d21ce5e026aa5071ce5171bd3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5b4a9f40_ebf5ef83","updated":"2024-12-02 09:00:30.000000000","message":"good step forward, let\u0027s see what will break 😊","commit_id":"fd8add9a7db37b3778556590a022d7695cedc743"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"836a8305a97aa7db4aeaa045edb2f8add8055379","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5216c019_3aeb7a45","in_reply_to":"5b4a9f40_ebf5ef83","updated":"2024-12-02 18:07:32.000000000","message":"I hope nothing will break :) but I can at least create a test neutron patch depending on this [0]. I did start working on a neutron patch to cleanup tenand_id and it gets big fast, but will probably post something to get that process started.\n\n[0] https://review.opendev.org/c/openstack/neutron/+/936845","commit_id":"fd8add9a7db37b3778556590a022d7695cedc743"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"15449a1929be4d669a8f3b13486bd71bf47a2b3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9d8f834f_46647151","updated":"2024-12-09 17:37:00.000000000","message":"recheck unrelated functional failure","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b9fc340fb2bf6f3ad4177a6e8723f60a507870cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b1beab12_82ac88c5","updated":"2024-12-10 21:44:37.000000000","message":"recheck unrelated test failure","commit_id":"0a014d6f561205a3def5450b20fad53f18b5ae61"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"2017f219b2961293a87c50ccfbb0ee933e9b6ac6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"307d4ca7_9073b5a3","updated":"2024-12-16 13:46:00.000000000","message":"recheck - yet another issue with Ubuntu mirros","commit_id":"b74448e1ae5e49449759fe08a5b1f799c1947d04"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"0dd39e9826d44ecee50ea01c73919c48761eb59f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"25eb1d9c_1d1400ce","updated":"2024-12-15 19:16:28.000000000","message":"recheck customize_ubuntu_image failure","commit_id":"b74448e1ae5e49449759fe08a5b1f799c1947d04"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a5646bdacb875b84423a89ba9d56197394c711d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"403f2f59_af23f565","updated":"2024-12-14 23:43:14.000000000","message":"recheck customize_ubuntu_image failure","commit_id":"b74448e1ae5e49449759fe08a5b1f799c1947d04"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"b326cd86877ec5cea0c0b75b6a7f9e95286cbf29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e691ab18_e9b790d6","updated":"2024-12-16 01:24:54.000000000","message":"recheck functional","commit_id":"b74448e1ae5e49449759fe08a5b1f799c1947d04"}],"neutron_lib/context.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ab47d27a05ccc8a846214d5b493d6bc62e196b5c","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __init__(self, user_id\u003dNone, tenant_id\u003dNone, is_admin\u003dNone,"},{"line_number":37,"context_line":"                 timestamp\u003dNone, tenant_name\u003dNone, user_name\u003dNone,"},{"line_number":38,"context_line":"                 is_advsvc\u003dNone, project_id\u003dNone, project_name\u003dNone,"},{"line_number":39,"context_line":"                 **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"93768841_1db36b86","line":36,"range":{"start_line":36,"start_character":37,"end_line":36,"end_character":46},"updated":"2024-11-20 16:02:07.000000000","message":"I actually wonder if we could just change this to project_id since that would cover all the places not using the keyword. Then we would just need to add project_name as there are places that use the tenant_name keyword.","commit_id":"9a290e2f5a1c025cde8017ffecbb370c6f850af6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"4fb1a3af1194292c5c8b7d768c86d796af4882bb","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def __init__(self, user_id\u003dNone, tenant_id\u003dNone, is_admin\u003dNone,"},{"line_number":37,"context_line":"                 timestamp\u003dNone, tenant_name\u003dNone, user_name\u003dNone,"},{"line_number":38,"context_line":"                 is_advsvc\u003dNone, project_id\u003dNone, project_name\u003dNone,"},{"line_number":39,"context_line":"                 **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"cca3e9d1_140ccdc6","line":36,"range":{"start_line":36,"start_character":37,"end_line":36,"end_character":46},"in_reply_to":"93768841_1db36b86","updated":"2024-11-20 23:22:18.000000000","message":"Done","commit_id":"9a290e2f5a1c025cde8017ffecbb370c6f850af6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"13f2005a3b9da1ab1b43263a53a8ab40c99348fa","unresolved":true,"context_lines":[{"line_number":45,"context_line":"        # are blank - which should be removed when all callers are changed"},{"line_number":46,"context_line":"        # to use project_*."},{"line_number":47,"context_line":"        project_id \u003d project_id or tenant_id"},{"line_number":48,"context_line":"        project_name \u003d project_name or tenant_name"},{"line_number":49,"context_line":"        kwargs.setdefault(\u0027project_id\u0027, project_id)"},{"line_number":50,"context_line":"        kwargs.setdefault(\u0027project_name\u0027, project_name)"},{"line_number":51,"context_line":"        super().__init__("}],"source_content_type":"text/x-python","patch_set":3,"id":"e0b43abe_9785e0fa","line":48,"updated":"2024-12-06 23:02:45.000000000","message":"Maybe we should add a LOG.warning to here if tenant_id or tenant_name is used? To get callers to change.","commit_id":"fd8add9a7db37b3778556590a022d7695cedc743"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c7c0c425ef4da42feb8f539eaebbe16fdc5dfa88","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        # are blank - which should be removed when all callers are changed"},{"line_number":46,"context_line":"        # to use project_*."},{"line_number":47,"context_line":"        project_id \u003d project_id or tenant_id"},{"line_number":48,"context_line":"        project_name \u003d project_name or tenant_name"},{"line_number":49,"context_line":"        kwargs.setdefault(\u0027project_id\u0027, project_id)"},{"line_number":50,"context_line":"        kwargs.setdefault(\u0027project_name\u0027, project_name)"},{"line_number":51,"context_line":"        super().__init__("}],"source_content_type":"text/x-python","patch_set":3,"id":"f3fade79_9ac08183","line":48,"in_reply_to":"e0b43abe_9785e0fa","updated":"2024-12-06 23:05:54.000000000","message":"Done","commit_id":"fd8add9a7db37b3778556590a022d7695cedc743"}],"neutron_lib/exceptions/l3_ext_ha_mode.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1f8b4e91465d43583b865f744e70cbc943620393","unresolved":true,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1c01d168_17390293","line":30,"updated":"2024-12-10 18:08:02.000000000","message":"do we really need new exception class for this? Can\u0027t you just change what is in HANetworkConcurrentDeletion? I would be ok with this but the new name is kind of not accurate IMHO and if we will start using it, it will be later hard to get back to the old name which IMO is better.","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"c93ad3d9ae055e8a6e35980862efd1c0ea75ca4f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9e7eb079_4da2a6a9","line":30,"in_reply_to":"1c01d168_17390293","updated":"2024-12-10 18:27:34.000000000","message":"Done","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"f03e2af1cc13c2801c76e5d11cf10a677a1e6a77","unresolved":true,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e3c594fa_0ceb5b2b","line":30,"in_reply_to":"4d01d3de_7858e3ae","updated":"2024-12-11 08:11:43.000000000","message":"no, my comment was about this HANetworkConcurrentDeletion exception. It requires \"tenant_id\" in the kwargs for the __init__() method and I proposed above how you can keep original name of the exception class and use \"project_id\" instead of \"tenant_id\" in the message of the exception. I hope it is clear for you now 😊","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2efd571a6fb5624e27cd76730e7596ae43da1e83","unresolved":true,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"4d01d3de_7858e3ae","line":30,"in_reply_to":"925f0b6d_171b2921","updated":"2024-12-10 19:51:37.000000000","message":"I\u0027m guessing this belongs in the other file?\n\nAnyways, I did think if just using kwargs like you mention, the only problem is that in neutron there are callers passing things as positional arguments, like Context(\u0027userid\u0027, \u0027tenantid\u0027, ...) so I had to keep them in the same order. Does that answer your question?","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"fa11fcd402047cc30a33458706a3db2dfed41421","unresolved":true,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"925f0b6d_171b2921","line":30,"in_reply_to":"9e7eb079_4da2a6a9","updated":"2024-12-10 18:50:07.000000000","message":"sorry for being nit picker here but I was thinking more about some kind of implementation of the __init__ method here to handle both project_id and tenant_id arguments, maybe something like (written from the top of my head, not tested anywhere):\n\n    def __init__(self, **kwargs):\n        project_id \u003d kwargs.get(\u0027project_id\u0027)\n        tenant_id \u003d kwargs.get(\u0027tenant_id\u0027)\n        if tenant_id:\n            LOG.warning(\u0027Keyword tenant_id has been deprecated, use \u0027\n                        \u0027project_id instead\u0027)\n        kwargs.setdefault(\u0027project_id\u0027, project_id)\n        super().__init__(**kwargs)","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e578dd5b7de88fde5051e61231dcf07f4d6bdaa4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1fba9af3_5f370e80","line":30,"in_reply_to":"c0f4e82a_d60c5041","updated":"2024-12-14 21:44:19.000000000","message":"Done","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8229c592aba300b9b82c760b05eb7b17da0e3cb8","unresolved":true,"context_lines":[{"line_number":27,"context_line":"                \"of HA Routers per tenant is 254.\")"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class HANetworkConcurrentDeletionProject(exceptions.Conflict):"},{"line_number":31,"context_line":"    message \u003d _(\"Network for project %(project_id)s concurrently deleted.\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"c0f4e82a_d60c5041","line":30,"in_reply_to":"e3c594fa_0ceb5b2b","updated":"2024-12-11 08:24:12.000000000","message":"To make it clear, I just checked that it works as I though and here is patch with my proposal https://paste.opendev.org/show/bNUVUHsHSHZAY0EyEOxp/\nand simple script which I used to test that this works fine: https://paste.opendev.org/show/bXMEwOz465autptSvYDh/ - when you run this script with my patch you will have something like:\n\n    $ .tox/py3/bin/python3 /tmp/test.py\n    Raised: Network for project test project concurrently deleted.\n    Keyword tenant_id has been deprecated, use project_id instead\n    Raised: Network for project test tenant concurrently deleted.","commit_id":"8ec5b7810f4a860be5f19f7e36f6c12b6519cc5b"}]}
