)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ceecb9681d91e3d7ec6ffe2e158f37be78bcc7ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ec581e4f_06c7f0ae","updated":"2026-09-10 11:40:45.000000000","message":"Looking at the changes made in comments it looks like those are modified by AI, if any external model is used for code generation, mention it in the commit message using Assisted-By tag. Ignore if not.","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"ee511c2d5803d7fe0cc2be6a0bb4625472179bf7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"be16a2cc_9efb6099","updated":"2026-09-10 14:03:33.000000000","message":"Thanks for the review Abhishek! I addressed your review comments kindly have a look again . Thank you !","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"}],"glance_store/_drivers/cinder/store.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"aacdd1d08fab3e86d759d3a871a229237055e686","unresolved":true,"context_lines":[{"line_number":752,"context_line":"    def _cinder_endpoint_from_template(self, context):"},{"line_number":753,"context_line":"        \"\"\"Resolve cinder_endpoint_template to an explicit Cinder URL.\"\"\""},{"line_number":754,"context_line":"        template \u003d self.store_conf.cinder_endpoint_template"},{"line_number":755,"context_line":"        if not template:"},{"line_number":756,"context_line":"            return None"},{"line_number":757,"context_line":"        if context is not None:"},{"line_number":758,"context_line":"            return template % context.to_dict()"},{"line_number":759,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"230955ad_df265b4f","line":756,"range":{"start_line":755,"start_character":8,"end_line":756,"end_character":23},"updated":"2026-09-10 11:39:38.000000000","message":"I think this will never be true because of line #782","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"ee511c2d5803d7fe0cc2be6a0bb4625472179bf7","unresolved":false,"context_lines":[{"line_number":752,"context_line":"    def _cinder_endpoint_from_template(self, context):"},{"line_number":753,"context_line":"        \"\"\"Resolve cinder_endpoint_template to an explicit Cinder URL.\"\"\""},{"line_number":754,"context_line":"        template \u003d self.store_conf.cinder_endpoint_template"},{"line_number":755,"context_line":"        if not template:"},{"line_number":756,"context_line":"            return None"},{"line_number":757,"context_line":"        if context is not None:"},{"line_number":758,"context_line":"            return template % context.to_dict()"},{"line_number":759,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bbdd5a86_bd9acfbf","line":756,"range":{"start_line":755,"start_character":8,"end_line":756,"end_character":23},"in_reply_to":"230955ad_df265b4f","updated":"2026-09-10 14:03:33.000000000","message":"Done","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"aacdd1d08fab3e86d759d3a871a229237055e686","unresolved":true,"context_lines":[{"line_number":755,"context_line":"        if not template:"},{"line_number":756,"context_line":"            return None"},{"line_number":757,"context_line":"        if context is not None:"},{"line_number":758,"context_line":"            return template % context.to_dict()"},{"line_number":759,"context_line":"        try:"},{"line_number":760,"context_line":"            return template % {}"},{"line_number":761,"context_line":"        except (KeyError, TypeError, ValueError):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bd71cf2f_0740d932","line":758,"range":{"start_line":758,"start_character":12,"end_line":758,"end_character":47},"updated":"2026-09-10 11:39:38.000000000","message":"is there possiblity that context does not have info which is needed by template and it will raise KeyError. If yes then better to do it like;\n```\ntry:\n    if context is not None:\n        return template % context.to_dict()\n    else:\n        return template % {}\nexcept (KeyError, TypeError, ValueError):\n    LOG.warning(_LW(\n        \"Unable to format template; falling back to catalog lookup.\"))\n    return None\n```","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"ee511c2d5803d7fe0cc2be6a0bb4625472179bf7","unresolved":false,"context_lines":[{"line_number":755,"context_line":"        if not template:"},{"line_number":756,"context_line":"            return None"},{"line_number":757,"context_line":"        if context is not None:"},{"line_number":758,"context_line":"            return template % context.to_dict()"},{"line_number":759,"context_line":"        try:"},{"line_number":760,"context_line":"            return template % {}"},{"line_number":761,"context_line":"        except (KeyError, TypeError, ValueError):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ce208bb_c52f9f6b","line":758,"range":{"start_line":758,"start_character":12,"end_line":758,"end_character":47},"in_reply_to":"bd71cf2f_0740d932","updated":"2026-09-10 14:03:33.000000000","message":"Done","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"aacdd1d08fab3e86d759d3a871a229237055e686","unresolved":true,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        api_version \u003d api_versions.APIVersion(version)"},{"line_number":802,"context_line":"        extra \u003d {}"},{"line_number":803,"context_line":"        if user_overriden:"},{"line_number":804,"context_line":"            os_endpoint \u003d self._cinder_endpoint_from_template(context)"},{"line_number":805,"context_line":"            if os_endpoint:"},{"line_number":806,"context_line":"                url \u003d os_endpoint"}],"source_content_type":"text/x-python","patch_set":1,"id":"d89fb679_23b413d7","line":803,"range":{"start_line":803,"start_character":8,"end_line":803,"end_character":26},"updated":"2026-09-10 11:39:38.000000000","message":"why not do this all inside if condition at line 771?","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"ee511c2d5803d7fe0cc2be6a0bb4625472179bf7","unresolved":false,"context_lines":[{"line_number":800,"context_line":""},{"line_number":801,"context_line":"        api_version \u003d api_versions.APIVersion(version)"},{"line_number":802,"context_line":"        extra \u003d {}"},{"line_number":803,"context_line":"        if user_overriden:"},{"line_number":804,"context_line":"            os_endpoint \u003d self._cinder_endpoint_from_template(context)"},{"line_number":805,"context_line":"            if os_endpoint:"},{"line_number":806,"context_line":"                url \u003d os_endpoint"}],"source_content_type":"text/x-python","patch_set":1,"id":"f29b8387_ade83935","line":803,"range":{"start_line":803,"start_character":8,"end_line":803,"end_character":26},"in_reply_to":"d89fb679_23b413d7","updated":"2026-09-10 14:03:33.000000000","message":"Done","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"aacdd1d08fab3e86d759d3a871a229237055e686","unresolved":true,"context_lines":[{"line_number":803,"context_line":"        if user_overriden:"},{"line_number":804,"context_line":"            os_endpoint \u003d self._cinder_endpoint_from_template(context)"},{"line_number":805,"context_line":"            if os_endpoint:"},{"line_number":806,"context_line":"                url \u003d os_endpoint"},{"line_number":807,"context_line":"                extra[\u0027os_endpoint\u0027] \u003d os_endpoint"},{"line_number":808,"context_line":"            else:"},{"line_number":809,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"}],"source_content_type":"text/x-python","patch_set":1,"id":"14966dee_97efb25f","line":806,"range":{"start_line":806,"start_character":16,"end_line":806,"end_character":33},"updated":"2026-09-10 11:39:38.000000000","message":"why is this needed, because it is used in debug log at line 818? You can rename variable os_endpint to url itself.","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7c8c15e5237dd0f7bd09b4d5e3e129ce134d5096","unresolved":false,"context_lines":[{"line_number":803,"context_line":"        if user_overriden:"},{"line_number":804,"context_line":"            os_endpoint \u003d self._cinder_endpoint_from_template(context)"},{"line_number":805,"context_line":"            if os_endpoint:"},{"line_number":806,"context_line":"                url \u003d os_endpoint"},{"line_number":807,"context_line":"                extra[\u0027os_endpoint\u0027] \u003d os_endpoint"},{"line_number":808,"context_line":"            else:"},{"line_number":809,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"}],"source_content_type":"text/x-python","patch_set":1,"id":"8f5b4ca8_22b2c3a1","line":806,"range":{"start_line":806,"start_character":16,"end_line":806,"end_character":33},"in_reply_to":"07a027b2_ff793a6c","updated":"2026-09-15 11:04:39.000000000","message":"Done","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"ee511c2d5803d7fe0cc2be6a0bb4625472179bf7","unresolved":true,"context_lines":[{"line_number":803,"context_line":"        if user_overriden:"},{"line_number":804,"context_line":"            os_endpoint \u003d self._cinder_endpoint_from_template(context)"},{"line_number":805,"context_line":"            if os_endpoint:"},{"line_number":806,"context_line":"                url \u003d os_endpoint"},{"line_number":807,"context_line":"                extra[\u0027os_endpoint\u0027] \u003d os_endpoint"},{"line_number":808,"context_line":"            else:"},{"line_number":809,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"}],"source_content_type":"text/x-python","patch_set":1,"id":"07a027b2_ff793a6c","line":806,"range":{"start_line":806,"start_character":16,"end_line":806,"end_character":33},"in_reply_to":"14966dee_97efb25f","updated":"2026-09-10 14:03:33.000000000","message":"Yes. Dropped the extra variable and pass url through as os_endpoint.","commit_id":"3a2a6b151d4e0c0fb8fb10e1ff4e32caa57f6af9"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6ab47c6aecf97488e7e28425c7711c60ba25830","unresolved":true,"context_lines":[{"line_number":776,"context_line":"                if url:"},{"line_number":777,"context_line":"                    extra[\u0027os_endpoint\u0027] \u003d url"},{"line_number":778,"context_line":"                else:"},{"line_number":779,"context_line":"                    url \u003d self.store_conf.cinder_store_auth_address"},{"line_number":780,"context_line":"                    extra.update(self._cinderclient_catalog_kwargs())"},{"line_number":781,"context_line":"            else:"},{"line_number":782,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"}],"source_content_type":"text/x-python","patch_set":2,"id":"3c1a9284_b2b9494a","line":779,"range":{"start_line":779,"start_character":20,"end_line":779,"end_character":67},"updated":"2026-09-10 14:20:42.000000000","message":"You already have this at line 771 right?","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7c8c15e5237dd0f7bd09b4d5e3e129ce134d5096","unresolved":false,"context_lines":[{"line_number":776,"context_line":"                if url:"},{"line_number":777,"context_line":"                    extra[\u0027os_endpoint\u0027] \u003d url"},{"line_number":778,"context_line":"                else:"},{"line_number":779,"context_line":"                    url \u003d self.store_conf.cinder_store_auth_address"},{"line_number":780,"context_line":"                    extra.update(self._cinderclient_catalog_kwargs())"},{"line_number":781,"context_line":"            else:"},{"line_number":782,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"}],"source_content_type":"text/x-python","patch_set":2,"id":"cbf462e1_a69c909e","line":779,"range":{"start_line":779,"start_character":20,"end_line":779,"end_character":67},"in_reply_to":"3c1a9284_b2b9494a","updated":"2026-09-15 11:04:39.000000000","message":"Done","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"883bd87d16c21de7d4423d2d939d874ad2c2f0e2","unresolved":true,"context_lines":[{"line_number":779,"context_line":"                    url \u003d self.store_conf.cinder_store_auth_address"},{"line_number":780,"context_line":"                    extra.update(self._cinderclient_catalog_kwargs())"},{"line_number":781,"context_line":"            else:"},{"line_number":782,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"},{"line_number":783,"context_line":"        else:"},{"line_number":784,"context_line":"            username \u003d context.user_id"},{"line_number":785,"context_line":"            project \u003d context.project_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"d763ad0d_7e983df3","line":782,"range":{"start_line":782,"start_character":34,"end_line":782,"end_character":62},"updated":"2026-09-10 16:40:19.000000000","message":"Can\u0027t we always pass these args ? AFAIK ``keystoneauth1.token_endpoint.Token`` just ignores these args and returns the pre-defined url, so passing these options for the else path has no harm.","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7c8c15e5237dd0f7bd09b4d5e3e129ce134d5096","unresolved":false,"context_lines":[{"line_number":779,"context_line":"                    url \u003d self.store_conf.cinder_store_auth_address"},{"line_number":780,"context_line":"                    extra.update(self._cinderclient_catalog_kwargs())"},{"line_number":781,"context_line":"            else:"},{"line_number":782,"context_line":"                extra.update(self._cinderclient_catalog_kwargs())"},{"line_number":783,"context_line":"        else:"},{"line_number":784,"context_line":"            username \u003d context.user_id"},{"line_number":785,"context_line":"            project \u003d context.project_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"b7aa6af0_0a36992b","line":782,"range":{"start_line":782,"start_character":34,"end_line":782,"end_character":62},"in_reply_to":"d763ad0d_7e983df3","updated":"2026-09-15 11:04:39.000000000","message":"Done","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6ab47c6aecf97488e7e28425c7711c60ba25830","unresolved":true,"context_lines":[{"line_number":786,"context_line":"            # noauth extracts user_id:project_id from auth_token"},{"line_number":787,"context_line":"            token \u003d context.auth_token or \u0027%s:%s\u0027 % (username, project)"},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"            url \u003d None"},{"line_number":790,"context_line":"            if self.store_conf.cinder_endpoint_template:"},{"line_number":791,"context_line":"                url \u003d self._cinder_endpoint_from_template(context)"},{"line_number":792,"context_line":"            if not url:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ad8e3092_c5be4ae5","line":789,"range":{"start_line":789,"start_character":12,"end_line":789,"end_character":22},"updated":"2026-09-10 14:20:42.000000000","message":"Why is this needed?","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7c8c15e5237dd0f7bd09b4d5e3e129ce134d5096","unresolved":false,"context_lines":[{"line_number":786,"context_line":"            # noauth extracts user_id:project_id from auth_token"},{"line_number":787,"context_line":"            token \u003d context.auth_token or \u0027%s:%s\u0027 % (username, project)"},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"            url \u003d None"},{"line_number":790,"context_line":"            if self.store_conf.cinder_endpoint_template:"},{"line_number":791,"context_line":"                url \u003d self._cinder_endpoint_from_template(context)"},{"line_number":792,"context_line":"            if not url:"}],"source_content_type":"text/x-python","patch_set":2,"id":"16bcb702_b1dde56d","line":789,"range":{"start_line":789,"start_character":12,"end_line":789,"end_character":22},"in_reply_to":"ad8e3092_c5be4ae5","updated":"2026-09-15 11:04:39.000000000","message":"Done","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e6ab47c6aecf97488e7e28425c7711c60ba25830","unresolved":true,"context_lines":[{"line_number":789,"context_line":"            url \u003d None"},{"line_number":790,"context_line":"            if self.store_conf.cinder_endpoint_template:"},{"line_number":791,"context_line":"                url \u003d self._cinder_endpoint_from_template(context)"},{"line_number":792,"context_line":"            if not url:"},{"line_number":793,"context_line":"                info \u003d self.store_conf.cinder_catalog_info"},{"line_number":794,"context_line":"                service_type, service_name, interface \u003d info.split(\u0027:\u0027)"},{"line_number":795,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"48aff2ef_54403c07","line":792,"range":{"start_line":792,"start_character":12,"end_line":792,"end_character":23},"updated":"2026-09-10 14:20:42.000000000","message":"what will happen if reverted it to else:","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"7c8c15e5237dd0f7bd09b4d5e3e129ce134d5096","unresolved":false,"context_lines":[{"line_number":789,"context_line":"            url \u003d None"},{"line_number":790,"context_line":"            if self.store_conf.cinder_endpoint_template:"},{"line_number":791,"context_line":"                url \u003d self._cinder_endpoint_from_template(context)"},{"line_number":792,"context_line":"            if not url:"},{"line_number":793,"context_line":"                info \u003d self.store_conf.cinder_catalog_info"},{"line_number":794,"context_line":"                service_type, service_name, interface \u003d info.split(\u0027:\u0027)"},{"line_number":795,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1a6230_3955ca41","line":792,"range":{"start_line":792,"start_character":12,"end_line":792,"end_character":23},"in_reply_to":"48aff2ef_54403c07","updated":"2026-09-15 11:04:39.000000000","message":"Done","commit_id":"2ea42b1c6338208af0f24067febce3cc1176445e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"7b3faa7a33fa52f7c7284495bf4a8dc41791e33f","unresolved":true,"context_lines":[{"line_number":803,"context_line":"            # noauth extracts user_id:project_id from auth_token"},{"line_number":804,"context_line":"            token \u003d context.auth_token or \u0027%s:%s\u0027 % (username, project)"},{"line_number":805,"context_line":""},{"line_number":806,"context_line":"            if self.store_conf.cinder_endpoint_template:"},{"line_number":807,"context_line":"                url \u003d (self._cinder_endpoint_from_template(context) or"},{"line_number":808,"context_line":"                       self._cinder_url_from_context_catalog(context))"},{"line_number":809,"context_line":"            else:"},{"line_number":810,"context_line":"                url \u003d self._cinder_url_from_context_catalog(context)"},{"line_number":811,"context_line":"            auth \u003d ksa_token_endpoint.Token(endpoint\u003durl, token\u003dtoken)"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"        api_version \u003d api_versions.APIVersion(version)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8d54b9db_9d0edba8","line":810,"range":{"start_line":806,"start_character":0,"end_line":810,"end_character":68},"updated":"2026-09-15 11:08:15.000000000","message":"you can simplify this by;\n```\nurl \u003d self._cinder_url_from_context_catalog(context)\nif self.store_conf.cinder_endpoint_template:\n    url \u003d self._cinder_endpoint_from_template(context)\n```","commit_id":"641e7b11e990f9aefe5f06a8cc9c13d843ffaacf"}]}
