)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"11b0e61128cc429330ce2b60674e7446ec4675df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c6ab1ef9_7f61f805","updated":"2024-05-27 07:35:54.000000000","message":"This also need unit tests coverage. Also we need to document that in case of multi_tenant swift backend we don\u0027t need additional configuration in form of swift conf file.","commit_id":"e3ee4a3557b4301b26f392f7d93e017ed0ffbcb4"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"c5c61d3b1e855de0ba74cc06694fa18e1622678b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"807d2b41_2e737860","in_reply_to":"c6ab1ef9_7f61f805","updated":"2024-06-11 07:46:34.000000000","message":"There is already a note added regarding the same in the doc: https://docs.openstack.org/glance/latest/configuration/configuring.html#configuring-swift-configuration-file","commit_id":"e3ee4a3557b4301b26f392f7d93e017ed0ffbcb4"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a7fe839915a42bd649a3a6f664c38f100391187a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"73a6706d_b7fef5a0","updated":"2024-06-11 14:02:13.000000000","message":"Thanks !","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cd4bc694fed16831274b12a1607f06e2ea724405","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c93d7e9f_6e5c6d3a","updated":"2024-06-11 14:09:56.000000000","message":"Almost there, few suggestions.\nThank you!","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"34c89f9f3e2c86beaeb451104ced507d98fafd1d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"05d98178_aeb2f197","updated":"2024-06-12 03:43:25.000000000","message":"Thank you Abhishek for the review!","commit_id":"cb67bb13edc62c8d2c551b53cb710fc42cf72b02"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"a50b29be902b36c0a8c430b386ee5211054097d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"cc7655e7_1994b26c","updated":"2024-06-27 08:44:10.000000000","message":"LGTM, Thank you!","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"d3f65734a60d760a6b4365538350764a409cb8ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"fee65081_30cdcbea","updated":"2024-07-11 15:40:58.000000000","message":"Reapproving it after discussing it with Abhishek :)","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"729a09de6920fa521e4a71c90f80ce0ee793eb01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"34c9b48f_5f8a2e94","updated":"2024-06-25 09:46:01.000000000","message":"recheck","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"86c661dcec8a83083efa488bd8643ae8761fa72b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f7010b57_34be381f","updated":"2024-06-20 13:09:34.000000000","message":"recheck on multiple timeouts","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cb2f539bcac2ddc2b7ab735f98247bc31c493b78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c17251ca_10f9adac","updated":"2024-06-12 08:53:01.000000000","message":"thank you!","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"}],"glance/api/v2/discovery.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"11b0e61128cc429330ce2b60674e7446ec4675df","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"                stores \u003d {}"},{"line_number":68,"context_line":"                stores[\u0027id\u0027] \u003d backend"},{"line_number":69,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":70,"context_line":"                if description:"},{"line_number":71,"context_line":"                    stores[\u0027description\u0027] \u003d description"},{"line_number":72,"context_line":"                if backend \u003d\u003d CONF.glance_store.default_backend:"}],"source_content_type":"text/x-python","patch_set":1,"id":"acd14b70_9df747e1","line":69,"range":{"start_line":69,"start_character":16,"end_line":69,"end_character":70},"updated":"2024-05-27 07:35:54.000000000","message":"I think here specifically you should check that if backend is swift and if multi_tenant is True and swift_store_config_file is also set then raise 400 error.\n\nHere you are suppressing existing error message and also not providing enough information about what is wrong in configuration for that particular backend.","commit_id":"e3ee4a3557b4301b26f392f7d93e017ed0ffbcb4"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3147b8d11a826a87164fa712fa0745e31f820412","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"                stores \u003d {}"},{"line_number":68,"context_line":"                stores[\u0027id\u0027] \u003d backend"},{"line_number":69,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":70,"context_line":"                if description:"},{"line_number":71,"context_line":"                    stores[\u0027description\u0027] \u003d description"},{"line_number":72,"context_line":"                if backend \u003d\u003d CONF.glance_store.default_backend:"}],"source_content_type":"text/x-python","patch_set":1,"id":"c9fe0100_2848c9ed","line":69,"range":{"start_line":69,"start_character":16,"end_line":69,"end_character":70},"in_reply_to":"23297b53_28974c62","updated":"2024-06-11 14:03:35.000000000","message":"Done","commit_id":"e3ee4a3557b4301b26f392f7d93e017ed0ffbcb4"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"c5c61d3b1e855de0ba74cc06694fa18e1622678b","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"                stores \u003d {}"},{"line_number":68,"context_line":"                stores[\u0027id\u0027] \u003d backend"},{"line_number":69,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":70,"context_line":"                if description:"},{"line_number":71,"context_line":"                    stores[\u0027description\u0027] \u003d description"},{"line_number":72,"context_line":"                if backend \u003d\u003d CONF.glance_store.default_backend:"}],"source_content_type":"text/x-python","patch_set":1,"id":"23297b53_28974c62","line":69,"range":{"start_line":69,"start_character":16,"end_line":69,"end_character":70},"in_reply_to":"acd14b70_9df747e1","updated":"2024-06-11 07:46:34.000000000","message":"Done!\n\nAs per the discussion, adding warning log instead of raising 400 error","commit_id":"e3ee4a3557b4301b26f392f7d93e017ed0ffbcb4"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4e1c66e8f1416d608c9a09301d857f92b780a992","unresolved":true,"context_lines":[{"line_number":71,"context_line":"                conf_file \u003d getattr(CONF, backend).swift_store_config_file"},{"line_number":72,"context_line":"                multitenant \u003d getattr(CONF, backend).swift_store_multi_tenant"},{"line_number":73,"context_line":"            if multitenant and conf_file:"},{"line_number":74,"context_line":"                stores.pop(\u0027id\u0027)"},{"line_number":75,"context_line":"                LOG.warning(_(\"The config options \u0027swift_store_multi_tenant\u0027 \""},{"line_number":76,"context_line":"                              \"and \u0027swift_store_config_file\u0027 are mutually \""},{"line_number":77,"context_line":"                              \"exclusive. If you intend to use multi-tenant \""}],"source_content_type":"text/x-python","patch_set":2,"id":"6fbc4c4e_ecde7056","line":74,"range":{"start_line":74,"start_character":16,"end_line":74,"end_character":32},"updated":"2024-06-11 07:52:25.000000000","message":"You can move this logic before line 69 to avoid pop operation.\n\nAlso if condition of line 73 should be inside if of line 70.\n\nI think you can refactor it to avoid multiple if conditions.","commit_id":"e0c5805fb410419415ab131c298625328560f58f"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"769c90eafc5921253ab098dee0a45dbbd12c0779","unresolved":true,"context_lines":[{"line_number":71,"context_line":"                conf_file \u003d getattr(CONF, backend).swift_store_config_file"},{"line_number":72,"context_line":"                multitenant \u003d getattr(CONF, backend).swift_store_multi_tenant"},{"line_number":73,"context_line":"            if multitenant and conf_file:"},{"line_number":74,"context_line":"                stores.pop(\u0027id\u0027)"},{"line_number":75,"context_line":"                LOG.warning(_(\"The config options \u0027swift_store_multi_tenant\u0027 \""},{"line_number":76,"context_line":"                              \"and \u0027swift_store_config_file\u0027 are mutually \""},{"line_number":77,"context_line":"                              \"exclusive. If you intend to use multi-tenant \""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a43a3bd_3b7b1d58","line":74,"range":{"start_line":74,"start_character":16,"end_line":74,"end_character":32},"in_reply_to":"6fbc4c4e_ecde7056","updated":"2024-06-11 13:32:04.000000000","message":"Ack, but even if store[\u0027id\u0027] \u003d backend is set after this logic it will fail at line #163 while getting store identifier for this store. So either this needs to be popped out or not assign if multitent and conf file are set.","commit_id":"e0c5805fb410419415ab131c298625328560f58f"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3147b8d11a826a87164fa712fa0745e31f820412","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                conf_file \u003d getattr(CONF, backend).swift_store_config_file"},{"line_number":72,"context_line":"                multitenant \u003d getattr(CONF, backend).swift_store_multi_tenant"},{"line_number":73,"context_line":"            if multitenant and conf_file:"},{"line_number":74,"context_line":"                stores.pop(\u0027id\u0027)"},{"line_number":75,"context_line":"                LOG.warning(_(\"The config options \u0027swift_store_multi_tenant\u0027 \""},{"line_number":76,"context_line":"                              \"and \u0027swift_store_config_file\u0027 are mutually \""},{"line_number":77,"context_line":"                              \"exclusive. If you intend to use multi-tenant \""}],"source_content_type":"text/x-python","patch_set":2,"id":"c5341283_0bb87d7c","line":74,"range":{"start_line":74,"start_character":16,"end_line":74,"end_character":32},"in_reply_to":"9a43a3bd_3b7b1d58","updated":"2024-06-11 14:03:35.000000000","message":"Done","commit_id":"e0c5805fb410419415ab131c298625328560f58f"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"98ccc5c06566410b43cb54bc326f30ec1e255831","unresolved":true,"context_lines":[{"line_number":77,"context_line":"                           \"swift store, please make sure that you have \""},{"line_number":78,"context_line":"                           \"not set a swift configuration file with the \""},{"line_number":79,"context_line":"                           \"\u0027swift_store_config_file\u0027 option.\")"},{"line_number":80,"context_line":"                    LOG.warning(_(msg))"},{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":83,"context_line":"            except cfg.NoSuchOptError:"}],"source_content_type":"text/x-python","patch_set":3,"id":"a55c22de_3440e47a","line":80,"updated":"2024-06-11 13:40:49.000000000","message":"If I am not wrong, if you add continue after this line then I guess you don\u0027t need below try block.","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3147b8d11a826a87164fa712fa0745e31f820412","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                           \"swift store, please make sure that you have \""},{"line_number":78,"context_line":"                           \"not set a swift configuration file with the \""},{"line_number":79,"context_line":"                           \"\u0027swift_store_config_file\u0027 option.\")"},{"line_number":80,"context_line":"                    LOG.warning(_(msg))"},{"line_number":81,"context_line":"            try:"},{"line_number":82,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":83,"context_line":"            except cfg.NoSuchOptError:"}],"source_content_type":"text/x-python","patch_set":3,"id":"2db39cce_abd673bf","line":80,"in_reply_to":"a55c22de_3440e47a","updated":"2024-06-11 14:03:35.000000000","message":"Done","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"98ccc5c06566410b43cb54bc326f30ec1e255831","unresolved":true,"context_lines":[{"line_number":82,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":83,"context_line":"            except cfg.NoSuchOptError:"},{"line_number":84,"context_line":"                pass"},{"line_number":85,"context_line":"            if not (multitenant and conf_file):"},{"line_number":86,"context_line":"                stores[\u0027id\u0027] \u003d backend"},{"line_number":87,"context_line":"            if description:"},{"line_number":88,"context_line":"                stores[\u0027description\u0027] \u003d description"},{"line_number":89,"context_line":"            if backend \u003d\u003d CONF.glance_store.default_backend:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1af73635_44e5569e","line":86,"range":{"start_line":85,"start_character":12,"end_line":86,"end_character":38},"updated":"2024-06-11 13:40:49.000000000","message":"I don\u0027t understand why it is needed, I think if you add continue then this if loop is not required.","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"a7fe839915a42bd649a3a6f664c38f100391187a","unresolved":true,"context_lines":[{"line_number":82,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":83,"context_line":"            except cfg.NoSuchOptError:"},{"line_number":84,"context_line":"                pass"},{"line_number":85,"context_line":"            if not (multitenant and conf_file):"},{"line_number":86,"context_line":"                stores[\u0027id\u0027] \u003d backend"},{"line_number":87,"context_line":"            if description:"},{"line_number":88,"context_line":"                stores[\u0027description\u0027] \u003d description"},{"line_number":89,"context_line":"            if backend \u003d\u003d CONF.glance_store.default_backend:"}],"source_content_type":"text/x-python","patch_set":3,"id":"30e5603f_aa2ae808","line":86,"range":{"start_line":85,"start_character":12,"end_line":86,"end_character":38},"in_reply_to":"1af73635_44e5569e","updated":"2024-06-11 14:02:13.000000000","message":"oops! yeah :)","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3147b8d11a826a87164fa712fa0745e31f820412","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                description \u003d getattr(CONF, backend).store_description"},{"line_number":83,"context_line":"            except cfg.NoSuchOptError:"},{"line_number":84,"context_line":"                pass"},{"line_number":85,"context_line":"            if not (multitenant and conf_file):"},{"line_number":86,"context_line":"                stores[\u0027id\u0027] \u003d backend"},{"line_number":87,"context_line":"            if description:"},{"line_number":88,"context_line":"                stores[\u0027description\u0027] \u003d description"},{"line_number":89,"context_line":"            if backend \u003d\u003d CONF.glance_store.default_backend:"}],"source_content_type":"text/x-python","patch_set":3,"id":"be85e87c_29c0b195","line":86,"range":{"start_line":85,"start_character":12,"end_line":86,"end_character":38},"in_reply_to":"30e5603f_aa2ae808","updated":"2024-06-11 14:03:35.000000000","message":"Done","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"98ccc5c06566410b43cb54bc326f30ec1e255831","unresolved":true,"context_lines":[{"line_number":91,"context_line":"            # Check if http store is configured then mark it as read-only"},{"line_number":92,"context_line":"            if enabled_backends[backend] \u003d\u003d \u0027http\u0027:"},{"line_number":93,"context_line":"                stores[\u0027read-only\u0027] \u003d \"true\""},{"line_number":94,"context_line":"            if stores:"},{"line_number":95,"context_line":"                backends.append(stores)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        return {\u0027stores\u0027: backends}"}],"source_content_type":"text/x-python","patch_set":3,"id":"a7e28b5e_96d1e8f5","line":94,"range":{"start_line":94,"start_character":12,"end_line":94,"end_character":22},"updated":"2024-06-11 13:40:49.000000000","message":"same this is not required imo.","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"3147b8d11a826a87164fa712fa0745e31f820412","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            # Check if http store is configured then mark it as read-only"},{"line_number":92,"context_line":"            if enabled_backends[backend] \u003d\u003d \u0027http\u0027:"},{"line_number":93,"context_line":"                stores[\u0027read-only\u0027] \u003d \"true\""},{"line_number":94,"context_line":"            if stores:"},{"line_number":95,"context_line":"                backends.append(stores)"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"        return {\u0027stores\u0027: backends}"}],"source_content_type":"text/x-python","patch_set":3,"id":"cc2fd752_44495447","line":94,"range":{"start_line":94,"start_character":12,"end_line":94,"end_character":22},"in_reply_to":"a7e28b5e_96d1e8f5","updated":"2024-06-11 14:03:35.000000000","message":"Done","commit_id":"695a80a530930d7ee4d0ed2b190dbb22518fe928"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cd4bc694fed16831274b12a1607f06e2ea724405","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    def get_stores(self, req):"},{"line_number":54,"context_line":"        # TODO(abhishekk): This will be removed after config options"},{"line_number":55,"context_line":"        # \u0027stores\u0027 and \u0027default_store\u0027 are removed."},{"line_number":56,"context_line":"        multitenant \u003d False"},{"line_number":57,"context_line":"        conf_file \u003d None"},{"line_number":58,"context_line":"        enabled_backends \u003d CONF.enabled_backends"},{"line_number":59,"context_line":"        if not enabled_backends:"},{"line_number":60,"context_line":"            msg \u003d _(\"Multi backend is not supported at this site.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"a713db73_2d92dfd8","line":57,"range":{"start_line":56,"start_character":7,"end_line":57,"end_character":24},"updated":"2024-06-11 14:09:56.000000000","message":"I think now you don\u0027t need to define this as well.","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"34c89f9f3e2c86beaeb451104ced507d98fafd1d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    def get_stores(self, req):"},{"line_number":54,"context_line":"        # TODO(abhishekk): This will be removed after config options"},{"line_number":55,"context_line":"        # \u0027stores\u0027 and \u0027default_store\u0027 are removed."},{"line_number":56,"context_line":"        multitenant \u003d False"},{"line_number":57,"context_line":"        conf_file \u003d None"},{"line_number":58,"context_line":"        enabled_backends \u003d CONF.enabled_backends"},{"line_number":59,"context_line":"        if not enabled_backends:"},{"line_number":60,"context_line":"            msg \u003d _(\"Multi backend is not supported at this site.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"dc90caea_13349201","line":57,"range":{"start_line":56,"start_character":7,"end_line":57,"end_character":24},"in_reply_to":"a713db73_2d92dfd8","updated":"2024-06-12 03:43:25.000000000","message":"Done","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cd4bc694fed16831274b12a1607f06e2ea724405","unresolved":true,"context_lines":[{"line_number":75,"context_line":"                           \"exclusive. If you intend to use multi-tenant \""},{"line_number":76,"context_line":"                           \"swift store, please make sure that you have \""},{"line_number":77,"context_line":"                           \"not set a swift configuration file with the \""},{"line_number":78,"context_line":"                           \"\u0027swift_store_config_file\u0027 option.\")"},{"line_number":79,"context_line":"                    LOG.warning(_(msg))"},{"line_number":80,"context_line":"                    continue"},{"line_number":81,"context_line":"            stores[\u0027id\u0027] \u003d backend"}],"source_content_type":"text/x-python","patch_set":4,"id":"a5ab4484_a766b0fb","line":78,"updated":"2024-06-11 14:09:56.000000000","message":"Do we log anything when this validation is checked in swift store? If yes then I think you should add here that excluding the \u0027store_name\u0027 from the response as it is not configured correctly.\n\nIf not then also attach this message to line 73.","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"34c89f9f3e2c86beaeb451104ced507d98fafd1d","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                           \"exclusive. If you intend to use multi-tenant \""},{"line_number":76,"context_line":"                           \"swift store, please make sure that you have \""},{"line_number":77,"context_line":"                           \"not set a swift configuration file with the \""},{"line_number":78,"context_line":"                           \"\u0027swift_store_config_file\u0027 option.\")"},{"line_number":79,"context_line":"                    LOG.warning(_(msg))"},{"line_number":80,"context_line":"                    continue"},{"line_number":81,"context_line":"            stores[\u0027id\u0027] \u003d backend"}],"source_content_type":"text/x-python","patch_set":4,"id":"0a38037d_c5fb2971","line":78,"in_reply_to":"a5ab4484_a766b0fb","updated":"2024-06-12 03:43:25.000000000","message":"Acknowledged","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b93068f624dccb76ff970320b480823d79298d64","unresolved":true,"context_lines":[{"line_number":74,"context_line":"                           \"swift store, please make sure that you have \""},{"line_number":75,"context_line":"                           \"not set a swift configuration file with the \""},{"line_number":76,"context_line":"                           \"\u0027swift_store_config_file\u0027 option. \""},{"line_number":77,"context_line":"                           \"Excluding the swift store details from the \""},{"line_number":78,"context_line":"                           \"response as it\u0027s not configured correctly.\")"},{"line_number":79,"context_line":"                    LOG.warning(_(msg))"},{"line_number":80,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":5,"id":"69b7aeda_59bc6332","line":77,"range":{"start_line":77,"start_character":42,"end_line":77,"end_character":53},"updated":"2024-06-12 04:52:53.000000000","message":"IMO its better to include backend name as well in the log message.\n\nLike excluding %s:%s % (backend_name, backend_type)","commit_id":"cb67bb13edc62c8d2c551b53cb710fc42cf72b02"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"410ef395fd85b5cf15558d331913125962055c45","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                           \"swift store, please make sure that you have \""},{"line_number":75,"context_line":"                           \"not set a swift configuration file with the \""},{"line_number":76,"context_line":"                           \"\u0027swift_store_config_file\u0027 option. \""},{"line_number":77,"context_line":"                           \"Excluding the swift store details from the \""},{"line_number":78,"context_line":"                           \"response as it\u0027s not configured correctly.\")"},{"line_number":79,"context_line":"                    LOG.warning(_(msg))"},{"line_number":80,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":5,"id":"79a275eb_bb30dcfa","line":77,"range":{"start_line":77,"start_character":42,"end_line":77,"end_character":53},"in_reply_to":"69b7aeda_59bc6332","updated":"2024-06-12 08:00:36.000000000","message":"Done","commit_id":"cb67bb13edc62c8d2c551b53cb710fc42cf72b02"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4fff4dbb1c46cd2aef56d33a612e7bb41bed4262","unresolved":true,"context_lines":[{"line_number":77,"context_line":"                           \"Excluding `%s:%s` store details from the \""},{"line_number":78,"context_line":"                           \"response as it\u0027s not configured correctly.\""},{"line_number":79,"context_line":"                           % (backend, enabled_backends[backend]))"},{"line_number":80,"context_line":"                    LOG.warning(_(msg))"},{"line_number":81,"context_line":"                    continue"},{"line_number":82,"context_line":"            stores[\u0027id\u0027] \u003d backend"},{"line_number":83,"context_line":"            description \u003d getattr(CONF, backend).store_description"}],"source_content_type":"text/x-python","patch_set":6,"id":"a6e66a98_04a8524b","line":80,"range":{"start_line":80,"start_character":32,"end_line":80,"end_character":33},"updated":"2024-06-12 07:06:22.000000000","message":"Sorry, but does this need _LW?","commit_id":"059176a007b293d57b0f7cc8b5f1a9a25a4f1361"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"410ef395fd85b5cf15558d331913125962055c45","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                           \"Excluding `%s:%s` store details from the \""},{"line_number":78,"context_line":"                           \"response as it\u0027s not configured correctly.\""},{"line_number":79,"context_line":"                           % (backend, enabled_backends[backend]))"},{"line_number":80,"context_line":"                    LOG.warning(_(msg))"},{"line_number":81,"context_line":"                    continue"},{"line_number":82,"context_line":"            stores[\u0027id\u0027] \u003d backend"},{"line_number":83,"context_line":"            description \u003d getattr(CONF, backend).store_description"}],"source_content_type":"text/x-python","patch_set":6,"id":"deff6ae5_d0f829aa","line":80,"range":{"start_line":80,"start_character":32,"end_line":80,"end_character":33},"in_reply_to":"a6e66a98_04a8524b","updated":"2024-06-12 08:00:36.000000000","message":"Done","commit_id":"059176a007b293d57b0f7cc8b5f1a9a25a4f1361"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"be76d026cdc2b9b173d24bbcd9aacdaf3d3b3a42","unresolved":true,"context_lines":[{"line_number":88,"context_line":"            # Check if http store is configured then mark it as read-only"},{"line_number":89,"context_line":"            if enabled_backends[backend] \u003d\u003d \u0027http\u0027:"},{"line_number":90,"context_line":"                stores[\u0027read-only\u0027] \u003d \"true\""},{"line_number":91,"context_line":"            backends.append(stores)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        return {\u0027stores\u0027: backends}"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"8a0e95a6_1dfa8f02","line":91,"range":{"start_line":91,"start_character":12,"end_line":91,"end_character":35},"updated":"2024-07-11 14:33:06.000000000","message":"What will happen if only one store (swift) is configured and that to got ignored due to above error?","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3d8eef7c217225ec7a57e62fc74416375a3d1a0b","unresolved":true,"context_lines":[{"line_number":88,"context_line":"            # Check if http store is configured then mark it as read-only"},{"line_number":89,"context_line":"            if enabled_backends[backend] \u003d\u003d \u0027http\u0027:"},{"line_number":90,"context_line":"                stores[\u0027read-only\u0027] \u003d \"true\""},{"line_number":91,"context_line":"            backends.append(stores)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"        return {\u0027stores\u0027: backends}"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9719ccdc_9b70a783","line":91,"range":{"start_line":91,"start_character":12,"end_line":91,"end_character":35},"in_reply_to":"8a0e95a6_1dfa8f02","updated":"2024-07-11 15:15:04.000000000","message":"In this case glance service will not start but it will have a misleading error. So probably need to file another bug for this.","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"cb2f539bcac2ddc2b7ab735f98247bc31c493b78","unresolved":true,"context_lines":[{"line_number":118,"context_line":"    @staticmethod"},{"line_number":119,"context_line":"    def _get_swift_properties(store_detail):"},{"line_number":120,"context_line":"        return {"},{"line_number":121,"context_line":"            \u0027container\u0027: getattr(store_detail, \u0027container\u0027, None),"},{"line_number":122,"context_line":"            \u0027large_object_size\u0027: store_detail.large_object_size,"},{"line_number":123,"context_line":"            \u0027large_object_chunk_size\u0027: store_detail.large_object_chunk_size"},{"line_number":124,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":7,"id":"8dc5e58b_909432c1","line":121,"range":{"start_line":121,"start_character":25,"end_line":121,"end_character":66},"updated":"2024-06-12 08:53:01.000000000","message":"missing test for this but we can add it in a followup, not holding patch for this change.","commit_id":"06c727cfb32db38d9d705b28236d699e1c2c2083"}],"glance/tests/unit/v2/test_discovery_stores.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"9c43ed0ec3242a9f065469df5a38f549fa748d04","unresolved":true,"context_lines":[{"line_number":147,"context_line":"        req \u003d unit_test_utils.get_fake_request(roles\u003d[\u0027admin\u0027])"},{"line_number":148,"context_line":"        output \u003d self.controller.get_stores_detail(req)"},{"line_number":149,"context_line":"        self.assertNotEqual(len(CONF.enabled_backends), len(output[\u0027stores\u0027]))"},{"line_number":150,"context_line":"        for stores in output[\u0027stores\u0027]:"},{"line_number":151,"context_line":"            self.assertIn(\u0027id\u0027, stores)"},{"line_number":152,"context_line":"            self.assertNotEqual(stores[\u0027id\u0027], \u0027test\u0027)"},{"line_number":153,"context_line":"            self.assertNotEqual(stores[\u0027type\u0027], \u0027swift\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"d2d88252_d2ba858f","line":153,"range":{"start_line":150,"start_character":8,"end_line":153,"end_character":56},"updated":"2024-06-11 14:11:30.000000000","message":"I think here you should make the list of stores and check test is not included in that.","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"34c89f9f3e2c86beaeb451104ced507d98fafd1d","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        req \u003d unit_test_utils.get_fake_request(roles\u003d[\u0027admin\u0027])"},{"line_number":148,"context_line":"        output \u003d self.controller.get_stores_detail(req)"},{"line_number":149,"context_line":"        self.assertNotEqual(len(CONF.enabled_backends), len(output[\u0027stores\u0027]))"},{"line_number":150,"context_line":"        for stores in output[\u0027stores\u0027]:"},{"line_number":151,"context_line":"            self.assertIn(\u0027id\u0027, stores)"},{"line_number":152,"context_line":"            self.assertNotEqual(stores[\u0027id\u0027], \u0027test\u0027)"},{"line_number":153,"context_line":"            self.assertNotEqual(stores[\u0027type\u0027], \u0027swift\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f7cc6b06_90707c68","line":153,"range":{"start_line":150,"start_character":8,"end_line":153,"end_character":56},"in_reply_to":"d2d88252_d2ba858f","updated":"2024-06-12 03:43:25.000000000","message":"Acknowledged","commit_id":"04dd124131c39a97a4d8828552eb9cbac3dbf51c"}]}
