)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5d67ec28668fa447d9ea6a6f20d5a32ace373d6b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fbc51f66_9e4cd945","updated":"2021-12-07 23:13:07.000000000","message":"A few questions and items to fix noted inline.","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84de7e3a86cd1db31af301af8a38a2d2992f3dfb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0a3ffd57_16b88cfe","updated":"2021-12-21 14:20:48.000000000","message":"I think you need to answer Eric\u0027s question explicitly in the text.  Also some formatting problems noted.  Also, rebase your patch on master before re-submitting.","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3554ace3_9c5032d2","updated":"2022-07-06 08:54:25.000000000","message":"As Jay mentioned, this needs to be retargeted for the Zed release.\nAlso I\u0027ve some comments inline.\nSince we are currently in the spec freeze exception week, we are not really accepting new specs but this could be an exception since the feature doesn\u0027t really require a spec but it would be good for documentation. I\u0027ve added a discussion point to today\u0027s cinder meeting[1]\n\n[1] https://etherpad.opendev.org/p/cinder-zed-meetings","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"86c03322fe2bf45173bc8fc2cfadbd7283b0f93f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"849874da_d5fa49e2","updated":"2022-09-15 12:51:20.000000000","message":"Even though this was restored, there has still been no activity.\nThis will now have to be be moved to the 2023.1 cycle.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"a4eaee3c330b2a77e75d35a3ad23b2ead8b2645c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"57e54c57_31a88b96","updated":"2023-08-10 12:41:10.000000000","message":"Given the associated patch has already merged we should probably just abandon this, especially as the spec is in the wrong release directory from where it was merged.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"c311e0154d9f132f37af2ca1d99cde4ea9ff5fe1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f4da03ff_d78e793d","updated":"2022-01-10 10:20:11.000000000","message":"LGTM","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"2c23f6c5c357a724dc5b28a526d431c228b8b576","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d7f13335_5faa505f","updated":"2022-01-07 15:56:50.000000000","message":"Looks like Eric and Brian\u0027s comments have been addressed and I see no other issues.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9324c439520e843d698b3087271ca0149acefab0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8b764db3_957c7a86","updated":"2022-07-06 08:55:40.000000000","message":"Restored since the author has raised the query on ML[1] and would like to actively work on it.\n-1 for the comments.\n\n[1] https://lists.openstack.org/pipermail/openstack-discuss/2022-July/029403.html","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"497501518e39c45bdd5122b9b6562656d0f9fa79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"458ca239_003b671d","updated":"2022-10-06 08:29:08.000000000","message":"This has already merged: https://review.opendev.org/c/openstack/cinder/+/820027\nAnd AFAIK we don\u0027t need specs to implement an existing feature in a driver.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"da21758aade2f1fd061e8b60be036f04bbfd8c6e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0a3d1d52_ad37920a","updated":"2022-02-18 15:14:11.000000000","message":"This will need to move to the Zed specs folder.  Otherwise I think it looks ok.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"}],"specs/yoga/rbd-backend-qos.rst":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5d67ec28668fa447d9ea6a6f20d5a32ace373d6b","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Temporary Resource Tracking"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/rbd-backend-qos"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c4880ccd_9127fc1b","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":27},"updated":"2021-12-07 23:13:07.000000000","message":"I think you need a more accurate title :)","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"8593d3d8c6bb39349f47690d6c43a2d208267a65","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Temporary Resource Tracking"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/rbd-backend-qos"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e8a1cb88_b56a625a","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":27},"in_reply_to":"c4880ccd_9127fc1b","updated":"2021-12-15 23:14:12.000000000","message":"Done","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5d67ec28668fa447d9ea6a6f20d5a32ace373d6b","unresolved":true,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Cinder\u0027s frontend QOS spec implementation has some limitations that the backend implementation doesn\u0027t, namely the ability to re-type in-use volumes with frontend specs is currently not supported."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Since the Octopus release of Ceph the librbd driver has supported implementing QOS limitations on a per pool or per image basis and would provide support for Cinder backend QOS policies.  This would allow an admin to set a series of qos specs for a volume-type and have it natively set within the ceph cluster itself."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e8dc7adb_f0f8d2ce","line":19,"updated":"2021-12-07 23:13:07.000000000","message":"It would be nice to observe the 79 char line limit, it makes the marked up text easier to read.","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"8593d3d8c6bb39349f47690d6c43a2d208267a65","unresolved":false,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Cinder\u0027s frontend QOS spec implementation has some limitations that the backend implementation doesn\u0027t, namely the ability to re-type in-use volumes with frontend specs is currently not supported."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Since the Octopus release of Ceph the librbd driver has supported implementing QOS limitations on a per pool or per image basis and would provide support for Cinder backend QOS policies.  This would allow an admin to set a series of qos specs for a volume-type and have it natively set within the ceph cluster itself."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"97dad210_0ba5c291","line":19,"in_reply_to":"e8dc7adb_f0f8d2ce","updated":"2021-12-15 23:14:12.000000000","message":"Done","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5d67ec28668fa447d9ea6a6f20d5a32ace373d6b","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The implementation should allow for any of the above keys to be set, updated or deleted during a cinder retyping event.  We\u0027ll need to setup 3 new functions to implement this:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  * Get librbd version, to use to determine if the python3-rbd package is new enough to support config_set"},{"line_number":52,"context_line":"  * Set QOS, used during a volume update event to set a spec key missing from the image but present in the QOS spec."},{"line_number":53,"context_line":"  * Delete QOS, used during a volume update event where spec keys are missing from the QOS spec."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"05afecf0_3e9eba4b","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":106},"updated":"2021-12-07 23:13:07.000000000","message":"What will you do if the support is not available?","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"8593d3d8c6bb39349f47690d6c43a2d208267a65","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The implementation should allow for any of the above keys to be set, updated or deleted during a cinder retyping event.  We\u0027ll need to setup 3 new functions to implement this:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  * Get librbd version, to use to determine if the python3-rbd package is new enough to support config_set"},{"line_number":52,"context_line":"  * Set QOS, used during a volume update event to set a spec key missing from the image but present in the QOS spec."},{"line_number":53,"context_line":"  * Delete QOS, used during a volume update event where spec keys are missing from the QOS spec."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"a87afede_662b7f9e","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":106},"in_reply_to":"05afecf0_3e9eba4b","updated":"2021-12-15 23:14:12.000000000","message":"as of now it ignores the QOS settings and prints a warning.  I\u0027m can\u0027t think of a better option really so if you have any ideas please let me know.","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5d67ec28668fa447d9ea6a6f20d5a32ace373d6b","unresolved":true,"context_lines":[{"line_number":53,"context_line":"  * Delete QOS, used during a volume update event where spec keys are missing from the QOS spec."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"We\u0027ll also need to compare the installed librbd / pybind version as the config_set option is only available from Octopus on."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"2ad503ca_fa7702ba","line":56,"updated":"2021-12-07 23:13:07.000000000","message":"A question came up at the midcycle, namely, what about image mirroring (replication)?  Will the qos settings be replicated on the secondary locations?  I think you need to address that in this spec.","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"8593d3d8c6bb39349f47690d6c43a2d208267a65","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  * Delete QOS, used during a volume update event where spec keys are missing from the QOS spec."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"We\u0027ll also need to compare the installed librbd / pybind version as the config_set option is only available from Octopus on."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba8b7040_c32ea30a","line":56,"in_reply_to":"2ad503ca_fa7702ba","updated":"2021-12-15 23:14:12.000000000","message":"I tested config_set with rbd-mirroring enabled and the qos policies are replicated to the replica site.  have added this as a note in the spec","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5d67ec28668fa447d9ea6a6f20d5a32ace373d6b","unresolved":true,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Proposed Cinder code implementation:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* https://review.opendev.org/c/openstack/cinder/+/786385"}],"source_content_type":"text/x-rst","patch_set":1,"id":"25eff263_ae393663","line":147,"range":{"start_line":147,"start_character":50,"end_line":147,"end_character":56},"updated":"2021-12-07 23:13:07.000000000","message":"This should be 820027","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"8593d3d8c6bb39349f47690d6c43a2d208267a65","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Proposed Cinder code implementation:"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"* https://review.opendev.org/c/openstack/cinder/+/786385"}],"source_content_type":"text/x-rst","patch_set":1,"id":"698e5171_93130939","line":147,"range":{"start_line":147,"start_character":50,"end_line":147,"end_character":56},"in_reply_to":"25eff263_ae393663","updated":"2021-12-15 23:14:12.000000000","message":"yeah, apologies it was a copy paste error","commit_id":"6a40f17d79f7a83af0690a020876d2f79fb85ab6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84de7e3a86cd1db31af301af8a38a2d2992f3dfb","unresolved":true,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Implement support for backend QOS polcies in the rbd driver for the following"},{"line_number":46,"context_line":"keys:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    * total_iops_sec"},{"line_number":49,"context_line":"    * read_iops_sec"},{"line_number":50,"context_line":"    * write_iops_sec"}],"source_content_type":"text/x-rst","patch_set":5,"id":"163420e4_7b608c5e","line":47,"updated":"2021-12-21 14:20:48.000000000","message":"formatting issue: don\u0027t indent the list items below (i.e., put the \u0027*\u0027 in column 1)","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"5713e02bfeffb2513a157ebcf414bd6ada0c53e2","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Implement support for backend QOS polcies in the rbd driver for the following"},{"line_number":46,"context_line":"keys:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    * total_iops_sec"},{"line_number":49,"context_line":"    * read_iops_sec"},{"line_number":50,"context_line":"    * write_iops_sec"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b3a157d6_2b70f446","line":47,"in_reply_to":"163420e4_7b608c5e","updated":"2022-01-07 15:41:47.000000000","message":"Ack","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"25132e9b3ab55b327946867666e30890312b03aa","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    * total_bytes_sec_max"},{"line_number":58,"context_line":"    * read_bytes_sec_max"},{"line_number":59,"context_line":"    * write_bytes_sec_max"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The implementation should allow for any of the above keys to be set, updated"},{"line_number":62,"context_line":"or deleted during a cinder volume creation or retyping event.  We\u0027ll need to"},{"line_number":63,"context_line":"setup 3 new functions to implement this:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"4074db72_413aec05","line":60,"updated":"2021-12-15 14:48:52.000000000","message":"Need to look at how this interacts with read_iops_sec_per_gb, write_bytes_sec_per_gb, etc., qos fields as well.  Are they supported by this?","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"8593d3d8c6bb39349f47690d6c43a2d208267a65","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    * total_bytes_sec_max"},{"line_number":58,"context_line":"    * read_bytes_sec_max"},{"line_number":59,"context_line":"    * write_bytes_sec_max"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The implementation should allow for any of the above keys to be set, updated"},{"line_number":62,"context_line":"or deleted during a cinder volume creation or retyping event.  We\u0027ll need to"},{"line_number":63,"context_line":"setup 3 new functions to implement this:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"45119ffe_28e1a052","line":60,"in_reply_to":"4074db72_413aec05","updated":"2021-12-15 23:14:12.000000000","message":"Right now no, these are hard limits set rather than dynamic values based on volume size.  So ultimately they would take precedence over the per gb value once their limits are breached.","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84de7e3a86cd1db31af301af8a38a2d2992f3dfb","unresolved":true,"context_lines":[{"line_number":57,"context_line":"    * total_bytes_sec_max"},{"line_number":58,"context_line":"    * read_bytes_sec_max"},{"line_number":59,"context_line":"    * write_bytes_sec_max"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The implementation should allow for any of the above keys to be set, updated"},{"line_number":62,"context_line":"or deleted during a cinder volume creation or retyping event.  We\u0027ll need to"},{"line_number":63,"context_line":"setup 3 new functions to implement this:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ed23c22e_a958b31a","line":60,"in_reply_to":"45119ffe_28e1a052","updated":"2021-12-21 14:20:48.000000000","message":"@Danny: I think you should mention this explicitly in the text of your spec.","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"5713e02bfeffb2513a157ebcf414bd6ada0c53e2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    * total_bytes_sec_max"},{"line_number":58,"context_line":"    * read_bytes_sec_max"},{"line_number":59,"context_line":"    * write_bytes_sec_max"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The implementation should allow for any of the above keys to be set, updated"},{"line_number":62,"context_line":"or deleted during a cinder volume creation or retyping event.  We\u0027ll need to"},{"line_number":63,"context_line":"setup 3 new functions to implement this:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e74c547e_3776d53f","line":60,"in_reply_to":"ed23c22e_a958b31a","updated":"2022-01-07 15:41:47.000000000","message":"Done","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84de7e3a86cd1db31af301af8a38a2d2992f3dfb","unresolved":true,"context_lines":[{"line_number":62,"context_line":"or deleted during a cinder volume creation or retyping event.  We\u0027ll need to"},{"line_number":63,"context_line":"setup 3 new functions to implement this:"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    * Get librbd version, to use to determine if the python3 - rbd package"},{"line_number":66,"context_line":"      is new enough to support config_set"},{"line_number":67,"context_line":"    * Get current QOS settings of volume on retype"},{"line_number":68,"context_line":"    * Set QOS, used during a volume update event to set a spec key present"},{"line_number":69,"context_line":"      in the QOS spec."},{"line_number":70,"context_line":"    * Delete QOS, used during a volume update event where spec keys are"},{"line_number":71,"context_line":"      missing from the QOS spec."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"We\u0027ll also need to compare the installed librbd / pybind version as the"},{"line_number":74,"context_line":"config_set option is only available from Octopus on.  We should log a warning"}],"source_content_type":"text/x-rst","patch_set":5,"id":"481f51c8_60af2dc9","line":71,"range":{"start_line":65,"start_character":0,"end_line":71,"end_character":32},"updated":"2021-12-21 14:20:48.000000000","message":"same as above ... don\u0027t indent the list items.  Otherwise, it looks like this:\nhttps://d29123bcde0971fd2051-b66a943d9312fbe3ccb3a2881f2cac57.ssl.cf2.rackcdn.com/820030/5/check/openstack-tox-docs/a2b5d07/docs/specs/yoga/rbd-backend-qos.html","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"5713e02bfeffb2513a157ebcf414bd6ada0c53e2","unresolved":false,"context_lines":[{"line_number":62,"context_line":"or deleted during a cinder volume creation or retyping event.  We\u0027ll need to"},{"line_number":63,"context_line":"setup 3 new functions to implement this:"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    * Get librbd version, to use to determine if the python3 - rbd package"},{"line_number":66,"context_line":"      is new enough to support config_set"},{"line_number":67,"context_line":"    * Get current QOS settings of volume on retype"},{"line_number":68,"context_line":"    * Set QOS, used during a volume update event to set a spec key present"},{"line_number":69,"context_line":"      in the QOS spec."},{"line_number":70,"context_line":"    * Delete QOS, used during a volume update event where spec keys are"},{"line_number":71,"context_line":"      missing from the QOS spec."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"We\u0027ll also need to compare the installed librbd / pybind version as the"},{"line_number":74,"context_line":"config_set option is only available from Octopus on.  We should log a warning"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ffcf203_f55a0677","line":71,"range":{"start_line":65,"start_character":0,"end_line":71,"end_character":32},"in_reply_to":"481f51c8_60af2dc9","updated":"2022-01-07 15:41:47.000000000","message":"Done","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"84de7e3a86cd1db31af301af8a38a2d2992f3dfb","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Implementation"},{"line_number":132,"context_line":"\u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Assignee(s)"},{"line_number":135,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"0d4ef02e_65536529","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":20},"updated":"2021-12-21 14:20:48.000000000","message":"not sure what happened here, but with the spaces, sphinx doesn\u0027t recognize it as a heading marker","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"3e8ab7724c0d79be76e67a01f357fc74ffb2882d","unresolved":true,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Implementation"},{"line_number":132,"context_line":"\u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Assignee(s)"},{"line_number":135,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"feadf927_81d7ecd4","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":20},"in_reply_to":"0d4ef02e_65536529","updated":"2021-12-21 16:14:33.000000000","message":"apologies, I think this happened when I tried to use python-pep8 on the file, it did lots of weird formatting things, will fix it.","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":32051,"name":"Danny Webb","email":"danny.webb@thehutgroup.com","username":"dswebb"},"change_message_id":"5713e02bfeffb2513a157ebcf414bd6ada0c53e2","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Implementation"},{"line_number":132,"context_line":"\u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d \u003d\u003d"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Assignee(s)"},{"line_number":135,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b10b6c77_8d4c1646","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":20},"in_reply_to":"feadf927_81d7ecd4","updated":"2022-01-07 15:41:47.000000000","message":"Ack","commit_id":"a469ea1f12fcc4d1911a62095007a73f44e474dd"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Cinder\u0027s frontend QOS spec implementation has some limitations that the"},{"line_number":20,"context_line":"backend implementation doesn\u0027t, namely the ability to re-type in-use"},{"line_number":21,"context_line":"volumes with frontend specs is currently not supported."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Since the Octopus release of Ceph the librbd driver has supported"}],"source_content_type":"text/x-rst","patch_set":6,"id":"64b76208_a0b62a83","line":20,"range":{"start_line":20,"start_character":54,"end_line":20,"end_character":61},"updated":"2022-07-06 08:54:25.000000000","message":"nit: retype","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"497501518e39c45bdd5122b9b6562656d0f9fa79","unresolved":true,"context_lines":[{"line_number":53,"context_line":"* total_bytes_sec_max"},{"line_number":54,"context_line":"* read_bytes_sec_max"},{"line_number":55,"context_line":"* write_bytes_sec_max"},{"line_number":56,"context_line":"* total_iops_sec_period"},{"line_number":57,"context_line":"* read_iops_sec_period"},{"line_number":58,"context_line":"* write_iops_sec_period"},{"line_number":59,"context_line":"* total_bytes_sec_period"},{"line_number":60,"context_line":"* read_bytes_sec_period"},{"line_number":61,"context_line":"* write_bytes_sec_period"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The following frontend capacity based QOS keys are currently not in scope of"},{"line_number":64,"context_line":"this spec and if set will be ignored by the backend:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9bbf5d0e_c97ccb30","line":61,"range":{"start_line":56,"start_character":0,"end_line":61,"end_character":24},"updated":"2022-10-06 08:29:08.000000000","message":"-1: These are not standard values in OpenStack [1], these would require a different conversation since they involve the generic QoS feature.\n\n[1]: https://docs.openstack.org/cinder/latest/admin/basic-volume-qos.html","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"497501518e39c45bdd5122b9b6562656d0f9fa79","unresolved":true,"context_lines":[{"line_number":60,"context_line":"* read_bytes_sec_period"},{"line_number":61,"context_line":"* write_bytes_sec_period"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The following frontend capacity based QOS keys are currently not in scope of"},{"line_number":64,"context_line":"this spec and if set will be ignored by the backend:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* read_iops_sec_per_gb"},{"line_number":67,"context_line":"* write_iops_sec_per_gb"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d8ea2ff7_a353d049","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":52},"updated":"2022-10-06 08:29:08.000000000","message":"-1: They are not ignored if QoS is set to \"frontend\" or \"both\".","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":80,"context_line":"updated or deleted during a cinder volume creation or retyping event."},{"line_number":81,"context_line":"We\u0027ll need to setup 4 new functions to implement this:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Get librbd version, to use to determine if the python3-rbd package"},{"line_number":84,"context_line":"  is new enough to support config_set"},{"line_number":85,"context_line":"* Get current QOS settings of volume on retype"},{"line_number":86,"context_line":"* Set QOS, used during a volume create / update event to set a spec key"},{"line_number":87,"context_line":"  present in the QOS spec."},{"line_number":88,"context_line":"* Delete QOS, used during a volume update event where spec keys are"},{"line_number":89,"context_line":"  missing from the QOS spec."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"We\u0027ll also need to compare the installed librbd / pybind version as the"},{"line_number":92,"context_line":"config_set option is only available from Octopus on.  We should log a warning"},{"line_number":93,"context_line":"if someone tries to use backend qos specs on an earlier version."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff6755b0_c3f42ed3","line":90,"range":{"start_line":83,"start_character":0,"end_line":90,"end_character":0},"updated":"2022-07-06 08:54:25.000000000","message":"not a strong opinion but would be better to write it in \"method: usage\" format like\n\nget_librbd_version(): determine if the python3-rbd package is new enough to support config_set\nget_qos(): ...\nset_qos(): ...\ndelete_qos(): ...\n\nAssuming the implementation patch also has the same method names","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":92,"context_line":"config_set option is only available from Octopus on.  We should log a warning"},{"line_number":93,"context_line":"if someone tries to use backend qos specs on an earlier version."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Testing has shown the image configuration is replicated in a mirror"},{"line_number":96,"context_line":"scenario."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5823ff66_fe5ad805","line":95,"range":{"start_line":95,"start_character":22,"end_line":95,"end_character":27},"updated":"2022-07-06 08:54:25.000000000","message":"do you mean the RBD image? better to use cinder specific terms like volume and replication instead of image and mirror","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":98,"context_line":"Alternatives"},{"line_number":99,"context_line":"------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"N / A"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Data model impact"},{"line_number":104,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d3b4a924_0b353f5a","line":101,"range":{"start_line":101,"start_character":0,"end_line":101,"end_character":5},"updated":"2022-07-06 08:54:25.000000000","message":"None is more consistent","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":133,"context_line":"Performance Impact"},{"line_number":134,"context_line":"------------------"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Cinder volume operations will be marginally slower for the rbd driver as it"},{"line_number":137,"context_line":"will need to make a series of calls to the Ceph cluster in order to determine"},{"line_number":138,"context_line":"currently set QOS policies, set new QOS policies and / or remove any unused"},{"line_number":139,"context_line":"QOS policies."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Other deployer impact"},{"line_number":142,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"80b9ea03_5a5ae543","line":139,"range":{"start_line":136,"start_character":0,"end_line":139,"end_character":13},"updated":"2022-07-06 08:54:25.000000000","message":"this makes me think that we should have a config option if we want to enable/disable backend QoS checks since not everyone would want to opt into it because of performance drawbacks.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":161,"context_line":"Work Items"},{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* cinder RBD changes"},{"line_number":165,"context_line":"* documentation of the new policies."},{"line_number":166,"context_line":"* test changes"},{"line_number":167,"context_line":"* Check if mirroring also copies config data"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a2ccc697_1cd53094","line":164,"range":{"start_line":164,"start_character":2,"end_line":164,"end_character":20},"updated":"2022-07-06 08:54:25.000000000","message":"Changes in RBD driver to implement the 4 new functions mentioned in the proposed change section","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* cinder RBD changes"},{"line_number":165,"context_line":"* documentation of the new policies."},{"line_number":166,"context_line":"* test changes"},{"line_number":167,"context_line":"* Check if mirroring also copies config data"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"a76a6b40_d0ed32ca","line":165,"range":{"start_line":165,"start_character":27,"end_line":165,"end_character":35},"updated":"2022-07-06 08:54:25.000000000","message":"In cinder, policies means the RBAC rules so better to say QoS Policies\nAlso documentation has a separate section in specs so better to mention in the appropriate section.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* cinder RBD changes"},{"line_number":165,"context_line":"* documentation of the new policies."},{"line_number":166,"context_line":"* test changes"},{"line_number":167,"context_line":"* Check if mirroring also copies config data"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"8270f45b_48a8bbbc","line":166,"range":{"start_line":166,"start_character":2,"end_line":166,"end_character":14},"updated":"2022-07-06 08:54:25.000000000","message":"remove this, testing related things should be mentioned in Testing section","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":164,"context_line":"* cinder RBD changes"},{"line_number":165,"context_line":"* documentation of the new policies."},{"line_number":166,"context_line":"* test changes"},{"line_number":167,"context_line":"* Check if mirroring also copies config data"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4ee13627_174d2acd","line":167,"range":{"start_line":167,"start_character":11,"end_line":167,"end_character":20},"updated":"2022-07-06 08:54:25.000000000","message":"Do you mean replication? It\u0027s better to mention operations that cinder offers and not be RBD specific.","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"a1e5196c6edaaf4d3e78db2fb07ea1bb19dd2826","unresolved":true,"context_lines":[{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Testing"},{"line_number":177,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Documentation Impact"},{"line_number":181,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"457489b5_066379d1","line":178,"updated":"2022-07-06 08:54:25.000000000","message":"We need unit and functional tests at least for this feature","commit_id":"8065df89f1c20330b627f17de8b2513c96892eb0"}]}
