)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bd26a7c419b223acddf5d83e980ea9aa93dcaa96","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Note that a cluster scoped account must be used in the driver"},{"line_number":16,"context_line":"configuration in order to use QoS in clustered ONTAP.  Other notes:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"-This only works for backends without share server management."},{"line_number":19,"context_line":"-This does not work for share replicas or share migration."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f560f44_b3b9b87a","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":49},"updated":"2020-09-01 23:31:34.000000000","message":"Not sure, since volume-create, volume-modify are SVM APIs. Can you check that again Michael. I understood that a cluster admin account is required for creating and associating the adaptive qos to a SVM.","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"358d8a131e0d6e0bca8f1ed40e1107bf7dfd416a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Note that a cluster scoped account must be used in the driver"},{"line_number":16,"context_line":"configuration in order to use QoS in clustered ONTAP.  Other notes:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"-This only works for backends without share server management."},{"line_number":19,"context_line":"-This does not work for share replicas or share migration."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f560f44_f2f16103","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":49},"in_reply_to":"9f560f44_b3b9b87a","updated":"2020-09-02 13:02:34.000000000","message":"Update: Michael sent me the outputs that shows that a cluster admin account is needed when configuring this resource within a volume. In that case, we should add a validation in DHSS\u003dFalse mode to raise an exception if the credentials aren\u0027t compatible with the request.","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f69b4a688a8cebba07ccacd823692a93dd37ed6","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"-This only works for backends without share server management."},{"line_number":19,"context_line":"-This does not work for share replicas or share migration."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I3cc1d2fa2a8380ca925538cab5a3414ac2141d70"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f560f44_bd3ed588","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":0},"updated":"2020-08-28 21:05:02.000000000","message":"Please add,\n\nImplements: bp netapp-adaptive-qos-support\n\n\nAbove the Change-Id","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":32060,"name":"Michael Arndt","email":"arndt@netapp.com","username":"arndt-ntap"},"change_message_id":"c24b02299e950ff6c007ff888101a30afa33db39","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"-This only works for backends without share server management."},{"line_number":19,"context_line":"-This does not work for share replicas or share migration."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I3cc1d2fa2a8380ca925538cab5a3414ac2141d70"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f560f44_8526eeb9","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":0},"in_reply_to":"9f560f44_bd3ed588","updated":"2020-09-01 19:53:59.000000000","message":"Done","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"0698cdfdf25b5ac9307911986b4f14379876e3e3","unresolved":false,"context_lines":[{"line_number":2894,"context_line":"        self.send_request(\u0027volume-modify-iter\u0027, api_args)"},{"line_number":2895,"context_line":""},{"line_number":2896,"context_line":"    @na_utils.trace"},{"line_number":2897,"context_line":"    def set_qos_adaptive_policy_group_for_volume(self, volume_name,"},{"line_number":2898,"context_line":"                                                 qos_policy_group_name):"},{"line_number":2899,"context_line":"        api_args \u003d {"},{"line_number":2900,"context_line":"            \u0027query\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_9d65e3e4","line":2897,"range":{"start_line":2897,"start_character":8,"end_line":2897,"end_character":48},"updated":"2020-07-24 17:22:46.000000000","message":"Since this operation is only valid if ontapi_version is \u003e\u003d 1.140, you could validate it here before sending the request to the storage.\nTake a look on \u0027_init_features\u0027 to see how to add a new feature restriction by ontapi version.","commit_id":"cae087642d2863dea5502e245619afdd49b5f670"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bd26a7c419b223acddf5d83e980ea9aa93dcaa96","unresolved":false,"context_lines":[{"line_number":1820,"context_line":"                      language\u003dNone, dedup_enabled\u003dFalse,"},{"line_number":1821,"context_line":"                      compression_enabled\u003dFalse, max_files\u003dNone,"},{"line_number":1822,"context_line":"                      qos_policy_group\u003dNone, hide_snapdir\u003dNone,"},{"line_number":1823,"context_line":"                      **options):"},{"line_number":1824,"context_line":"        \"\"\"Update backend volume for a share as necessary.\"\"\""},{"line_number":1825,"context_line":"        api_args \u003d {"},{"line_number":1826,"context_line":"            \u0027query\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_73c8c020","line":1823,"updated":"2020-09-01 23:31:34.000000000","message":"add \u0027adaptive_qos_policy_group\u0027 here also and added it to the \u0027volume-qos-attributes\u0027","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f69b4a688a8cebba07ccacd823692a93dd37ed6","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"        return qos_policy_group_name"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"    @na_utils.trace"},{"line_number":1005,"context_line":"    def _get_provisioning_options_for_share("},{"line_number":1006,"context_line":"            self, share, vserver, vserver_client\u003dNone, replica\u003dFalse):"},{"line_number":1007,"context_line":"        \"\"\"Return provisioning options from a share."},{"line_number":1008,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_dd6d899a","line":1005,"range":{"start_line":1005,"start_character":8,"end_line":1005,"end_character":43},"updated":"2020-08-28 21:05:02.000000000","message":"This method is not exclusive to the NetApp DHSS\u003dFalse driver - so, why is this not supported for the DHSS\u003dTrue driver?\n\nFrom what I understand, adaptive QoS policies are created directly on the backend by a storage administrator, and the driver is only tagging flexvols to the pre-existing policy group. Is this understanding correct?\n\nIf it is, why do you need a cluster scoped user?\nWhat relationship does this newly introduced scoped extra-spec have with the pre-existing \"qos\" extra-spec? I presume nothing, except you can\u0027t use them both at the same time. Correct?","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bd26a7c419b223acddf5d83e980ea9aa93dcaa96","unresolved":false,"context_lines":[{"line_number":1002,"context_line":"        return qos_policy_group_name"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"    @na_utils.trace"},{"line_number":1005,"context_line":"    def _get_provisioning_options_for_share("},{"line_number":1006,"context_line":"            self, share, vserver, vserver_client\u003dNone, replica\u003dFalse):"},{"line_number":1007,"context_line":"        \"\"\"Return provisioning options from a share."},{"line_number":1008,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_d3a9cc90","line":1005,"range":{"start_line":1005,"start_character":8,"end_line":1005,"end_character":43},"in_reply_to":"9f560f44_dd6d899a","updated":"2020-09-01 23:31:34.000000000","message":"Thanks for raising this poitns Goutham.\n1. It\u0027s true that we can\u0027t use this with DHSS\u003dTrue. When we create an adaptive-qos resource at the backend, it\u0027s mandatory to specify an associated SVM. So for DHSS\u003dTrue won\u0027t work using pre-created adaptive QoS.\n\n2. We do not need cluster administrator account to set a configuration for a volume (according to the docs, volume-create and volume-modify are SVM APIs). Do we have any part of the code ensuring that we need this cluster admin account? I think that just remove this comment from the release notes and commit message might be enough.\n\n3. see the next comment","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bd26a7c419b223acddf5d83e980ea9aa93dcaa96","unresolved":false,"context_lines":[{"line_number":1014,"context_line":"        extra_specs \u003d share_types.get_extra_specs_from_share(share)"},{"line_number":1015,"context_line":"        extra_specs \u003d self._remap_standard_boolean_extra_specs(extra_specs)"},{"line_number":1016,"context_line":"        self._check_extra_specs_validity(share, extra_specs)"},{"line_number":1017,"context_line":"        provisioning_options \u003d self._get_provisioning_options(extra_specs)"},{"line_number":1018,"context_line":"        qos_specs \u003d self._get_normalized_qos_specs(extra_specs)"},{"line_number":1019,"context_line":"        if (provisioning_options.get(\u0027adaptive_qos_policy_group\u0027) is not None"},{"line_number":1020,"context_line":"                and qos_specs):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_53913cf1","line":1017,"updated":"2020-09-01 23:31:34.000000000","message":"My idea to solve this would be something like:\n1. Create a new method to validate the provisioning options (check_provisioning_options(provisioning_options). For lib_base this implementation can contains the validation that you are doing below, for having both qos.\n2. In the \u0027lib_multi_svm\u0027 you can override this method and do the check if the \u0027provisioning_options\u0027 have a \u0027adaptive_qos_policy_group\u0027 and fail since DHSS\u003dTrue does not support it. By doing this you might cover lots of manila operations that rely on the share-type extra specs since \u0027_get_provisioning_options_for_share\u0027 is always being called.","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f69b4a688a8cebba07ccacd823692a93dd37ed6","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"        # Ensure volume is manageable"},{"line_number":1381,"context_line":"        self._validate_volume_for_manage(volume, vserver_client)"},{"line_number":1382,"context_line":""},{"line_number":1383,"context_line":"        provisioning_options \u003d self._get_provisioning_options(extra_specs)"},{"line_number":1384,"context_line":""},{"line_number":1385,"context_line":"        debug_args \u003d {"},{"line_number":1386,"context_line":"            \u0027share\u0027: share_name,"},{"line_number":1387,"context_line":"            \u0027aggr\u0027: aggregate_name,"},{"line_number":1388,"context_line":"            \u0027options\u0027: provisioning_options"},{"line_number":1389,"context_line":"        }"},{"line_number":1390,"context_line":"        LOG.debug(\u0027Managing share %(share)s on aggregate %(aggr)s with \u0027"},{"line_number":1391,"context_line":"                  \u0027provisioning options %(options)s\u0027, debug_args)"},{"line_number":1392,"context_line":""},{"line_number":1393,"context_line":"        # Rename \u0026 remount volume on new path"},{"line_number":1394,"context_line":"        vserver_client.unmount_volume(volume_name)"},{"line_number":1395,"context_line":"        vserver_client.set_volume_name(volume_name, share_name)"},{"line_number":1396,"context_line":"        vserver_client.mount_volume(share_name)"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"        qos_policy_group_name \u003d self._modify_or_create_qos_for_existing_share("},{"line_number":1399,"context_line":"            share, extra_specs, vserver, vserver_client)"},{"line_number":1400,"context_line":"        if qos_policy_group_name:"},{"line_number":1401,"context_line":"            provisioning_options[\u0027qos_policy_group\u0027] \u003d qos_policy_group_name"},{"line_number":1402,"context_line":""},{"line_number":1403,"context_line":"        # Modify volume to match extra specs"},{"line_number":1404,"context_line":"        vserver_client.modify_volume(aggregate_name, share_name,"},{"line_number":1405,"context_line":"                                     **provisioning_options)"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"        # Save original volume info to private storage"},{"line_number":1408,"context_line":"        original_data \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_bd0c15ed","line":1405,"range":{"start_line":1383,"start_character":0,"end_line":1405,"end_character":60},"updated":"2020-08-28 21:05:02.000000000","message":"This section here aligns a pre-existing FlexVol to the share type specified with manila - i.e., if properties of the FlexVol are different from those specified by the share type, the driver seeks to correct that by modifying the FlexVol properties - shouldn\u0027t you be honoring adaptive QoS here as well?","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bd26a7c419b223acddf5d83e980ea9aa93dcaa96","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"        # Ensure volume is manageable"},{"line_number":1381,"context_line":"        self._validate_volume_for_manage(volume, vserver_client)"},{"line_number":1382,"context_line":""},{"line_number":1383,"context_line":"        provisioning_options \u003d self._get_provisioning_options(extra_specs)"},{"line_number":1384,"context_line":""},{"line_number":1385,"context_line":"        debug_args \u003d {"},{"line_number":1386,"context_line":"            \u0027share\u0027: share_name,"},{"line_number":1387,"context_line":"            \u0027aggr\u0027: aggregate_name,"},{"line_number":1388,"context_line":"            \u0027options\u0027: provisioning_options"},{"line_number":1389,"context_line":"        }"},{"line_number":1390,"context_line":"        LOG.debug(\u0027Managing share %(share)s on aggregate %(aggr)s with \u0027"},{"line_number":1391,"context_line":"                  \u0027provisioning options %(options)s\u0027, debug_args)"},{"line_number":1392,"context_line":""},{"line_number":1393,"context_line":"        # Rename \u0026 remount volume on new path"},{"line_number":1394,"context_line":"        vserver_client.unmount_volume(volume_name)"},{"line_number":1395,"context_line":"        vserver_client.set_volume_name(volume_name, share_name)"},{"line_number":1396,"context_line":"        vserver_client.mount_volume(share_name)"},{"line_number":1397,"context_line":""},{"line_number":1398,"context_line":"        qos_policy_group_name \u003d self._modify_or_create_qos_for_existing_share("},{"line_number":1399,"context_line":"            share, extra_specs, vserver, vserver_client)"},{"line_number":1400,"context_line":"        if qos_policy_group_name:"},{"line_number":1401,"context_line":"            provisioning_options[\u0027qos_policy_group\u0027] \u003d qos_policy_group_name"},{"line_number":1402,"context_line":""},{"line_number":1403,"context_line":"        # Modify volume to match extra specs"},{"line_number":1404,"context_line":"        vserver_client.modify_volume(aggregate_name, share_name,"},{"line_number":1405,"context_line":"                                     **provisioning_options)"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"        # Save original volume info to private storage"},{"line_number":1408,"context_line":"        original_data \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"9f560f44_53d93c20","line":1405,"range":{"start_line":1383,"start_character":0,"end_line":1405,"end_character":60},"in_reply_to":"9f560f44_bd0c15ed","updated":"2020-09-01 23:31:34.000000000","message":"True, since _get_provisioning_options() will retrieve the adaptive-qos extra spec, just the client \u0027modify_volume\u0027 implementation is missing for now.","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"}],"releasenotes/notes/netapp-add-support-for-adaptive-qos-d036238e7f29cf75.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f69b4a688a8cebba07ccacd823692a93dd37ed6","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added support for Adaptive QoS policies that have been pre-created on"},{"line_number":5,"context_line":"    the storage system, with clustered ONTAP version 9.4 or higher.  To use"},{"line_number":6,"context_line":"    this feature, configure a Manila share type with the following extra-spec:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_9df5d1f0","line":6,"range":{"start_line":6,"start_character":48,"end_line":6,"end_character":78},"updated":"2020-08-28 21:05:02.000000000","message":"with the extra-spec ``netapp:adaptive_qos_policy_group`` and value set to the sos policy group on the ONTAP storage system, for example:","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":32060,"name":"Michael Arndt","email":"arndt@netapp.com","username":"arndt-ntap"},"change_message_id":"c24b02299e950ff6c007ff888101a30afa33db39","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added support for Adaptive QoS policies that have been pre-created on"},{"line_number":5,"context_line":"    the storage system, with clustered ONTAP version 9.4 or higher.  To use"},{"line_number":6,"context_line":"    this feature, configure a Manila share type with the following extra-spec:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_62bf5060","line":6,"range":{"start_line":6,"start_character":48,"end_line":6,"end_character":78},"in_reply_to":"9f560f44_9df5d1f0","updated":"2020-09-01 19:53:59.000000000","message":"Done","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f69b4a688a8cebba07ccacd823692a93dd37ed6","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    the storage system, with clustered ONTAP version 9.4 or higher.  To use"},{"line_number":6,"context_line":"    this feature, configure a Manila share type with the following extra-spec:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    Note that a cluster scoped account must be used in the driver"},{"line_number":11,"context_line":"    configuration in order to use QoS in clustered ONTAP.  Other notes:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_dda8e9da","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":46},"updated":"2020-08-28 21:05:02.000000000","message":"Is this an example, or the only extra-spec value that works?","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":32060,"name":"Michael Arndt","email":"arndt@netapp.com","username":"arndt-ntap"},"change_message_id":"c24b02299e950ff6c007ff888101a30afa33db39","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    the storage system, with clustered ONTAP version 9.4 or higher.  To use"},{"line_number":6,"context_line":"    this feature, configure a Manila share type with the following extra-spec:"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    Note that a cluster scoped account must be used in the driver"},{"line_number":11,"context_line":"    configuration in order to use QoS in clustered ONTAP.  Other notes:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_629630f2","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":46},"in_reply_to":"9f560f44_dda8e9da","updated":"2020-09-01 19:53:59.000000000","message":"This is just an example.","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"bd26a7c419b223acddf5d83e980ea9aa93dcaa96","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    netapp:adaptive_qos_policy_group\u003dplatform3"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    Note that a cluster scoped account must be used in the driver"},{"line_number":11,"context_line":"    configuration in order to use QoS in clustered ONTAP.  Other notes:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    -This only works for backends without share server management."},{"line_number":14,"context_line":"    -This does not work for share replicas or share migration."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_13b0648b","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":56},"updated":"2020-09-01 23:31:34.000000000","message":"Same comment from commit message. Thanks!","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f69b4a688a8cebba07ccacd823692a93dd37ed6","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    Note that a cluster scoped account must be used in the driver"},{"line_number":11,"context_line":"    configuration in order to use QoS in clustered ONTAP.  Other notes:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    -This only works for backends without share server management."},{"line_number":14,"context_line":"    -This does not work for share replicas or share migration."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9f560f44_bd7b7579","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":5},"updated":"2020-08-28 21:05:02.000000000","message":"space after the bullet will render this as a list item, else the items are just placed on the same line: https://d463e8db5f684d2fa5f8-5b0f21e1be89f9432ff175aef4853c8b.ssl.cf5.rackcdn.com/740532/4/check/build-openstack-releasenotes/0aae874/docs/unreleased.html","commit_id":"da8839457a8bc6b8ccc163ddf1bdfe1c1de3fc4d"}]}
