)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"63858ebec006f53e8f0cf2ff404ac0fafc021f6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6bd6e7c6_2cf18b77","updated":"2021-11-23 22:17:12.000000000","message":"I think this makes a lot of sense, and we should do it.\n\nNit noted inline.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"bfb6cdc9e535fdc88f3c5028d73573cfac59209a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"09bc5f2c_533d4101","updated":"2021-11-24 14:38:05.000000000","message":"Looks good to me","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"70f58c8f8cda55726b2cabc474bd3dc4e265d450","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c4ca490f_037ef84e","updated":"2021-11-30 11:16:19.000000000","message":"Spec looks good but I\u0027ve a few queries inline.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"89c2bc11e11983aad8970d6e418b9c4f7f7d6930","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e6ae94d9_5317dd57","updated":"2021-12-01 05:33:26.000000000","message":"Thanks for the explanations Alan, upgrading my vote to +2","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"9f78520d0a3893af6d7a8965dab86f536fc415a2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"46c826f8_732a7911","updated":"2021-12-14 14:16:58.000000000","message":"We\u0027ve discussed this spec at one of the video cinder meetings and it\u0027s been available here for quite a while for comments, so no sense in holding it open any longer.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"}],"specs/yoga/project-id-optional-in-urls.rst":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"70f58c8f8cda55726b2cabc474bd3dc4e265d450","unresolved":true,"context_lines":[{"line_number":55,"context_line":"URLs without project IDs, and this applies to all requests reqardless of the"},{"line_number":56,"context_line":"microversion in the request.  For example, if the new proposed microversion is"},{"line_number":57,"context_line":"v3.67, an API node serving v3.67 or greater will properly route requests"},{"line_number":58,"context_line":"without project_id even if you ask for v3.0.  Likewise, it will properly route"},{"line_number":59,"context_line":"requests to URLs containing project_id even if you ask for v3.67."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The proposal does not introduce any behavioral or functional changes to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8f5a3c7c_2d360db0","line":58,"range":{"start_line":58,"start_character":19,"end_line":58,"end_character":43},"updated":"2021-11-30 11:16:19.000000000","message":"so requests with MV \u003c 3.67 will also be able to query API without project id? seems strange.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6221d90ab6630a40c8c17eeb3f5eda141c15f702","unresolved":true,"context_lines":[{"line_number":55,"context_line":"URLs without project IDs, and this applies to all requests reqardless of the"},{"line_number":56,"context_line":"microversion in the request.  For example, if the new proposed microversion is"},{"line_number":57,"context_line":"v3.67, an API node serving v3.67 or greater will properly route requests"},{"line_number":58,"context_line":"without project_id even if you ask for v3.0.  Likewise, it will properly route"},{"line_number":59,"context_line":"requests to URLs containing project_id even if you ask for v3.67."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The proposal does not introduce any behavioral or functional changes to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"aedc62df_3ea4e7b3","line":58,"range":{"start_line":58,"start_character":19,"end_line":58,"end_character":43},"in_reply_to":"8f5a3c7c_2d360db0","updated":"2021-11-30 17:49:16.000000000","message":"It may seem strange in the sense that MV are typically associated with new or modified API functionality. But in this instance, the API themselves are completely unchanged, and the only impact the API can be accessed via an additional URL.\n- The original URL with a project_id remains unchanged\n- A new route creates an additional URL for the same API method, but without a project_id \n\nThe nova and manila projects took a similar approach, and they use an MV to indicate the point where URLs don\u0027t require a project_id, regardless of the MV in the client request.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"89c2bc11e11983aad8970d6e418b9c4f7f7d6930","unresolved":false,"context_lines":[{"line_number":55,"context_line":"URLs without project IDs, and this applies to all requests reqardless of the"},{"line_number":56,"context_line":"microversion in the request.  For example, if the new proposed microversion is"},{"line_number":57,"context_line":"v3.67, an API node serving v3.67 or greater will properly route requests"},{"line_number":58,"context_line":"without project_id even if you ask for v3.0.  Likewise, it will properly route"},{"line_number":59,"context_line":"requests to URLs containing project_id even if you ask for v3.67."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The proposal does not introduce any behavioral or functional changes to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dbece139_95a0bd9e","line":58,"range":{"start_line":58,"start_character":19,"end_line":58,"end_character":43},"in_reply_to":"aedc62df_3ea4e7b3","updated":"2021-12-01 05:33:26.000000000","message":"Ack","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"63858ebec006f53e8f0cf2ff404ac0fafc021f6a","unresolved":true,"context_lines":[{"line_number":73,"context_line":"require changes in keystone."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Cloud administrators could be required to create an actual project solely for"},{"line_number":76,"context_line":"use when making system scoped API requests. This is also not elegant, a shifts"},{"line_number":77,"context_line":"the burden of managing system scope onto cloud administrators."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"21debdf4_cb2a4fb0","line":76,"range":{"start_line":76,"start_character":70,"end_line":76,"end_character":71},"updated":"2021-11-23 22:17:12.000000000","message":"nit: and","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6221d90ab6630a40c8c17eeb3f5eda141c15f702","unresolved":true,"context_lines":[{"line_number":73,"context_line":"require changes in keystone."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Cloud administrators could be required to create an actual project solely for"},{"line_number":76,"context_line":"use when making system scoped API requests. This is also not elegant, a shifts"},{"line_number":77,"context_line":"the burden of managing system scope onto cloud administrators."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"48e3e690_1dc77119","line":76,"range":{"start_line":76,"start_character":70,"end_line":76,"end_character":71},"in_reply_to":"21debdf4_cb2a4fb0","updated":"2021-11-30 17:49:16.000000000","message":"ack, will fix if another update is required.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"70f58c8f8cda55726b2cabc474bd3dc4e265d450","unresolved":true,"context_lines":[{"line_number":140,"context_line":"  | cinderv3     | http://192.168.100.30/volume/v3 |"},{"line_number":141,"context_line":"  +--------------+---------------------------------+"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"rather than this:"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":".. code-block:: console"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6c25f0a4_7af42e5b","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":17},"updated":"2021-11-30 11:16:19.000000000","message":"shouldn\u0027t both endpoints exist to serve requests in backward compatibility mode?","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"89c2bc11e11983aad8970d6e418b9c4f7f7d6930","unresolved":false,"context_lines":[{"line_number":140,"context_line":"  | cinderv3     | http://192.168.100.30/volume/v3 |"},{"line_number":141,"context_line":"  +--------------+---------------------------------+"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"rather than this:"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":".. code-block:: console"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e9ff0efe_7ad6315a","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":17},"in_reply_to":"1fc890b3_72fd3ac8","updated":"2021-12-01 05:33:26.000000000","message":"Ack","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6221d90ab6630a40c8c17eeb3f5eda141c15f702","unresolved":true,"context_lines":[{"line_number":140,"context_line":"  | cinderv3     | http://192.168.100.30/volume/v3 |"},{"line_number":141,"context_line":"  +--------------+---------------------------------+"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"rather than this:"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":".. code-block:: console"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1fc890b3_72fd3ac8","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":17},"in_reply_to":"6c25f0a4_7af42e5b","updated":"2021-11-30 17:49:16.000000000","message":"Only a single endpoint is required in the keystone catalog. Clients that use the catalog to look up cinder\u0027s endpoint will get the new endpoint that does not include the project_id.\n\nBut all of this is separate from the API routes. Regardless of the endpoint in the catalog, there will be two routes to each API method.\n- The legacy route that includes a project_id (for backward compatibility)\n- The new route that does not include a project_id","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"70f58c8f8cda55726b2cabc474bd3dc4e265d450","unresolved":true,"context_lines":[{"line_number":171,"context_line":"- Add API routes to connect API requests with no project_id in the URL to the"},{"line_number":172,"context_line":"  associated method"},{"line_number":173,"context_line":"- Add or enhance unit tests"},{"line_number":174,"context_line":"- Update devstack so the cinder endpoint doesn\u0027t use project_id templating"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Dependencies"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"36656569_3345401d","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":74},"updated":"2021-11-30 11:16:19.000000000","message":"same as above, shouldn\u0027t we have both endpoints to serve both type of requests?","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6221d90ab6630a40c8c17eeb3f5eda141c15f702","unresolved":true,"context_lines":[{"line_number":171,"context_line":"- Add API routes to connect API requests with no project_id in the URL to the"},{"line_number":172,"context_line":"  associated method"},{"line_number":173,"context_line":"- Add or enhance unit tests"},{"line_number":174,"context_line":"- Update devstack so the cinder endpoint doesn\u0027t use project_id templating"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Dependencies"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d6029037_7d513747","line":174,"range":{"start_line":174,"start_character":0,"end_line":174,"end_character":74},"in_reply_to":"36656569_3345401d","updated":"2021-11-30 17:49:16.000000000","message":"Same as above :-/ Only a single catalog entry is required, but there will still be separate routes that ensure scripts that don\u0027t look up cinder\u0027s endpoint in the catalog, and add their own project_id reference to an API request, will continue to function.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"70f58c8f8cda55726b2cabc474bd3dc4e265d450","unresolved":true,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Documentation Impact"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"The existing API reference is largely unaffected. This is because the"},{"line_number":195,"context_line":"reference guide is unbranched, and older versions of cinder require a"},{"line_number":196,"context_line":"project_id. A brief note will be added to explain the project_id in the API"},{"line_number":197,"context_line":"reference is optional as of the new microversion."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"References"},{"line_number":200,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"2e161f66_af6ebdb8","line":198,"range":{"start_line":193,"start_character":0,"end_line":198,"end_character":0},"updated":"2021-11-30 11:16:19.000000000","message":"all of our api reference is filled with URLs having project id, maybe we can change the url template to show that project_id is optional","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"6221d90ab6630a40c8c17eeb3f5eda141c15f702","unresolved":true,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Documentation Impact"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"The existing API reference is largely unaffected. This is because the"},{"line_number":195,"context_line":"reference guide is unbranched, and older versions of cinder require a"},{"line_number":196,"context_line":"project_id. A brief note will be added to explain the project_id in the API"},{"line_number":197,"context_line":"reference is optional as of the new microversion."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"References"},{"line_number":200,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3c6b3946_47d42044","line":198,"range":{"start_line":193,"start_character":0,"end_line":198,"end_character":0},"in_reply_to":"2e161f66_af6ebdb8","updated":"2021-11-30 17:49:16.000000000","message":"I feel that would lead to additional confusion. If the template were to suggest the project_id is optional, then readers would infer its optional regardless of the release. Clearly that\u0027s not the case, and the project_id is actually mandatory for clouds running an older release.","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"89c2bc11e11983aad8970d6e418b9c4f7f7d6930","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"Documentation Impact"},{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"The existing API reference is largely unaffected. This is because the"},{"line_number":195,"context_line":"reference guide is unbranched, and older versions of cinder require a"},{"line_number":196,"context_line":"project_id. A brief note will be added to explain the project_id in the API"},{"line_number":197,"context_line":"reference is optional as of the new microversion."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"References"},{"line_number":200,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f946950_68a3169d","line":198,"range":{"start_line":193,"start_character":0,"end_line":198,"end_character":0},"in_reply_to":"3c6b3946_47d42044","updated":"2021-12-01 05:33:26.000000000","message":"Ack","commit_id":"19fe7038579b5826f0d1097c3c391e6c601726a3"}]}
