)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"aefc451153fa8e0fd747b879024f774d67e48879","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"32fa3b8f_ddeae7e9","updated":"2025-03-27 18:20:44.000000000","message":"recheck unrelated volume failure in tempest","commit_id":"6cfb9dedd62ede3feb3fb8b5348b50b669ad4be3"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c95fed9f7961523d9cc11bf88a571b510ca5f93f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"faacacd5_3f81582b","updated":"2025-06-04 16:29:16.000000000","message":"I am ok to fix these in followup as nothing it breaks if it is merged before followup.","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b2dc28d888aaa8e198f46d4a4a0f6c12f7f31115","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4fc0cf31_a851035d","updated":"2025-05-30 00:28:56.000000000","message":"Its a lot of refactoring but worth to do and makes code easy to read. my -1 is to fix the expected_error() min_version.","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"17484659651ddb502611fd69efac365a5ad980f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"26569334_a9b10308","updated":"2025-06-05 10:12:27.000000000","message":"recheck","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"249b0d62daac9ff84576d12bd282fc4d57b0679d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4c3bfc02_63b0cb57","updated":"2025-06-04 21:42:08.000000000","message":"recheck cinder upgrade failing which is not related to this","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"521159dd081d22796bec23aa1375a6ca82e80599","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"00b392ae_2c506136","updated":"2025-06-05 16:29:28.000000000","message":"recheck timeout","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"}],"nova/api/openstack/compute/hypervisors.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":true,"context_lines":[{"line_number":241,"context_line":"        limit \u003d None"},{"line_number":242,"context_line":"        marker \u003d None"},{"line_number":243,"context_line":"        links \u003d False"},{"line_number":244,"context_line":"        if api_version_request.is_supported(req, \u00272.33\u0027):"},{"line_number":245,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":246,"context_line":"            links \u003d True"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"8a00d666_6346bff3","line":244,"range":{"start_line":244,"start_character":11,"end_line":244,"end_character":57},"updated":"2025-01-28 17:04:41.000000000","message":"this is implictly callign a keyword argument as a postional which is a code smell\n\n\n        if not api_version_request.is_supported(req, min_version\u003d\"2.21\"):\n        \n        https://github.com/openstack/nova/blob/master/nova/api/openstack/api_version_request.py#L300\n        \nim in two minds.\nthis is an issue introduced in this patch but its one that could be fixed in a follow-up","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7b03453e702c238e64d7f6249f2babd8a06124b","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        limit \u003d None"},{"line_number":242,"context_line":"        marker \u003d None"},{"line_number":243,"context_line":"        links \u003d False"},{"line_number":244,"context_line":"        if api_version_request.is_supported(req, \u00272.33\u0027):"},{"line_number":245,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":246,"context_line":"            links \u003d True"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"98e8b995_7377febc","line":244,"range":{"start_line":244,"start_character":11,"end_line":244,"end_character":57},"in_reply_to":"8a00d666_6346bff3","updated":"2025-01-28 17:39:14.000000000","message":"We discussed this offline, but this is done in quite a few places. I\u0027ll submit a follow-up shortly to address this.","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9b460397d91a83d0d6e001d7970ba28ba386ab30","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        limit \u003d None"},{"line_number":242,"context_line":"        marker \u003d None"},{"line_number":243,"context_line":"        links \u003d False"},{"line_number":244,"context_line":"        if api_version_request.is_supported(req, \u00272.33\u0027):"},{"line_number":245,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":246,"context_line":"            links \u003d True"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"89432d1a_57ed1486","line":244,"range":{"start_line":244,"start_character":11,"end_line":244,"end_character":57},"in_reply_to":"98e8b995_7377febc","updated":"2025-01-28 17:41:28.000000000","message":"ack ill upgrade to +2 this is also incorrect in exsing code not modifed by this serise so ill treat it as a latent issue.","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":false,"context_lines":[{"line_number":245,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":246,"context_line":"            links \u003d True"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        return self._index(req, limit\u003dlimit, marker\u003dmarker, links\u003dlinks)"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"    def _index(self, req, limit\u003dNone, marker\u003dNone, links\u003dFalse):"},{"line_number":251,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"c43d6484_678221ab","line":248,"updated":"2025-01-28 17:04:41.000000000","message":"ok I see how this works.\nwe are no longer defining the same function multiple times with different decorators\n\nit also seems like the overall effect on the code is to reduce the code length.\nthe micoversion handling is equally explicit and the code is perhaps slightly simpler to read.\n\nas a result i agree this new pattehr is an improment beyond the benifit to the schema support.","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":false,"context_lines":[{"line_number":262,"context_line":"    def detail(self, req):"},{"line_number":263,"context_line":"        \"\"\"List hypervisors with extra details."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        Starting with the 2.53 microversion, the id field in the response"},{"line_number":266,"context_line":"        is the compute_nodes.uuid value. Also, the search and servers routes"},{"line_number":267,"context_line":"        are superseded and replaced with query parameters for listing"},{"line_number":268,"context_line":"        hypervisors by a hostname pattern and whether or not to include"}],"source_content_type":"text/x-python","patch_set":4,"id":"4cd6ad9e_6af35f11","line":265,"updated":"2025-01-28 17:04:41.000000000","message":"ok yes 2.53 change the respocne form between id and uuid but 2.33 is what adds paginagion so that why we dont need to check for 2.53\n\nthat is Handel else where.","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":true,"context_lines":[{"line_number":271,"context_line":"        limit \u003d None"},{"line_number":272,"context_line":"        marker \u003d None"},{"line_number":273,"context_line":"        links \u003d False"},{"line_number":274,"context_line":"        if api_version_request.is_supported(req, \u00272.33\u0027):"},{"line_number":275,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":276,"context_line":"            links \u003d True"},{"line_number":277,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"921d8340_483e9f75","line":274,"range":{"start_line":274,"start_character":0,"end_line":274,"end_character":2},"updated":"2025-01-28 17:04:41.000000000","message":"same here and below","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7b03453e702c238e64d7f6249f2babd8a06124b","unresolved":false,"context_lines":[{"line_number":271,"context_line":"        limit \u003d None"},{"line_number":272,"context_line":"        marker \u003d None"},{"line_number":273,"context_line":"        links \u003d False"},{"line_number":274,"context_line":"        if api_version_request.is_supported(req, \u00272.33\u0027):"},{"line_number":275,"context_line":"            limit, marker \u003d common.get_limit_and_marker(req)"},{"line_number":276,"context_line":"            links \u003d True"},{"line_number":277,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fef7e8d4_e935025a","line":274,"range":{"start_line":274,"start_character":0,"end_line":274,"end_character":2},"in_reply_to":"921d8340_483e9f75","updated":"2025-01-28 17:39:14.000000000","message":"Acknowledged","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":false,"context_lines":[{"line_number":308,"context_line":"                raise webob.exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    @wsgi.expected_errors(404, \u00272.1\u0027, \u00272.52\u0027)"},{"line_number":311,"context_line":"    @wsgi.expected_errors((400, 404), \u00272.53\u0027)"},{"line_number":312,"context_line":"    @validation.query_schema(schema.show_query, \u00272.1\u0027, \u00272.52\u0027)"},{"line_number":313,"context_line":"    @validation.query_schema(schema.show_query_v253, \u00272.53\u0027)"},{"line_number":314,"context_line":"    def show(self, req, id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1770e873_b3d8bba2","line":311,"updated":"2025-01-28 17:04:41.000000000","message":"it is nice to call out the errors per version too on one funciton.\nits a littel eaiser ot see the bahivor IMO","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":true,"context_lines":[{"line_number":321,"context_line":"        to include a list of servers on the given hypervisor if requested."},{"line_number":322,"context_line":"        \"\"\""},{"line_number":323,"context_line":"        with_servers \u003d False"},{"line_number":324,"context_line":"        if api_version_request.is_supported(req, \u00272.53\u0027):"},{"line_number":325,"context_line":"            with_servers \u003d strutils.bool_from_string("},{"line_number":326,"context_line":"                req.GET.get(\u0027with_servers\u0027, False), strict\u003dTrue)"},{"line_number":327,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"62d2288e_a0cf9cc6","line":324,"range":{"start_line":324,"start_character":0,"end_line":324,"end_character":2},"updated":"2025-01-28 17:04:41.000000000","message":"here","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7b03453e702c238e64d7f6249f2babd8a06124b","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        to include a list of servers on the given hypervisor if requested."},{"line_number":322,"context_line":"        \"\"\""},{"line_number":323,"context_line":"        with_servers \u003d False"},{"line_number":324,"context_line":"        if api_version_request.is_supported(req, \u00272.53\u0027):"},{"line_number":325,"context_line":"            with_servers \u003d strutils.bool_from_string("},{"line_number":326,"context_line":"                req.GET.get(\u0027with_servers\u0027, False), strict\u003dTrue)"},{"line_number":327,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f187a113_1a97c3c3","line":324,"range":{"start_line":324,"start_character":0,"end_line":324,"end_character":2},"in_reply_to":"62d2288e_a0cf9cc6","updated":"2025-01-28 17:39:14.000000000","message":"Acknowledged","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":false,"context_lines":[{"line_number":325,"context_line":"            with_servers \u003d strutils.bool_from_string("},{"line_number":326,"context_line":"                req.GET.get(\u0027with_servers\u0027, False), strict\u003dTrue)"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        return self._show(req, id, with_servers\u003dwith_servers)"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    def _show(self, req, id, with_servers\u003dFalse):"},{"line_number":331,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"f253a732_df65fc8d","line":328,"updated":"2025-01-28 17:04:41.000000000","message":"+1 this looks correct to me","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"}],"nova/api/openstack/compute/instance_actions.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        return event"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def _get_instance(self, req, context, server_id):"},{"line_number":75,"context_line":"        if not api_version_request.is_supported(req, min_version\u003d\"2.21\"):"},{"line_number":76,"context_line":"            return common.get_instance(self.compute_api, context, server_id)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        with utils.temporary_mutation(context, read_deleted\u003d\u0027yes\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f7f01fc_afc4ca23","line":75,"range":{"start_line":75,"start_character":0,"end_line":75,"end_character":2},"updated":"2025-01-28 17:04:41.000000000","message":"this is calling ti correctly","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7b03453e702c238e64d7f6249f2babd8a06124b","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        return event"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def _get_instance(self, req, context, server_id):"},{"line_number":75,"context_line":"        if not api_version_request.is_supported(req, min_version\u003d\"2.21\"):"},{"line_number":76,"context_line":"            return common.get_instance(self.compute_api, context, server_id)"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        with utils.temporary_mutation(context, read_deleted\u003d\u0027yes\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"2ab46946_45db362f","line":75,"range":{"start_line":75,"start_character":0,"end_line":75,"end_character":2},"in_reply_to":"3f7f01fc_afc4ca23","updated":"2025-01-28 17:39:14.000000000","message":"Acknowledged","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":true,"context_lines":[{"line_number":90,"context_line":"        context.can(ia_policies.BASE_POLICY_NAME % \u0027list\u0027,"},{"line_number":91,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        if api_version_request.is_supported(req, \u00272.58\u0027):"},{"line_number":94,"context_line":"            search_opts \u003d {}"},{"line_number":95,"context_line":"            search_opts.update(req.GET)"},{"line_number":96,"context_line":"            if \u0027changes-since\u0027 in search_opts:"}],"source_content_type":"text/x-python","patch_set":4,"id":"3ac51f89_100f7870","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":2},"updated":"2025-01-28 17:04:41.000000000","message":"but this is not","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7b03453e702c238e64d7f6249f2babd8a06124b","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        context.can(ia_policies.BASE_POLICY_NAME % \u0027list\u0027,"},{"line_number":91,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        if api_version_request.is_supported(req, \u00272.58\u0027):"},{"line_number":94,"context_line":"            search_opts \u003d {}"},{"line_number":95,"context_line":"            search_opts.update(req.GET)"},{"line_number":96,"context_line":"            if \u0027changes-since\u0027 in search_opts:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9c5d0fe4_7f893435","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":2},"in_reply_to":"3ac51f89_100f7870","updated":"2025-01-28 17:39:14.000000000","message":"Acknowledged","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"}],"nova/api/openstack/compute/keypairs.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            # handle optional user-id for admin only"},{"line_number":73,"context_line":"            user_id \u003d body[\u0027keypair\u0027].get(\u0027user_id\u0027)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        return self._create(req, body, key_type\u003dkey_type, user_id\u003duser_id)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    def _create(self, req, body, user_id\u003dNone, key_type\u003dFalse):"},{"line_number":78,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"8cd6d742_5e49268d","line":75,"updated":"2025-01-28 17:04:41.000000000","message":"+1","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b2dc28d888aaa8e198f46d4a4a0f6c12f7f31115","unresolved":true,"context_lines":[{"line_number":172,"context_line":"    @validation.query_schema(keypairs.index_query_schema_v235, \u00272.35\u0027, \u00272.74\u0027)"},{"line_number":173,"context_line":"    @validation.query_schema(keypairs.index_query_schema_v275, \u00272.75\u0027)"},{"line_number":174,"context_line":"    @wsgi.expected_errors((), \u00272.0\u0027, \u00272.9\u0027)"},{"line_number":175,"context_line":"    @wsgi.expected_errors(400, \u00272.10\u0027)"},{"line_number":176,"context_line":"    def index(self, req):"},{"line_number":177,"context_line":"        key_type \u003d False"},{"line_number":178,"context_line":"        if api_version_request.is_supported(req, \u00272.2\u0027):"}],"source_content_type":"text/x-python","patch_set":8,"id":"267d2422_8bb5f775","line":175,"range":{"start_line":175,"start_character":31,"end_line":175,"end_character":37},"updated":"2025-05-30 00:28:56.000000000","message":"this is from \u00272.35\u0027 onwards. 2.10 controller has empty error list.","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d57622b525667884fcac16b106c963dc58b45a0","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    @validation.query_schema(keypairs.index_query_schema_v235, \u00272.35\u0027, \u00272.74\u0027)"},{"line_number":173,"context_line":"    @validation.query_schema(keypairs.index_query_schema_v275, \u00272.75\u0027)"},{"line_number":174,"context_line":"    @wsgi.expected_errors((), \u00272.0\u0027, \u00272.9\u0027)"},{"line_number":175,"context_line":"    @wsgi.expected_errors(400, \u00272.10\u0027)"},{"line_number":176,"context_line":"    def index(self, req):"},{"line_number":177,"context_line":"        key_type \u003d False"},{"line_number":178,"context_line":"        if api_version_request.is_supported(req, \u00272.2\u0027):"}],"source_content_type":"text/x-python","patch_set":8,"id":"12b5e4c0_5bbbcc7d","line":175,"range":{"start_line":175,"start_character":31,"end_line":175,"end_character":37},"in_reply_to":"267d2422_8bb5f775","updated":"2025-06-03 10:57:33.000000000","message":"Good catch. Fixed [here](https://review.opendev.org/c/openstack/nova/+/951640/).","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"}],"nova/api/openstack/compute/quota_classes.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1e6d62500652df3d5cf02c3225e91124773f6db3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        elif api_version_request.is_supported(req, \u00272.50\u0027):"},{"line_number":84,"context_line":"            return FILTERED_QUOTAS_2_50"},{"line_number":85,"context_line":"        else:"},{"line_number":86,"context_line":"            return []"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    @wsgi.expected_errors(())"},{"line_number":89,"context_line":"    @validation.query_schema(quota_classes.show_query)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ca926059_5fc45c95","line":86,"updated":"2025-01-28 17:04:41.000000000","message":"ah you pulled this out to reduse it in update and show \nok, works for me","commit_id":"2628684fb88cdaeac023775b998090b97015a2fb"}],"nova/api/openstack/compute/quota_sets.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b2dc28d888aaa8e198f46d4a4a0f6c12f7f31115","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        else:"},{"line_number":111,"context_line":"            return []"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027)"},{"line_number":114,"context_line":"    @wsgi.expected_errors(400)"},{"line_number":115,"context_line":"    @validation.query_schema(quota_sets.show_query, \u00272.0\u0027, \u00272.74\u0027)"},{"line_number":116,"context_line":"    @validation.query_schema(quota_sets.show_query_v275, \u00272.75\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3572fc60_4c122c70","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":39},"updated":"2025-05-30 00:28:56.000000000","message":"any specific reason you are keeping it?","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"12a3a21947b27801543790c57755844f9e0ebf42","unresolved":true,"context_lines":[{"line_number":110,"context_line":"        else:"},{"line_number":111,"context_line":"            return []"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027)"},{"line_number":114,"context_line":"    @wsgi.expected_errors(400)"},{"line_number":115,"context_line":"    @validation.query_schema(quota_sets.show_query, \u00272.0\u0027, \u00272.74\u0027)"},{"line_number":116,"context_line":"    @validation.query_schema(quota_sets.show_query_v275, \u00272.75\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"69c46f0a_858d4591","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":39},"in_reply_to":"3572fc60_4c122c70","updated":"2025-06-03 10:31:32.000000000","message":"I had assumed this would prevent the API working on API 2.0 (i.e. no microversions) and that that was expected. Is that not the case?","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c95fed9f7961523d9cc11bf88a571b510ca5f93f","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        else:"},{"line_number":111,"context_line":"            return []"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027)"},{"line_number":114,"context_line":"    @wsgi.expected_errors(400)"},{"line_number":115,"context_line":"    @validation.query_schema(quota_sets.show_query, \u00272.0\u0027, \u00272.74\u0027)"},{"line_number":116,"context_line":"    @validation.query_schema(quota_sets.show_query_v275, \u00272.75\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"855be2c3_08049b1b","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":39},"in_reply_to":"5ebf2271_7bc7abfb","updated":"2025-06-04 16:29:16.000000000","message":"thanks. for v2.0, it come from LegacyV2CompatibleWrapper and it deletet the api version if passed and router use default version (2.1). That is why all 2.1 version controller method are used for v2.0 also.","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d57622b525667884fcac16b106c963dc58b45a0","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        else:"},{"line_number":111,"context_line":"            return []"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027)"},{"line_number":114,"context_line":"    @wsgi.expected_errors(400)"},{"line_number":115,"context_line":"    @validation.query_schema(quota_sets.show_query, \u00272.0\u0027, \u00272.74\u0027)"},{"line_number":116,"context_line":"    @validation.query_schema(quota_sets.show_query_v275, \u00272.75\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5ebf2271_7bc7abfb","line":113,"range":{"start_line":113,"start_character":0,"end_line":113,"end_character":39},"in_reply_to":"69c46f0a_858d4591","updated":"2025-06-03 10:57:33.000000000","message":"Fixed [here](https://review.opendev.org/c/openstack/nova/+/951640/), though we should confirm that this is harmless to remove.","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b2dc28d888aaa8e198f46d4a4a0f6c12f7f31115","unresolved":true,"context_lines":[{"line_number":147,"context_line":"            id,"},{"line_number":148,"context_line":"            self._get_quotas(context, id, user_id\u003duser_id, usages\u003dTrue),"},{"line_number":149,"context_line":"            filtered_quotas\u003dfiltered_quotas)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027)"},{"line_number":152,"context_line":"    @wsgi.expected_errors(400)"},{"line_number":153,"context_line":"    @validation.schema(quota_sets.update, \u00272.0\u0027, \u00272.35\u0027)"},{"line_number":154,"context_line":"    @validation.schema(quota_sets.update_v236, \u00272.36\u0027, \u00272.56\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"0229af5c_819c7ff8","line":151,"range":{"start_line":150,"start_character":0,"end_line":151,"end_character":39},"updated":"2025-05-30 00:28:56.000000000","message":"ditto","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"12a3a21947b27801543790c57755844f9e0ebf42","unresolved":false,"context_lines":[{"line_number":147,"context_line":"            id,"},{"line_number":148,"context_line":"            self._get_quotas(context, id, user_id\u003duser_id, usages\u003dTrue),"},{"line_number":149,"context_line":"            filtered_quotas\u003dfiltered_quotas)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027)"},{"line_number":152,"context_line":"    @wsgi.expected_errors(400)"},{"line_number":153,"context_line":"    @validation.schema(quota_sets.update, \u00272.0\u0027, \u00272.35\u0027)"},{"line_number":154,"context_line":"    @validation.schema(quota_sets.update_v236, \u00272.36\u0027, \u00272.56\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"2081dad6_54dd0302","line":151,"range":{"start_line":150,"start_character":0,"end_line":151,"end_character":39},"in_reply_to":"0229af5c_819c7ff8","updated":"2025-06-03 10:31:32.000000000","message":"As above. (I\u0027ll resolved both the same way if these shouldn\u0027t be here)","commit_id":"d73a0861f881a2a88064c93cbd2313ca5cb447ea"}]}
