)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"b05a67529c98a5c7f5e3aef1156fc18590356d09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"965d3abe_69ab3efe","updated":"2026-07-20 15:28:09.000000000","message":"We need here:\n- more precise commit description, why we need this in the upstream\n- release notes\n- support this API call in python-troveclient (e.g. `datastore version set --volume-types`/`datastore version set --remove-volume-types`)","commit_id":"b10b498bf3c0f02a5944a5e29a8a26e82fdb25f6"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"87f362c37e721871d46b428fc1a484146d6d6b38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6bdbc6d8_21781fb1","in_reply_to":"965d3abe_69ab3efe","updated":"2026-07-22 16:03:55.000000000","message":"Done! Here\u0027s the python-troveclient support - https://review.opendev.org/c/openstack/python-troveclient/+/998328","commit_id":"b10b498bf3c0f02a5944a5e29a8a26e82fdb25f6"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"a88704b5d8bf20406ea0f4e2d19647464fe537f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c1f6152c_59af7c5d","updated":"2026-08-07 12:30:55.000000000","message":"recheck","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"}],"api-ref/source/datastore-versions.inc":[{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"b84b6115c8aa996a2d05967742ade8b4f7b0b2cd","unresolved":true,"context_lines":[{"line_number":415,"context_line":"Associate datastore version with volume types"},{"line_number":416,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":".. rest_method::  PATCH /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types/set_volume_types"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"Admin only API."},{"line_number":421,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"8c2c3e49_34b4f091","line":418,"updated":"2026-08-04 17:32:14.000000000","message":"Hmmm... Looks like we\u0027re completely breaking the REST design here in favor of simplicity in our CI. This seems kinda wrong.\n\nWe need to implement an alternative for:\n - datastore_version_volume_type_list (it may be `GET /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types`)\n - datastore_version_volume_type_add (it may be `POST /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types`)\n - datastore_version_volume_type_delete (it may be `DELETE /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types/{volume_type_id}`)\n\nIt\u0027s a most obvious design, and has all the required capabilities. I propose to stick with it.","commit_id":"2b562e9d43f621d770c283643da4656f07c9d1fc"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"c435467c445ba6f3817ef645c26cebbb06d43caf","unresolved":false,"context_lines":[{"line_number":415,"context_line":"Associate datastore version with volume types"},{"line_number":416,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":".. rest_method::  PATCH /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types/set_volume_types"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"Admin only API."},{"line_number":421,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"187ae293_238c87c3","line":418,"in_reply_to":"8c2c3e49_34b4f091","updated":"2026-08-06 08:37:30.000000000","message":"Done","commit_id":"2b562e9d43f621d770c283643da4656f07c9d1fc"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"b84b6115c8aa996a2d05967742ade8b4f7b0b2cd","unresolved":true,"context_lines":[{"line_number":419,"context_line":""},{"line_number":420,"context_line":"Admin only API."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"API alternative for the command ``trove-manage datastore_version_volume_type_add``."},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"The method adds the volume types supplied in ``volume_type_ids`` to the"},{"line_number":425,"context_line":"datastore version. Existing associations not included in the request remain"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"d2fe4895_2d24821b","line":422,"updated":"2026-08-04 17:32:14.000000000","message":"IMO no need to emphasize this here: all API commands already have a corresponding trove-manage method.","commit_id":"2b562e9d43f621d770c283643da4656f07c9d1fc"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"c435467c445ba6f3817ef645c26cebbb06d43caf","unresolved":false,"context_lines":[{"line_number":419,"context_line":""},{"line_number":420,"context_line":"Admin only API."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"API alternative for the command ``trove-manage datastore_version_volume_type_add``."},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"The method adds the volume types supplied in ``volume_type_ids`` to the"},{"line_number":425,"context_line":"datastore version. Existing associations not included in the request remain"}],"source_content_type":"text/x-c++src","patch_set":6,"id":"0f99cf61_7c6148df","line":422,"in_reply_to":"d2fe4895_2d24821b","updated":"2026-08-06 08:37:30.000000000","message":"Done","commit_id":"2b562e9d43f621d770c283643da4656f07c9d1fc"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"b84b6115c8aa996a2d05967742ade8b4f7b0b2cd","unresolved":true,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":"API alternative for the command ``trove-manage datastore_version_volume_type_add``."},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"The method adds the volume types supplied in ``volume_type_ids`` to the"},{"line_number":425,"context_line":"datastore version. Existing associations not included in the request remain"},{"line_number":426,"context_line":"unchanged. Passing an empty ``volume_type_ids`` list removes all volume type"},{"line_number":427,"context_line":"associations."}],"source_content_type":"text/x-c++src","patch_set":6,"id":"d6ce54cf_38c01472","line":424,"updated":"2026-08-04 17:32:14.000000000","message":"Maybe we can set a more brief description, the same as `trove-manage --help` shows:\n```\nAdds volume_type association to a given datastore and datastore version.\n```\n\n`volume_type_ids` is already shown in the parameters table, and doesn\u0027t need to be mentioned in the description.\n\nWe can simply use the description from the `trove-manage` tool if we\u0027ll implement a mirror copy in the API for them.","commit_id":"2b562e9d43f621d770c283643da4656f07c9d1fc"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"c435467c445ba6f3817ef645c26cebbb06d43caf","unresolved":false,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":"API alternative for the command ``trove-manage datastore_version_volume_type_add``."},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"The method adds the volume types supplied in ``volume_type_ids`` to the"},{"line_number":425,"context_line":"datastore version. Existing associations not included in the request remain"},{"line_number":426,"context_line":"unchanged. Passing an empty ``volume_type_ids`` list removes all volume type"},{"line_number":427,"context_line":"associations."}],"source_content_type":"text/x-c++src","patch_set":6,"id":"4bdfe651_c681431d","line":424,"in_reply_to":"d6ce54cf_38c01472","updated":"2026-08-06 08:37:30.000000000","message":"Done","commit_id":"2b562e9d43f621d770c283643da4656f07c9d1fc"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"a480bf952bb9a20082fc6af887b633dc8f1b937c","unresolved":true,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":"Normal response codes: 200"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"Response"},{"line_number":425,"context_line":"--------"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":".. rest_parameters:: parameters.yaml"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"e4f31262_a03d995c","line":424,"updated":"2026-09-14 12:14:33.000000000","message":"Here is the same problem as with the flavor associations API:\n\nIt should be titled `Request` instead of `Response`, right? And in that case, `volume_type_ids` should not be in the list below.","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"2db6ef9f616507bc566254bdef86405a547efd43","unresolved":false,"context_lines":[{"line_number":421,"context_line":""},{"line_number":422,"context_line":"Normal response codes: 200"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"Response"},{"line_number":425,"context_line":"--------"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":".. rest_parameters:: parameters.yaml"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"48985637_8f9fbefa","line":424,"in_reply_to":"e4f31262_a03d995c","updated":"2026-09-15 07:51:37.000000000","message":"Done","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"a480bf952bb9a20082fc6af887b633dc8f1b937c","unresolved":true,"context_lines":[{"line_number":430,"context_line":"   - datastore_version_id: datastore_version_id"},{"line_number":431,"context_line":"   - volume_type_ids: volume_type_ids"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":""},{"line_number":434,"context_line":""},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"Add datastore version volume type associations"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"bb6e4683_30b8a2b6","line":433,"updated":"2026-09-14 12:14:33.000000000","message":"Also, we should probably add a `Response` example section here for clarity.","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"2db6ef9f616507bc566254bdef86405a547efd43","unresolved":false,"context_lines":[{"line_number":430,"context_line":"   - datastore_version_id: datastore_version_id"},{"line_number":431,"context_line":"   - volume_type_ids: volume_type_ids"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":""},{"line_number":434,"context_line":""},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"Add datastore version volume type associations"}],"source_content_type":"text/x-c++src","patch_set":8,"id":"bae22341_b51d8e23","line":433,"in_reply_to":"bb6e4683_30b8a2b6","updated":"2026-09-15 07:51:37.000000000","message":"Done","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"},{"author":{"_account_id":36080,"name":"Erkin Mussurmankulov","display_name":"Eric","email":"erkin.mussurmankulov@ps.kz","username":"mongoose404","status":"PS Cloud services employee"},"change_message_id":"a480bf952bb9a20082fc6af887b633dc8f1b937c","unresolved":true,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":".. rest_method::  POST /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"Admin only API. Add volume type associations to a datastore version."},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"Normal response codes: 202"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":8,"id":"ce5e1590_1ae8bfc1","line":441,"updated":"2026-09-14 12:14:33.000000000","message":"The same as for flavors.\n\nI think we should be specific here and say what would happen in different cases:\n\n- If some existing associations are already present, will this call remove them?\n- What would happen if the provided volume type is invalid;\n- What if the volume type association is already present;","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"},{"author":{"_account_id":39300,"name":"Olessya Khussainova","display_name":"Olessya Khussainova","email":"olessya.khussainova@ps.kz","username":"Cellofun"},"change_message_id":"2db6ef9f616507bc566254bdef86405a547efd43","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":".. rest_method::  POST /v1.0/{project_id}/mgmt/datastore-versions/{datastore_version_id}/volume-types"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"Admin only API. Add volume type associations to a datastore version."},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"Normal response codes: 202"},{"line_number":444,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":8,"id":"bf2a3b73_487e77c8","line":441,"in_reply_to":"ce5e1590_1ae8bfc1","updated":"2026-09-15 07:51:37.000000000","message":"Done","commit_id":"cb7d519f773d9fbc5b1989309806c38ebc3d7516"}]}
