)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"caf26d8795943b5991e5d0867cda61cfbc3ae2c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1292e510_2e31a181","updated":"2022-03-23 11:38:59.000000000","message":"LGTM","commit_id":"62ccabb9915f67eee38eab6d310e254897e18c0a"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"8f86488c99cc2d1d0a679aab753230c5784b90a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"dcddfc16_55cf5680","updated":"2023-07-05 04:02:26.000000000","message":"looks good now","commit_id":"9b755937bcfa607ca85aa90f7b2462e72f1c5c00"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bbda2996fe9351cc19f8ffd019230dc625f5b581","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"d319a7e2_5c54ebcf","updated":"2024-03-26 05:06:27.000000000","message":"recheck `mounting /dev/vdb on /mnt failed: Device or resource busy` likely indicates slow vm","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"56550bc64e491ba0d7340b0df7c4fb173f328137","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c31f7d31_251bc507","updated":"2024-04-10 02:49:28.000000000","message":"recheck the failure seems to be intermittent one","commit_id":"8b2d150a72ea699e939c4d47aed491d48f9b6362"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"deb717637d391371139d0c93b9b31c2e648df6eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7dd13586_f9222de1","updated":"2024-04-11 03:45:16.000000000","message":"ｌ・・","commit_id":"8b2d150a72ea699e939c4d47aed491d48f9b6362"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6383f4fb4fcb09b7ffe3004608a9d25594425cb5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"628564f1_ad475c38","in_reply_to":"7dd13586_f9222de1","updated":"2024-04-11 03:46:19.000000000","message":"Oops. Please ignore these trashes.","commit_id":"8b2d150a72ea699e939c4d47aed491d48f9b6362"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6383f4fb4fcb09b7ffe3004608a9d25594425cb5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"46ddbc2e_5e265ee7","updated":"2024-04-11 03:46:19.000000000","message":"Thanks Alan for your feedback ! Please see my replies inline when you get time .","commit_id":"0a7fec7bfdbafdc67fe06a01eba0b6612e395fe8"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"71186d3e1d0bd7da9c2b3a2766043ef18f4ec105","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"02ec930e_25358b2b","updated":"2024-04-20 14:49:14.000000000","message":"recheck OOM killed mysql","commit_id":"0b3dea8001f898fc1d9ee3ac85275bd58981e6cf"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"194aed496003933342b7df0a23e1f7a392b4df4f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"ff4e01a3_ebe8a96b","updated":"2024-05-13 01:28:13.000000000","message":"recheck cinder-tempest-plugin-lvm-lio-barbican unstable","commit_id":"0b3dea8001f898fc1d9ee3ac85275bd58981e6cf"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"442908f9b3dcc03bbe71fc45a51fdacc0d1bbf47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"fd5ca92e_7f233078","updated":"2024-05-08 10:18:26.000000000","message":"recheck the failures in py311 job are not sen in py39 for unknown reason","commit_id":"0b3dea8001f898fc1d9ee3ac85275bd58981e6cf"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"bc9a9e22d35c592115f33b2ebc14ab68abd0d17e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"6f931105_b65d96aa","updated":"2024-05-08 01:13:22.000000000","message":"recheck timoeut in some volume tests, which look irrelevant","commit_id":"0b3dea8001f898fc1d9ee3ac85275bd58981e6cf"}],"cinder/context.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fd3d320fef50b4315e846b737f20a486a5a2797f","unresolved":true,"context_lines":[{"line_number":38,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":39,"context_line":"               deprecated_reason\u003d\u0027Internal tenant should be defined by \u0027"},{"line_number":40,"context_line":"                                 \u0027the parameters in [internal_tenant] \u0027"},{"line_number":41,"context_line":"                                 \u0027secsion instead.\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027ID of the project which will be used as the Cinder \u0027"},{"line_number":43,"context_line":"                    \u0027internal tenant.\u0027),"},{"line_number":44,"context_line":"    cfg.StrOpt(\u0027cinder_internal_tenant_user_id\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9badabac_0b546954","line":41,"range":{"start_line":41,"start_character":34,"end_line":41,"end_character":41},"updated":"2022-03-23 12:02:39.000000000","message":"section","commit_id":"62ccabb9915f67eee38eab6d310e254897e18c0a"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ddf1dd7e803dfa4d8752b42fa874618591095c41","unresolved":false,"context_lines":[{"line_number":38,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":39,"context_line":"               deprecated_reason\u003d\u0027Internal tenant should be defined by \u0027"},{"line_number":40,"context_line":"                                 \u0027the parameters in [internal_tenant] \u0027"},{"line_number":41,"context_line":"                                 \u0027secsion instead.\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027ID of the project which will be used as the Cinder \u0027"},{"line_number":43,"context_line":"                    \u0027internal tenant.\u0027),"},{"line_number":44,"context_line":"    cfg.StrOpt(\u0027cinder_internal_tenant_user_id\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"fba989ad_71578d0c","line":41,"range":{"start_line":41,"start_character":34,"end_line":41,"end_character":41},"in_reply_to":"9badabac_0b546954","updated":"2022-03-23 12:09:30.000000000","message":"Done","commit_id":"62ccabb9915f67eee38eab6d310e254897e18c0a"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"fd3d320fef50b4315e846b737f20a486a5a2797f","unresolved":true,"context_lines":[{"line_number":45,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":46,"context_line":"               deprecated_reason\u003d\u0027Internal tenant should be defined by \u0027"},{"line_number":47,"context_line":"                                 \u0027the parameters in [internal_tenant] \u0027"},{"line_number":48,"context_line":"                                 \u0027secsion instead.\u0027,"},{"line_number":49,"context_line":"               help\u003d\u0027ID of the user to be used in volume operations as the \u0027"},{"line_number":50,"context_line":"                    \u0027Cinder internal tenant.\u0027),"},{"line_number":51,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"b4129776_eb400de7","line":48,"range":{"start_line":48,"start_character":34,"end_line":48,"end_character":41},"updated":"2022-03-23 12:02:39.000000000","message":"section","commit_id":"62ccabb9915f67eee38eab6d310e254897e18c0a"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ddf1dd7e803dfa4d8752b42fa874618591095c41","unresolved":false,"context_lines":[{"line_number":45,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":46,"context_line":"               deprecated_reason\u003d\u0027Internal tenant should be defined by \u0027"},{"line_number":47,"context_line":"                                 \u0027the parameters in [internal_tenant] \u0027"},{"line_number":48,"context_line":"                                 \u0027secsion instead.\u0027,"},{"line_number":49,"context_line":"               help\u003d\u0027ID of the user to be used in volume operations as the \u0027"},{"line_number":50,"context_line":"                    \u0027Cinder internal tenant.\u0027),"},{"line_number":51,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":10,"id":"844f2167_c2492d76","line":48,"range":{"start_line":48,"start_character":34,"end_line":48,"end_character":41},"in_reply_to":"b4129776_eb400de7","updated":"2022-03-23 12:09:30.000000000","message":"Done","commit_id":"62ccabb9915f67eee38eab6d310e254897e18c0a"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"ddf1dd7e803dfa4d8752b42fa874618591095c41","unresolved":true,"context_lines":[{"line_number":50,"context_line":"                    \u0027Cinder internal tenant.\u0027),"},{"line_number":51,"context_line":"]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"INTERNAL_TENANT_GROUP \u003d \u0027internal_tenant\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"internal_tenant_session_opts \u003d ks_loading.get_session_conf_options()"},{"line_number":56,"context_line":"internal_tenant_auth_opts \u003d ks_loading.get_auth_common_conf_options()"}],"source_content_type":"text/x-python","patch_set":11,"id":"f9680136_2e01e222","line":53,"range":{"start_line":53,"start_character":25,"end_line":53,"end_character":40},"updated":"2022-03-23 12:09:30.000000000","message":"s/tenant/project/ might be a better wording but I\u0027d like to hear feedback because currently the old tenant terminology is used.","commit_id":"9b755937bcfa607ca85aa90f7b2462e72f1c5c00"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c157bacb7b26bc939a3a049b44567d0165dd1d25","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                    \u0027Cinder internal tenant.\u0027),"},{"line_number":51,"context_line":"]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"INTERNAL_TENANT_GROUP \u003d \u0027internal_tenant\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"internal_tenant_session_opts \u003d ks_loading.get_session_conf_options()"},{"line_number":56,"context_line":"internal_tenant_auth_opts \u003d ks_loading.get_auth_common_conf_options()"}],"source_content_type":"text/x-python","patch_set":11,"id":"f0aa4008_4b9e0fa2","line":53,"range":{"start_line":53,"start_character":25,"end_line":53,"end_character":40},"in_reply_to":"4d1bbef2_8b3c7c84","updated":"2026-05-11 13:49:18.000000000","message":"Done","commit_id":"9b755937bcfa607ca85aa90f7b2462e72f1c5c00"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e1d7c3afd21b6249cb995a99a9a82b555745b7d","unresolved":true,"context_lines":[{"line_number":50,"context_line":"                    \u0027Cinder internal tenant.\u0027),"},{"line_number":51,"context_line":"]"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"INTERNAL_TENANT_GROUP \u003d \u0027internal_tenant\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"internal_tenant_session_opts \u003d ks_loading.get_session_conf_options()"},{"line_number":56,"context_line":"internal_tenant_auth_opts \u003d ks_loading.get_auth_common_conf_options()"}],"source_content_type":"text/x-python","patch_set":11,"id":"4d1bbef2_8b3c7c84","line":53,"range":{"start_line":53,"start_character":25,"end_line":53,"end_character":40},"in_reply_to":"f9680136_2e01e222","updated":"2024-04-09 19:20:50.000000000","message":"Because this isn\u0027t a totally new concept with cinder (where I\u0027d favor \"project\"), I\u0027m OK retaining the \"tenant\" wording.","commit_id":"9b755937bcfa607ca85aa90f7b2462e72f1c5c00"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e1d7c3afd21b6249cb995a99a9a82b555745b7d","unresolved":true,"context_lines":[{"line_number":321,"context_line":"    project_id \u003d CONF.cinder_internal_tenant_project_id"},{"line_number":322,"context_line":"    user_id \u003d CONF.cinder_internal_tenant_user_id"},{"line_number":323,"context_line":"    if project_id and user_id:"},{"line_number":324,"context_line":"        return RequestContext(user_id\u003duser_id,"},{"line_number":325,"context_line":"                              project_id\u003dproject_id,"},{"line_number":326,"context_line":"                              is_admin\u003dTrue,"},{"line_number":327,"context_line":"                              overwrite\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":12,"id":"f6c8af0b_e9473bdb","line":324,"updated":"2024-04-09 19:20:50.000000000","message":"I recommend adding a LOG.warning that the system is relying on deprecated parameters. Hopefully this will alert the cloud admin to update their deployment and avoid breakage when the parameters are removed.","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"2c9c0c9510fb370a1e1cd25d7a7bc7a28321d3a5","unresolved":true,"context_lines":[{"line_number":321,"context_line":"    project_id \u003d CONF.cinder_internal_tenant_project_id"},{"line_number":322,"context_line":"    user_id \u003d CONF.cinder_internal_tenant_user_id"},{"line_number":323,"context_line":"    if project_id and user_id:"},{"line_number":324,"context_line":"        return RequestContext(user_id\u003duser_id,"},{"line_number":325,"context_line":"                              project_id\u003dproject_id,"},{"line_number":326,"context_line":"                              is_admin\u003dTrue,"},{"line_number":327,"context_line":"                              overwrite\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":12,"id":"c90fb597_172714e8","line":324,"in_reply_to":"41498e50_ea7f24cd","updated":"2024-04-16 14:29:00.000000000","message":"The log message is meant to be a reminder for the admin to update their deployment by replacing the deprecated parameters with the new [internal_auth]. I fear a lot of admins won\u0027t notice the deprecation message if it only appears once on system startup. On the other hand, the deprecation notice will be in the release notes, so perhaps that\u0027s sufficient.","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c157bacb7b26bc939a3a049b44567d0165dd1d25","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    project_id \u003d CONF.cinder_internal_tenant_project_id"},{"line_number":322,"context_line":"    user_id \u003d CONF.cinder_internal_tenant_user_id"},{"line_number":323,"context_line":"    if project_id and user_id:"},{"line_number":324,"context_line":"        return RequestContext(user_id\u003duser_id,"},{"line_number":325,"context_line":"                              project_id\u003dproject_id,"},{"line_number":326,"context_line":"                              is_admin\u003dTrue,"},{"line_number":327,"context_line":"                              overwrite\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":12,"id":"cd6a8e34_64211987","line":324,"in_reply_to":"c90fb597_172714e8","updated":"2026-05-11 13:49:18.000000000","message":"Done","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"deb717637d391371139d0c93b9b31c2e648df6eb","unresolved":true,"context_lines":[{"line_number":321,"context_line":"    project_id \u003d CONF.cinder_internal_tenant_project_id"},{"line_number":322,"context_line":"    user_id \u003d CONF.cinder_internal_tenant_user_id"},{"line_number":323,"context_line":"    if project_id and user_id:"},{"line_number":324,"context_line":"        return RequestContext(user_id\u003duser_id,"},{"line_number":325,"context_line":"                              project_id\u003dproject_id,"},{"line_number":326,"context_line":"                              is_admin\u003dTrue,"},{"line_number":327,"context_line":"                              overwrite\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":12,"id":"41498e50_ea7f24cd","line":324,"in_reply_to":"f6c8af0b_e9473bdb","updated":"2024-04-11 03:45:16.000000000","message":"This change marks the legacy cinder_internal_tenant options deprecated, so if any of these parameters are configured then a deprecation warning message appears in logs. I wonder the warning log during startup can be enough.\n\nI can add additional log here but it may cause concern about verbosity,","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e1d7c3afd21b6249cb995a99a9a82b555745b7d","unresolved":true,"context_lines":[{"line_number":352,"context_line":"                              is_admin\u003dTrue,"},{"line_number":353,"context_line":"                              overwrite\u003dFalse)"},{"line_number":354,"context_line":"    else:"},{"line_number":355,"context_line":"        LOG.warning(\u0027Unable to get internal tenant context\u0027)"},{"line_number":356,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":12,"id":"91c95d87_ab793eb7","line":355,"updated":"2024-04-09 19:20:50.000000000","message":"I think this is an opportunity to refine this message (I\u0027m curious what other reviewers think). \"Unable to get\" sounds like an error occurred when fetching the parameters, which in my mind is different than the error occurring because the INTERNAL_AUTH_GROUP parameters haven\u0027t been configured.\n\nI don\u0027t know how often this message might appear in the logs, but if it\u0027s too frequent then maybe consider throttling it? Just something to consider.","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"deb717637d391371139d0c93b9b31c2e648df6eb","unresolved":true,"context_lines":[{"line_number":352,"context_line":"                              is_admin\u003dTrue,"},{"line_number":353,"context_line":"                              overwrite\u003dFalse)"},{"line_number":354,"context_line":"    else:"},{"line_number":355,"context_line":"        LOG.warning(\u0027Unable to get internal tenant context\u0027)"},{"line_number":356,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":12,"id":"b9f040d1_773fdc3f","line":355,"in_reply_to":"91c95d87_ab793eb7","updated":"2024-04-11 03:45:16.000000000","message":"\u003e I think this is an opportunity to refine this message (I\u0027m curious what other reviewers think). \"Unable to get\" sounds like an error occurred when fetching the parameters, which in my mind is different than the error occurring because the INTERNAL_AUTH_GROUP parameters haven\u0027t been configured.\n\nI agree it\u0027s better we distinguish \u0027is not configured\u0027 and \u0027is configured but failed\u0027.  I\u0027ve updated the logic to detect \u0027is not configure\u0027 case based on the auth_type option.\n\n\u003e I don\u0027t know how often this message might appear in the logs, but if it\u0027s too frequent then maybe consider throttling it? Just something to consider.\n\nLooking at the code this method is called when\n\n1. Creating an image cache entry\n * If internal tenant could not be fetched then image cache creation is skipped\n2. Uploading a volume when image_upload_use_internal_tenant is True\n * If internal tenant could not be fetched then upload uses the user\u0027s context\n3. Create a temporal volume during revert to snapshot\n * If internal tenant could not be fetched then upload uses the user\u0027s context\n\nWarning log per operation might be too verbose, but 1 and 2 are misconfiguration case so verbose may be better than silent. We can move out the warning from this method to the callers to improve 3 case, but I\u0027d wait for others chiming in before I look into that path further.","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"2c9c0c9510fb370a1e1cd25d7a7bc7a28321d3a5","unresolved":true,"context_lines":[{"line_number":336,"context_line":"        if auth_type is None:"},{"line_number":337,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d None"},{"line_number":338,"context_line":"            INTERNAL_TENANT_USER_ID \u003d None"},{"line_number":339,"context_line":"            INTERNAL_TENANT_CACHED \u003d True"},{"line_number":340,"context_line":"            LOG.warning("},{"line_number":341,"context_line":"                \u0027Unable to get internal tenant context because \u0027"},{"line_number":342,"context_line":"                \u0027the [internal_tenant] auth_type option is not configured.\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"dace979a_c14cae7b","line":339,"updated":"2024-04-16 14:29:00.000000000","message":"Setting _CACHED \u003d True means this message will appear only once, and the message at L366 will appear on every subsequent call (you\u0027ll always get one of the messages until you configure the [internal_tenant]).\n\nWith this in mind, consider removing L339. That way the \"better\" message on L341 will be logged, instead of the less useful one at L366.","commit_id":"5baa04d6b80cf526c413d28d7ad7af74d3e17faa"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0f0ec9a6cf896cb704d6274195ac9a65395bcf2a","unresolved":false,"context_lines":[{"line_number":336,"context_line":"        if auth_type is None:"},{"line_number":337,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d None"},{"line_number":338,"context_line":"            INTERNAL_TENANT_USER_ID \u003d None"},{"line_number":339,"context_line":"            INTERNAL_TENANT_CACHED \u003d True"},{"line_number":340,"context_line":"            LOG.warning("},{"line_number":341,"context_line":"                \u0027Unable to get internal tenant context because \u0027"},{"line_number":342,"context_line":"                \u0027the [internal_tenant] auth_type option is not configured.\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"1e19ddd7_a7ef3dc4","line":339,"in_reply_to":"dace979a_c14cae7b","updated":"2024-04-19 12:52:46.000000000","message":"+1. Fixed","commit_id":"5baa04d6b80cf526c413d28d7ad7af74d3e17faa"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"5d97cb605d2f42e6d7d8b465bee73678dd79bdbc","unresolved":true,"context_lines":[{"line_number":352,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d None"},{"line_number":353,"context_line":"            INTERNAL_TENANT_USER_ID \u003d None"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        INTERNAL_TENANT_CACHED \u003d True"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    if INTERNAL_TENANT_PROJECT_ID and INTERNAL_TENANT_USER_ID:"},{"line_number":358,"context_line":"        return RequestContext(user_id\u003dINTERNAL_TENANT_USER_ID,"}],"source_content_type":"text/x-python","patch_set":21,"id":"39b726f7_abe9d9b8","line":355,"range":{"start_line":355,"start_character":8,"end_line":355,"end_character":37},"updated":"2024-04-19 12:56:08.000000000","message":"giving this another thought we probably do not want to \"cache\" the result in case keystone api call fails. The API call may fail based of multiple reasons (eg temporal network glitch) and caching the result may disable the feature unexpectedly until restart.\n\nOne downside of not caching the result for API call failure is performance overhead but I think that\u0027s better than disabling some features because of temporal problem.","commit_id":"f9de7f4ff0c127e638ac64c4608c0e390d85f356"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"68a50e8813b2211d53825f161fdc5fc8dbd7a159","unresolved":false,"context_lines":[{"line_number":352,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d None"},{"line_number":353,"context_line":"            INTERNAL_TENANT_USER_ID \u003d None"},{"line_number":354,"context_line":""},{"line_number":355,"context_line":"        INTERNAL_TENANT_CACHED \u003d True"},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    if INTERNAL_TENANT_PROJECT_ID and INTERNAL_TENANT_USER_ID:"},{"line_number":358,"context_line":"        return RequestContext(user_id\u003dINTERNAL_TENANT_USER_ID,"}],"source_content_type":"text/x-python","patch_set":21,"id":"59e88735_9b8417d9","line":355,"range":{"start_line":355,"start_character":8,"end_line":355,"end_character":37},"in_reply_to":"39b726f7_abe9d9b8","updated":"2024-04-19 12:57:16.000000000","message":"Done","commit_id":"f9de7f4ff0c127e638ac64c4608c0e390d85f356"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8c1fb7e0a43a74359325d031b4e2a94c37f7e948","unresolved":true,"context_lines":[{"line_number":345,"context_line":""},{"line_number":346,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d internal_session.get_project_id()"},{"line_number":347,"context_line":"            INTERNAL_TENANT_USER_ID \u003d internal_session.get_user_id()"},{"line_number":348,"context_line":"        except Exception:"},{"line_number":349,"context_line":"            LOG.exception(\u0027Unable to get internal tenant from keystone\u0027)"},{"line_number":350,"context_line":"            return None"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"f2a4ceaf_8a9b58d9","line":348,"updated":"2024-10-14 17:10:56.000000000","message":"I know some people dislike generic/anonymous exception handling, and the log message doesn\u0027t provide any clues about what happened.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c157bacb7b26bc939a3a049b44567d0165dd1d25","unresolved":false,"context_lines":[{"line_number":345,"context_line":""},{"line_number":346,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d internal_session.get_project_id()"},{"line_number":347,"context_line":"            INTERNAL_TENANT_USER_ID \u003d internal_session.get_user_id()"},{"line_number":348,"context_line":"        except Exception:"},{"line_number":349,"context_line":"            LOG.exception(\u0027Unable to get internal tenant from keystone\u0027)"},{"line_number":350,"context_line":"            return None"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"dc0167c7_c02d4d60","line":348,"in_reply_to":"87587c32_65c94ffe","updated":"2026-05-11 13:49:18.000000000","message":"Done","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e179c33c2c3012a190a7f00d515c286b392938ea","unresolved":true,"context_lines":[{"line_number":345,"context_line":""},{"line_number":346,"context_line":"            INTERNAL_TENANT_PROJECT_ID \u003d internal_session.get_project_id()"},{"line_number":347,"context_line":"            INTERNAL_TENANT_USER_ID \u003d internal_session.get_user_id()"},{"line_number":348,"context_line":"        except Exception:"},{"line_number":349,"context_line":"            LOG.exception(\u0027Unable to get internal tenant from keystone\u0027)"},{"line_number":350,"context_line":"            return None"},{"line_number":351,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"87587c32_65c94ffe","line":348,"in_reply_to":"f2a4ceaf_8a9b58d9","updated":"2025-07-20 15:49:50.000000000","message":"LOG.exception dumps full traceback and that provides more than enough information about the cause of an exception caught here.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8c1fb7e0a43a74359325d031b4e2a94c37f7e948","unresolved":true,"context_lines":[{"line_number":349,"context_line":"            LOG.exception(\u0027Unable to get internal tenant from keystone\u0027)"},{"line_number":350,"context_line":"            return None"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        INTERNAL_TENANT_CACHED \u003d True"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    if INTERNAL_TENANT_PROJECT_ID and INTERNAL_TENANT_USER_ID:"},{"line_number":355,"context_line":"        return RequestContext(user_id\u003dINTERNAL_TENANT_USER_ID,"}],"source_content_type":"text/x-python","patch_set":25,"id":"8f41b1e1_71fcc93a","line":352,"updated":"2024-10-14 17:10:56.000000000","message":"I don\u0027t think locating this line here is functionally different than locating immediately after L347.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e179c33c2c3012a190a7f00d515c286b392938ea","unresolved":true,"context_lines":[{"line_number":349,"context_line":"            LOG.exception(\u0027Unable to get internal tenant from keystone\u0027)"},{"line_number":350,"context_line":"            return None"},{"line_number":351,"context_line":""},{"line_number":352,"context_line":"        INTERNAL_TENANT_CACHED \u003d True"},{"line_number":353,"context_line":""},{"line_number":354,"context_line":"    if INTERNAL_TENANT_PROJECT_ID and INTERNAL_TENANT_USER_ID:"},{"line_number":355,"context_line":"        return RequestContext(user_id\u003dINTERNAL_TENANT_USER_ID,"}],"source_content_type":"text/x-python","patch_set":25,"id":"4e4163e7_c4629aa3","line":352,"in_reply_to":"8f41b1e1_71fcc93a","updated":"2025-07-20 15:49:50.000000000","message":"Yes. I initially selected this position to separate the logic to manage the cache flag from the logic to find the ids, but I can move this like into the try block if that looks better.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8c1fb7e0a43a74359325d031b4e2a94c37f7e948","unresolved":true,"context_lines":[{"line_number":356,"context_line":"                              project_id\u003dINTERNAL_TENANT_PROJECT_ID,"},{"line_number":357,"context_line":"                              is_admin\u003dTrue,"},{"line_number":358,"context_line":"                              overwrite\u003dFalse)"},{"line_number":359,"context_line":"    else:"},{"line_number":360,"context_line":"        LOG.warning(\u0027Unable to get internal tenant context\u0027)"},{"line_number":361,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":25,"id":"92bf84ff_e505fcfc","line":359,"updated":"2024-10-14 17:10:56.000000000","message":"Given the code that precedes L354, will L359 ever be reached? It seems to me the only time INTERNALTENANT_CACHED will be True is when keystone was able to supply a valid user_id and project_id.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"3f32d8dca4f5f1b6cef79b7881dd333d7fffada3","unresolved":true,"context_lines":[{"line_number":356,"context_line":"                              project_id\u003dINTERNAL_TENANT_PROJECT_ID,"},{"line_number":357,"context_line":"                              is_admin\u003dTrue,"},{"line_number":358,"context_line":"                              overwrite\u003dFalse)"},{"line_number":359,"context_line":"    else:"},{"line_number":360,"context_line":"        LOG.warning(\u0027Unable to get internal tenant context\u0027)"},{"line_number":361,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":25,"id":"f5e04a06_b850e780","line":359,"in_reply_to":"83f16739_832502db","updated":"2025-07-20 17:56:47.000000000","message":"Please ignore my previous comment. I noticed that we can\u0027t assume that the internal_tenant options provide project scope context. In case a user sets only username and does not provide tenant then here we get project_id\u003dNone. So we should make sure that the context provides both user and project. I\u0027ve added a warning message to notify misconfiguration to operators.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"e179c33c2c3012a190a7f00d515c286b392938ea","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                              project_id\u003dINTERNAL_TENANT_PROJECT_ID,"},{"line_number":357,"context_line":"                              is_admin\u003dTrue,"},{"line_number":358,"context_line":"                              overwrite\u003dFalse)"},{"line_number":359,"context_line":"    else:"},{"line_number":360,"context_line":"        LOG.warning(\u0027Unable to get internal tenant context\u0027)"},{"line_number":361,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":25,"id":"83f16739_832502db","line":359,"in_reply_to":"92bf84ff_e505fcfc","updated":"2025-07-20 15:49:50.000000000","message":"Re-reviewing this code again I think you are correct. Fixed this.","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"482cafdcd985783801451e6b5c8e8d4764feeeac","unresolved":false,"context_lines":[{"line_number":356,"context_line":"                              project_id\u003dINTERNAL_TENANT_PROJECT_ID,"},{"line_number":357,"context_line":"                              is_admin\u003dTrue,"},{"line_number":358,"context_line":"                              overwrite\u003dFalse)"},{"line_number":359,"context_line":"    else:"},{"line_number":360,"context_line":"        LOG.warning(\u0027Unable to get internal tenant context\u0027)"},{"line_number":361,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":25,"id":"52c070cb_3d7a4a83","line":359,"in_reply_to":"f5e04a06_b850e780","updated":"2026-05-11 13:50:10.000000000","message":"Done","commit_id":"21773b04077c1c58a5a68e1135c2f528e03b7a3f"}],"cinder/tests/unit/test_context.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"3111e3ba9b240e0e66feb1624b72e3749dadfc04","unresolved":true,"context_lines":[{"line_number":117,"context_line":"        mock_conf.cinder_internal_tenant_project_id \u003d None"},{"line_number":118,"context_line":"        mock_conf.cinder_internal_tenant_user_id \u003d None"},{"line_number":119,"context_line":"        mock_conf.internal_tenant.auth_type \u003d \u0027FAKE\u0027"},{"line_number":120,"context_line":"        context.INTERNAL_TENANT_CACHED \u003d False"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        auth \u003d mock.MagicMock()"},{"line_number":123,"context_line":"        session \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":24,"id":"aed15e56_2659bc41","line":120,"updated":"2024-05-13 17:16:09.000000000","message":"These tests generally look good, but they all directly read and modify the global variables. This will be a problem when the tests run in parallel, so I think you need to mock the globals.","commit_id":"0b3dea8001f898fc1d9ee3ac85275bd58981e6cf"}],"releasenotes/notes/define-internal-tenant-by-names-b3aefe7f67e363ab.yaml":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e1d7c3afd21b6249cb995a99a9a82b555745b7d","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    The following two parameters have been deprecated in favor of the new"},{"line_number":11,"context_line":"    parameters in the ``[internal_tenant]`` sections."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"dfa6d974_ca304178","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":32},"updated":"2024-04-09 19:20:50.000000000","message":"You didn\u0027t list them!","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"deb717637d391371139d0c93b9b31c2e648df6eb","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"deprecations:"},{"line_number":9,"context_line":"  - |"},{"line_number":10,"context_line":"    The following two parameters have been deprecated in favor of the new"},{"line_number":11,"context_line":"    parameters in the ``[internal_tenant]`` sections."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"11d5c53d_d4d578ad","line":10,"range":{"start_line":10,"start_character":4,"end_line":10,"end_character":32},"in_reply_to":"dfa6d974_ca304178","updated":"2024-04-11 03:45:16.000000000","message":":facepalm: I too often do this mistake. Fixed in the latest version.","commit_id":"b6252efdb90a153d723a0956f7bd699ae8fdb71e"}]}
