)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"81c27c1c9df622b86f9f0a5fbc669951b0a18c77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"06c1d665_05185b4f","updated":"2025-05-20 13:24:16.000000000","message":"recheck","commit_id":"3ccac8e400cf956c112869b26d9bf5004495d6bd"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8206ffeecf3dd2dc93425019f4618107cc035077","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d59117a1_3f655558","updated":"2025-05-23 07:11:09.000000000","message":"recheck","commit_id":"aa23f7200f4e4f56771cebd96fae447cbd67347b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b1f9967999ed79e4bcf0411175c50dbeb0d79039","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"36811bd9_5144a165","updated":"2025-05-27 15:49:50.000000000","message":"recheck\nCI should be fixed now, let\u0027s give it another try","commit_id":"aa23f7200f4e4f56771cebd96fae447cbd67347b"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a213db10616d8be26eae22a43cdfff46da5d1a17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a6ec39e0_3f72e211","updated":"2025-05-29 10:22:32.000000000","message":"FYI: This needs update when https://review.opendev.org/c/openstack/manila/+/916061 will be merged.","commit_id":"f9dc2f3fbd56ef55044086cfc525c900db1495d9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8d39eef31547f5e1fca26f4a24468914d6d28df1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"63599cb3_925e45c7","updated":"2025-05-29 09:58:33.000000000","message":"recheck","commit_id":"f9dc2f3fbd56ef55044086cfc525c900db1495d9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"95afd7bdb5e30e23e958506c161754aada84a570","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"858fd420_3208055c","updated":"2025-06-23 15:06:37.000000000","message":"Added more tests","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1ea71dc98924768eaee273e3cca3f0deaeb1c892","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d869a5ba_6ae0a7df","updated":"2025-06-22 10:18:01.000000000","message":"Changes looks good for me me, there are few comments I have provided. Apart from those comments. Fix the below comments also \n- Add more unit test to improve the code coverage. Few lines are not covered.\n- Typo on commit message \"sureto\"","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4e3663c702937273068edb9a3827988aa227bd1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"11778104_42d5fdd8","updated":"2025-07-10 05:41:29.000000000","message":"Thanks kiran for incorporating the review comments, Changes looks good for me, I have few minor comments, please have a look into those.","commit_id":"55a4c0f07014afef6d8d9d1ef769883256cf6c52"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bd413f7a1b41d62ee2206710f093243b6159a23d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4003e21d_56cddb58","updated":"2025-07-10 14:21:05.000000000","message":"recheck","commit_id":"614eadbb15dfa225cbc7b7aab51b86d96cfab555"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"acecd9d1a17af4b1a108cc1ebaa3feaac555e6ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dd3beb4d_228368f4","updated":"2025-07-11 07:16:13.000000000","message":"recheck","commit_id":"614eadbb15dfa225cbc7b7aab51b86d96cfab555"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"180ca4abe22c2990afdfb5ba60ef200d4b176644","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"95d909d1_5ad1e8c1","updated":"2025-09-12 21:14:21.000000000","message":"Looks good overall, only have one comment in a possible typo that can mean this won\u0027t work","commit_id":"b478422053c58307969b704e16f4706a7f60fd00"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fbde6c3bcd107c0e1ef7ec7f013ddde1612ea340","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1dd695e8_b06209c3","in_reply_to":"95d909d1_5ad1e8c1","updated":"2025-09-13 04:57:08.000000000","message":"its one of the minimum throughput params, added test for it.","commit_id":"b478422053c58307969b704e16f4706a7f60fd00"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ce555e6aed37b089c0256f812b9896dd6255ff7e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"20319161_54b92083","updated":"2025-12-16 14:01:10.000000000","message":"Hey, Kiran. Change looks good, only followed up in the comment that Gireesh left. If you\u0027d like to fix the releae note on this patch, otherwise, please let me know and we can go ahead with the change and you can submit a follow-up change with the fixes to the release note.","commit_id":"3fa79cb643e2064324e71e0f5a9fb97578fc6650"},{"author":{"_account_id":38371,"name":"Kumar Tadepalli","display_name":"Kumar Tadepalli","email":"kumart.lead@gmail.com","username":"kumart","status":"NetApp"},"change_message_id":"4776e55646d665207cd23cf70f878ea0c6e1bcde","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"fa23c8e1_beafe6fe","updated":"2025-12-08 05:11:49.000000000","message":"LGTM","commit_id":"3fa79cb643e2064324e71e0f5a9fb97578fc6650"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"84aeb730a096d3a7459a89d78bfd6b9d6d5a3dc8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f9e867e6_a7295dfd","updated":"2025-12-15 05:04:19.000000000","message":"LGTM ..!","commit_id":"3fa79cb643e2064324e71e0f5a9fb97578fc6650"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"501d082643a690399354e9ff193ba4c2af2b716c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"956fa2ac_13c8d262","updated":"2025-12-12 10:47:01.000000000","message":"run-NetApp CI","commit_id":"3fa79cb643e2064324e71e0f5a9fb97578fc6650"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"fc390c74183627307532233fdb812b0e51736e97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"2736e092_0e8f21ce","updated":"2025-12-18 11:48:31.000000000","message":"LGTM ..!","commit_id":"cd80e93e29e6cccbd8683bfc1cc6bbf3d3ca64a9"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f6553e6a860fec9599053c0ef4fffba0cd319b40","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d33cfdaa_82543a84","updated":"2025-12-17 16:25:15.000000000","message":"LGTM, thanks for fixing the release note","commit_id":"cd80e93e29e6cccbd8683bfc1cc6bbf3d3ca64a9"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1ea71dc98924768eaee273e3cca3f0deaeb1c892","unresolved":true,"context_lines":[{"line_number":1582,"context_line":"            msg \u003d _(\"The extra-spec \u0027qos\u0027 is set to True, but no netapp \""},{"line_number":1583,"context_line":"                    \"supported qos-specs have been specified in the share \""},{"line_number":1584,"context_line":"                    \"type. Cannot provision a QoS policy. Specify any of the \""},{"line_number":1585,"context_line":"                    \"following max-throughput extra-specs and/or any of the \""},{"line_number":1586,"context_line":"                    \"following min-throughput extras-specs and try again: %s\")"},{"line_number":1587,"context_line":"            specs \u003d self.MAX_QOS_SPECS.copy()"},{"line_number":1588,"context_line":"            specs.update(self.MIN_QOS_SPECS)"},{"line_number":1589,"context_line":"            raise exception.NetAppException(msg % list(specs))"}],"source_content_type":"text/x-python","patch_set":4,"id":"4e72bf4b_f5f87233","line":1586,"range":{"start_line":1585,"start_character":20,"end_line":1586,"end_character":78},"updated":"2025-06-22 10:18:01.000000000","message":"Change this to \n\n\"Specify any of the following max-throughput extra-specs and/or the min-throughput extra-specs and try again\"","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"95afd7bdb5e30e23e958506c161754aada84a570","unresolved":false,"context_lines":[{"line_number":1582,"context_line":"            msg \u003d _(\"The extra-spec \u0027qos\u0027 is set to True, but no netapp \""},{"line_number":1583,"context_line":"                    \"supported qos-specs have been specified in the share \""},{"line_number":1584,"context_line":"                    \"type. Cannot provision a QoS policy. Specify any of the \""},{"line_number":1585,"context_line":"                    \"following max-throughput extra-specs and/or any of the \""},{"line_number":1586,"context_line":"                    \"following min-throughput extras-specs and try again: %s\")"},{"line_number":1587,"context_line":"            specs \u003d self.MAX_QOS_SPECS.copy()"},{"line_number":1588,"context_line":"            specs.update(self.MIN_QOS_SPECS)"},{"line_number":1589,"context_line":"            raise exception.NetAppException(msg % list(specs))"}],"source_content_type":"text/x-python","patch_set":4,"id":"71ee16fa_80cc4fcf","line":1586,"range":{"start_line":1585,"start_character":20,"end_line":1586,"end_character":78},"in_reply_to":"4e72bf4b_f5f87233","updated":"2025-06-23 15:06:37.000000000","message":"Done","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1ea71dc98924768eaee273e3cca3f0deaeb1c892","unresolved":true,"context_lines":[{"line_number":1615,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1616,"context_line":"                int(qos_specs[\u0027maxbpspergib\u0027]) * int(share_size))"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"    def _get_min_throughput(self, share_size, qos_specs):"},{"line_number":1619,"context_line":"        # QoS limits are exclusive of one another."},{"line_number":1620,"context_line":"        if \u0027miniops\u0027 in qos_specs:"},{"line_number":1621,"context_line":"            return \u0027%siops\u0027 % qos_specs[\u0027miniops\u0027]"},{"line_number":1622,"context_line":"        elif \u0027miniopspergib\u0027 in qos_specs:"},{"line_number":1623,"context_line":"            return \u0027%siops\u0027 % str("},{"line_number":1624,"context_line":"                int(qos_specs[\u0027miniopspergib\u0027]) * int(share_size))"},{"line_number":1625,"context_line":"        elif \u0027minbps\u0027 in qos_specs:"},{"line_number":1626,"context_line":"            return \u0027%sB/s\u0027 % qos_specs[\u0027minbps\u0027]"},{"line_number":1627,"context_line":"        elif \u0027minbpspergib\u0027 in qos_specs:"},{"line_number":1628,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1629,"context_line":"                int(qos_specs[\u0027minbpspergib\u0027]) * int(share_size))"},{"line_number":1630,"context_line":""},{"line_number":1631,"context_line":"    @na_utils.trace"},{"line_number":1632,"context_line":"    def _create_qos_policy_group(self, share, vserver, qos_specs,"},{"line_number":1633,"context_line":"                                 vserver_client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"83215616_a36a88fa","line":1630,"range":{"start_line":1618,"start_character":4,"end_line":1630,"end_character":0},"updated":"2025-06-22 10:18:01.000000000","message":"For throughput user can provide both ipos and MB/s together. If possible can you change the code accordingly. Same is applicable for max throughput.\n\nBelow is the ZAPI docs \n------------------------\nMinimum throughput defined by this policy. It is specified in terms of\nIOPS or MB/s or a combination of comma separated IOPS and MB/s.\nThe values entered here are case-insensitive, and the units are base\nten. There should be no space between the number and the units. The\ndefault value for min-throughput is 0. The default unit is IOPS. One\nreserved keywords, \u0027none\u0027 is available for the situation that requires\nremoval of a value. Examples of valid specifications are: 100B/s,\n10KB/s, 1gb/s, 500MB/s, 1tb/s, 100iops. Examples of valid\nspecification of combination of iops and throughput are\n100iops,400KB/s, and 800KB/s,800iops. Attributes: optional-forcreate, modifiable","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4e3663c702937273068edb9a3827988aa227bd1f","unresolved":false,"context_lines":[{"line_number":1615,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1616,"context_line":"                int(qos_specs[\u0027maxbpspergib\u0027]) * int(share_size))"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"    def _get_min_throughput(self, share_size, qos_specs):"},{"line_number":1619,"context_line":"        # QoS limits are exclusive of one another."},{"line_number":1620,"context_line":"        if \u0027miniops\u0027 in qos_specs:"},{"line_number":1621,"context_line":"            return \u0027%siops\u0027 % qos_specs[\u0027miniops\u0027]"},{"line_number":1622,"context_line":"        elif \u0027miniopspergib\u0027 in qos_specs:"},{"line_number":1623,"context_line":"            return \u0027%siops\u0027 % str("},{"line_number":1624,"context_line":"                int(qos_specs[\u0027miniopspergib\u0027]) * int(share_size))"},{"line_number":1625,"context_line":"        elif \u0027minbps\u0027 in qos_specs:"},{"line_number":1626,"context_line":"            return \u0027%sB/s\u0027 % qos_specs[\u0027minbps\u0027]"},{"line_number":1627,"context_line":"        elif \u0027minbpspergib\u0027 in qos_specs:"},{"line_number":1628,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1629,"context_line":"                int(qos_specs[\u0027minbpspergib\u0027]) * int(share_size))"},{"line_number":1630,"context_line":""},{"line_number":1631,"context_line":"    @na_utils.trace"},{"line_number":1632,"context_line":"    def _create_qos_policy_group(self, share, vserver, qos_specs,"},{"line_number":1633,"context_line":"                                 vserver_client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a247c03_812df112","line":1630,"range":{"start_line":1618,"start_character":4,"end_line":1630,"end_character":0},"in_reply_to":"6282bd59_0d418a7c","updated":"2025-07-10 05:41:29.000000000","message":"There is a customer who is looking for to provide the both together as ONTAP also support the both together. Might be it is not fitting in your use case but in future we have to fix this so that customer has flexibility to provide the either one or both based on their requirement.","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"85392d72d70925ed592d36cbd161f6aa1bd766b8","unresolved":true,"context_lines":[{"line_number":1615,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1616,"context_line":"                int(qos_specs[\u0027maxbpspergib\u0027]) * int(share_size))"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"    def _get_min_throughput(self, share_size, qos_specs):"},{"line_number":1619,"context_line":"        # QoS limits are exclusive of one another."},{"line_number":1620,"context_line":"        if \u0027miniops\u0027 in qos_specs:"},{"line_number":1621,"context_line":"            return \u0027%siops\u0027 % qos_specs[\u0027miniops\u0027]"},{"line_number":1622,"context_line":"        elif \u0027miniopspergib\u0027 in qos_specs:"},{"line_number":1623,"context_line":"            return \u0027%siops\u0027 % str("},{"line_number":1624,"context_line":"                int(qos_specs[\u0027miniopspergib\u0027]) * int(share_size))"},{"line_number":1625,"context_line":"        elif \u0027minbps\u0027 in qos_specs:"},{"line_number":1626,"context_line":"            return \u0027%sB/s\u0027 % qos_specs[\u0027minbps\u0027]"},{"line_number":1627,"context_line":"        elif \u0027minbpspergib\u0027 in qos_specs:"},{"line_number":1628,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1629,"context_line":"                int(qos_specs[\u0027minbpspergib\u0027]) * int(share_size))"},{"line_number":1630,"context_line":""},{"line_number":1631,"context_line":"    @na_utils.trace"},{"line_number":1632,"context_line":"    def _create_qos_policy_group(self, share, vserver, qos_specs,"},{"line_number":1633,"context_line":"                                 vserver_client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"97b96286_864afe62","line":1630,"range":{"start_line":1618,"start_character":4,"end_line":1630,"end_character":0},"in_reply_to":"83215616_a36a88fa","updated":"2025-06-23 14:01:48.000000000","message":"Please provide a common use-case of specifying both together.\n\nSuch a use-case has not come up for max-throughput for us, yet. We currently don\u0027t expect it for min-throughput either, and would like to not add that complexity.","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"95afd7bdb5e30e23e958506c161754aada84a570","unresolved":false,"context_lines":[{"line_number":1615,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1616,"context_line":"                int(qos_specs[\u0027maxbpspergib\u0027]) * int(share_size))"},{"line_number":1617,"context_line":""},{"line_number":1618,"context_line":"    def _get_min_throughput(self, share_size, qos_specs):"},{"line_number":1619,"context_line":"        # QoS limits are exclusive of one another."},{"line_number":1620,"context_line":"        if \u0027miniops\u0027 in qos_specs:"},{"line_number":1621,"context_line":"            return \u0027%siops\u0027 % qos_specs[\u0027miniops\u0027]"},{"line_number":1622,"context_line":"        elif \u0027miniopspergib\u0027 in qos_specs:"},{"line_number":1623,"context_line":"            return \u0027%siops\u0027 % str("},{"line_number":1624,"context_line":"                int(qos_specs[\u0027miniopspergib\u0027]) * int(share_size))"},{"line_number":1625,"context_line":"        elif \u0027minbps\u0027 in qos_specs:"},{"line_number":1626,"context_line":"            return \u0027%sB/s\u0027 % qos_specs[\u0027minbps\u0027]"},{"line_number":1627,"context_line":"        elif \u0027minbpspergib\u0027 in qos_specs:"},{"line_number":1628,"context_line":"            return \u0027%sB/s\u0027 % str("},{"line_number":1629,"context_line":"                int(qos_specs[\u0027minbpspergib\u0027]) * int(share_size))"},{"line_number":1630,"context_line":""},{"line_number":1631,"context_line":"    @na_utils.trace"},{"line_number":1632,"context_line":"    def _create_qos_policy_group(self, share, vserver, qos_specs,"},{"line_number":1633,"context_line":"                                 vserver_client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"6282bd59_0d418a7c","line":1630,"range":{"start_line":1618,"start_character":4,"end_line":1630,"end_character":0},"in_reply_to":"83215616_a36a88fa","updated":"2025-06-23 15:06:37.000000000","message":"Yes, I assume the same. Providing multiple options under max and min and do parsing during get/set is just more completity unless we have use-case.","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4e3663c702937273068edb9a3827988aa227bd1f","unresolved":true,"context_lines":[{"line_number":1589,"context_line":"            raise exception.NetAppException(msg % list(specs))"},{"line_number":1590,"context_line":""},{"line_number":1591,"context_line":"        # TODO(gouthamr): Modify check when throughput floors are allowed"},{"line_number":1592,"context_line":"        if len(normalized_max_qos_specs) \u003e 1:"},{"line_number":1593,"context_line":"            msg \u003d _(\u0027Only one NetApp max-throughput QoS spec can be set at a \u0027"},{"line_number":1594,"context_line":"                    \u0027time. Specified QoS limits: %s\u0027)"},{"line_number":1595,"context_line":"            raise exception.NetAppException(msg % normalized_max_qos_specs)"},{"line_number":1596,"context_line":""},{"line_number":1597,"context_line":"        if len(normalized_min_qos_specs) \u003e 1:"},{"line_number":1598,"context_line":"            msg \u003d _(\u0027Only one NetApp min-throughput QoS spec can be set at a \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"29a20f6f_9979020c","line":1595,"range":{"start_line":1592,"start_character":8,"end_line":1595,"end_character":75},"updated":"2025-07-10 05:41:29.000000000","message":"Please add the unit test for this, this line of code is not covered","commit_id":"55a4c0f07014afef6d8d9d1ef769883256cf6c52"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a6dabab7553e13663382cfd820c8738e7c0006d2","unresolved":false,"context_lines":[{"line_number":1589,"context_line":"            raise exception.NetAppException(msg % list(specs))"},{"line_number":1590,"context_line":""},{"line_number":1591,"context_line":"        # TODO(gouthamr): Modify check when throughput floors are allowed"},{"line_number":1592,"context_line":"        if len(normalized_max_qos_specs) \u003e 1:"},{"line_number":1593,"context_line":"            msg \u003d _(\u0027Only one NetApp max-throughput QoS spec can be set at a \u0027"},{"line_number":1594,"context_line":"                    \u0027time. Specified QoS limits: %s\u0027)"},{"line_number":1595,"context_line":"            raise exception.NetAppException(msg % normalized_max_qos_specs)"},{"line_number":1596,"context_line":""},{"line_number":1597,"context_line":"        if len(normalized_min_qos_specs) \u003e 1:"},{"line_number":1598,"context_line":"            msg \u003d _(\u0027Only one NetApp min-throughput QoS spec can be set at a \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"8ef93b0a_3d71c942","line":1595,"range":{"start_line":1592,"start_character":8,"end_line":1595,"end_character":75},"in_reply_to":"29a20f6f_9979020c","updated":"2025-07-10 12:43:20.000000000","message":"there is test already for code you suggested. I have renamed test to max_qos and added new for min_qos.","commit_id":"55a4c0f07014afef6d8d9d1ef769883256cf6c52"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"180ca4abe22c2990afdfb5ba60ef200d4b176644","unresolved":true,"context_lines":[{"line_number":149,"context_line":"        \u0027netapp:miniops\u0027: \u0027miniops\u0027,"},{"line_number":150,"context_line":"        \u0027netapp:miniopspergib\u0027: \u0027miniopspergib\u0027,"},{"line_number":151,"context_line":"        \u0027netapp:minbps\u0027: \u0027minbps\u0027,"},{"line_number":152,"context_line":"        \u0027netapp:minbpspergib\u0027: \u0027minxbpspergib\u0027,"},{"line_number":153,"context_line":"    }"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    HIDE_SNAPDIR_CFG_MAP \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"f042c154_a278bc20","line":152,"range":{"start_line":152,"start_character":32,"end_line":152,"end_character":45},"updated":"2025-09-12 21:14:21.000000000","message":"minbpspergib?","commit_id":"b478422053c58307969b704e16f4706a7f60fd00"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"fbde6c3bcd107c0e1ef7ec7f013ddde1612ea340","unresolved":false,"context_lines":[{"line_number":149,"context_line":"        \u0027netapp:miniops\u0027: \u0027miniops\u0027,"},{"line_number":150,"context_line":"        \u0027netapp:miniopspergib\u0027: \u0027miniopspergib\u0027,"},{"line_number":151,"context_line":"        \u0027netapp:minbps\u0027: \u0027minbps\u0027,"},{"line_number":152,"context_line":"        \u0027netapp:minbpspergib\u0027: \u0027minxbpspergib\u0027,"},{"line_number":153,"context_line":"    }"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    HIDE_SNAPDIR_CFG_MAP \u003d {"}],"source_content_type":"text/x-python","patch_set":8,"id":"bd9997fc_0643ac56","line":152,"range":{"start_line":152,"start_character":32,"end_line":152,"end_character":45},"in_reply_to":"f042c154_a278bc20","updated":"2025-09-13 04:57:08.000000000","message":"Done","commit_id":"b478422053c58307969b704e16f4706a7f60fd00"}],"releasenotes/notes/Add-min-throughput-for-QoS-policy-group-create-and-modify-c03ca15b5b53bd24.yaml":[{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"1ea71dc98924768eaee273e3cca3f0deaeb1c892","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"aa46f56a_f70933e3","line":9,"range":{"start_line":4,"start_character":4,"end_line":9,"end_character":0},"updated":"2025-06-22 10:18:01.000000000","message":"Add the bug link in this. Someone in cinder suggested me to use the below format for release note. Could you please follow the same, that looks good for me.\n\nFex examples \n\nhttps://review.opendev.org/c/openstack/cinder/+/951485/5/releasenotes/notes/bug-2112245-bulk-vms-creation-device-issue-b9d82f7a826c9f2b.yaml\n\n\n[1] https://review.opendev.org/c/openstack/cinder/+/945631/3/releasenotes/notes/pure_lacp_iscsi-34678bdb98fa6bab.yaml\n\n[2] https://review.opendev.org/c/openstack/cinder/+/946995/7/releasenotes/notes/fix-nfs-vol-from-snapshot-654a07d25a33bf7d.yaml","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ce555e6aed37b089c0256f812b9896dd6255ff7e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d348b358_5b8b08e1","line":9,"range":{"start_line":4,"start_character":4,"end_line":9,"end_character":0},"in_reply_to":"169476da_06f52c5c","updated":"2025-12-16 14:01:10.000000000","message":"Hey, @kinpaa@gmail.com, I think Gireesh is referring to adding a link to the bug, not the type of release note itself. It is helpful and adds consistency for building context on changes we are introducing, but not a must. As for upgrade type, I\u0027d use feature instead, as you mentioned this is an RFE","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"95afd7bdb5e30e23e958506c161754aada84a570","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c10a4849_53d221d3","line":9,"range":{"start_line":4,"start_character":4,"end_line":9,"end_character":0},"in_reply_to":"aa46f56a_f70933e3","updated":"2025-06-23 15:06:37.000000000","message":"this is more of RFE than bug hence uprade section is enough.","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"4e3663c702937273068edb9a3827988aa227bd1f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"169476da_06f52c5c","line":9,"range":{"start_line":4,"start_character":4,"end_line":9,"end_character":0},"in_reply_to":"c10a4849_53d221d3","updated":"2025-07-10 05:41:29.000000000","message":"@ces.eduardo98@gmail.com, could you please comment on this.","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a569304b36b3b88e235863c44f9d9ab8241b0628","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9b335712_be3d10cd","line":9,"range":{"start_line":4,"start_character":4,"end_line":9,"end_character":0},"in_reply_to":"d348b358_5b8b08e1","updated":"2025-12-17 07:36:36.000000000","message":"adding reference under upgrade section is ok for me. Fixed.","commit_id":"f6537fcdfdd1ce87ea6aefbdbf0184e1900b3dec"}]}
