)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e7ef3fe507139f4e71fcfd83c4271af92be20af1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NetApp cDOT: Add support for QoS/throughput ceilings"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"ONTAP supports assigning QoS policy groups to storage"},{"line_number":10,"context_line":"objects and workloads. Expose this functionality through"},{"line_number":11,"context_line":"the ONTAP manila drivers (DHSS\u003dTrue/False, NFS, CIFS)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The drivers will set the capability \"qos\" to True if the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f1a1f67_44c3d889","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":22},"updated":"2017-07-19 18:11:46.000000000","message":"A link to an ONTAP doc on qos policy groups would be helpful here.","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bedc643825fce8ebd74cb9517e524c3b9767cd11","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"NetApp cDOT: Add support for QoS/throughput ceilings"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"ONTAP supports assigning QoS policy groups to storage"},{"line_number":10,"context_line":"objects and workloads. Expose this functionality through"},{"line_number":11,"context_line":"the ONTAP manila drivers (DHSS\u003dTrue/False, NFS, CIFS)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The drivers will set the capability \"qos\" to True if the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1f1a1f67_b9c75c64","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":22},"in_reply_to":"1f1a1f67_44c3d889","updated":"2017-07-20 01:21:38.000000000","message":"Done","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"3b0df8a3e6133dae85944cbd77d5876831e57170","unresolved":false,"context_lines":[{"line_number":24,"context_line":"and manipulated as and when shares are manipulated"},{"line_number":25,"context_line":"through manila."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"[1] http://docs.netapp.com/ontap-9/index.jsp?topic\u003d \\"},{"line_number":28,"context_line":"    %2Fcom.netapp.doc.pow-perf-mon \\"},{"line_number":29,"context_line":"    %2FGUID-38357C43-FB36-419D-B31F-6FD75B47254D.html"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Implements: blueprint netapp-cdot-qos"},{"line_number":32,"context_line":"Change-Id: I6f82c012ea60cfb1e9f82a696e2346ee95c60df3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ff346bd7_b4bdfa69","line":29,"range":{"start_line":27,"start_character":0,"end_line":29,"end_character":53},"updated":"2017-07-23 09:23:00.000000000","message":"Should violate the 72 character rule here because otherwise the click through on the link fails and reconstructing it to work is a pain (took me two tries to remove both the backslashes and the extra spaces).  Good link when you get there though, thanks!","commit_id":"5d01ca61580b223d112282fa6d92c5e1622c29e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a821e26a3c3159f5edd2267c08bd9f186d4d2fa2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"and manipulated as and when shares are manipulated"},{"line_number":25,"context_line":"through manila."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"[1] http://docs.netapp.com/ontap-9/index.jsp?topic\u003d \\"},{"line_number":28,"context_line":"    %2Fcom.netapp.doc.pow-perf-mon \\"},{"line_number":29,"context_line":"    %2FGUID-38357C43-FB36-419D-B31F-6FD75B47254D.html"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Implements: blueprint netapp-cdot-qos"},{"line_number":32,"context_line":"Change-Id: I6f82c012ea60cfb1e9f82a696e2346ee95c60df3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ff346bd7_3dcc4a88","line":29,"range":{"start_line":27,"start_character":0,"end_line":29,"end_character":53},"in_reply_to":"ff346bd7_b4bdfa69","updated":"2017-07-23 20:45:02.000000000","message":"Done","commit_id":"5d01ca61580b223d112282fa6d92c5e1622c29e4"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e7ef3fe507139f4e71fcfd83c4271af92be20af1","unresolved":false,"context_lines":[{"line_number":3545,"context_line":"        return policy_info"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"    @na_utils.trace"},{"line_number":3548,"context_line":"    def qos_policy_group_create(self, qos_policy_group_name, vserver,"},{"line_number":3549,"context_line":"                                max_throughput\u003dNone):"},{"line_number":3550,"context_line":"        \"\"\"Creates a QOS policy group.\"\"\""},{"line_number":3551,"context_line":"        api_args \u003d {"},{"line_number":3552,"context_line":"            \u0027policy-group\u0027: qos_policy_group_name,"},{"line_number":3553,"context_line":"            \u0027vserver\u0027: vserver,"},{"line_number":3554,"context_line":"        }"},{"line_number":3555,"context_line":"        if max_throughput:"},{"line_number":3556,"context_line":"            api_args[\u0027max-throughput\u0027] \u003d max_throughput"},{"line_number":3557,"context_line":"        return self.send_request(\u0027qos-policy-group-create\u0027, api_args, False)"},{"line_number":3558,"context_line":""},{"line_number":3559,"context_line":"    @na_utils.trace"},{"line_number":3560,"context_line":"    def qos_policy_group_modify(self, qos_policy_group_name, max_throughput):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_8a944d38","line":3557,"range":{"start_line":3548,"start_character":1,"end_line":3557,"end_character":76},"updated":"2017-07-19 18:11:46.000000000","message":"iirc qos policy groups are a scarce resource.\n\nWhat will show in the logs if the create fails on the backend due to a scarcity of policy groups relative to manila shares?\n\nI\u0027m asking from a support POV.  If the message is obscure then I\u0027ll ask that you trap it and provide an alternative that will tell support folk what is going on.","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5451317be723f2737a686734a804c1465c33b55d","unresolved":false,"context_lines":[{"line_number":3545,"context_line":"        return policy_info"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"    @na_utils.trace"},{"line_number":3548,"context_line":"    def qos_policy_group_create(self, qos_policy_group_name, vserver,"},{"line_number":3549,"context_line":"                                max_throughput\u003dNone):"},{"line_number":3550,"context_line":"        \"\"\"Creates a QOS policy group.\"\"\""},{"line_number":3551,"context_line":"        api_args \u003d {"},{"line_number":3552,"context_line":"            \u0027policy-group\u0027: qos_policy_group_name,"},{"line_number":3553,"context_line":"            \u0027vserver\u0027: vserver,"},{"line_number":3554,"context_line":"        }"},{"line_number":3555,"context_line":"        if max_throughput:"},{"line_number":3556,"context_line":"            api_args[\u0027max-throughput\u0027] \u003d max_throughput"},{"line_number":3557,"context_line":"        return self.send_request(\u0027qos-policy-group-create\u0027, api_args, False)"},{"line_number":3558,"context_line":""},{"line_number":3559,"context_line":"    @na_utils.trace"},{"line_number":3560,"context_line":"    def qos_policy_group_modify(self, qos_policy_group_name, max_throughput):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_e8ba8d08","line":3557,"range":{"start_line":3548,"start_character":1,"end_line":3557,"end_character":76},"in_reply_to":"1f1a1f67_19b3f0ea","updated":"2017-07-20 13:29:44.000000000","message":"Tom: To clarify, i don\u0027t think we should add a check based on the log message text... The limits are fairly low in old versions of ONTAP, but they\u0027re continuously improving to where they become insignificant..","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e28f46efba31b61551f3314e7a3afe9213894ef9","unresolved":false,"context_lines":[{"line_number":3545,"context_line":"        return policy_info"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"    @na_utils.trace"},{"line_number":3548,"context_line":"    def qos_policy_group_create(self, qos_policy_group_name, vserver,"},{"line_number":3549,"context_line":"                                max_throughput\u003dNone):"},{"line_number":3550,"context_line":"        \"\"\"Creates a QOS policy group.\"\"\""},{"line_number":3551,"context_line":"        api_args \u003d {"},{"line_number":3552,"context_line":"            \u0027policy-group\u0027: qos_policy_group_name,"},{"line_number":3553,"context_line":"            \u0027vserver\u0027: vserver,"},{"line_number":3554,"context_line":"        }"},{"line_number":3555,"context_line":"        if max_throughput:"},{"line_number":3556,"context_line":"            api_args[\u0027max-throughput\u0027] \u003d max_throughput"},{"line_number":3557,"context_line":"        return self.send_request(\u0027qos-policy-group-create\u0027, api_args, False)"},{"line_number":3558,"context_line":""},{"line_number":3559,"context_line":"    @na_utils.trace"},{"line_number":3560,"context_line":"    def qos_policy_group_modify(self, qos_policy_group_name, max_throughput):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_995ca019","line":3557,"range":{"start_line":3548,"start_character":1,"end_line":3557,"end_character":76},"in_reply_to":"1f1a1f67_8a944d38","updated":"2017-07-20 01:09:38.000000000","message":"The limits have evolved since older versions, but there are still limits. I don\u0027t see an \"E_QOS_*\" error I can attach to the logs here, I ran a script against a VSIM and found (the same error you had identified in your design document):\n\n \u003cresults status\u003d\"failed\" errno\u003d\"13001\" reason\u003d\"Policy group could not\n  be created because the limit of 12000 has been reached. Delete other\n  policy groups to make room for new ones.\"\u003e\u003c/results\u003e\n\n\n \n13001. sigh.","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bedc643825fce8ebd74cb9517e524c3b9767cd11","unresolved":false,"context_lines":[{"line_number":3545,"context_line":"        return policy_info"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"    @na_utils.trace"},{"line_number":3548,"context_line":"    def qos_policy_group_create(self, qos_policy_group_name, vserver,"},{"line_number":3549,"context_line":"                                max_throughput\u003dNone):"},{"line_number":3550,"context_line":"        \"\"\"Creates a QOS policy group.\"\"\""},{"line_number":3551,"context_line":"        api_args \u003d {"},{"line_number":3552,"context_line":"            \u0027policy-group\u0027: qos_policy_group_name,"},{"line_number":3553,"context_line":"            \u0027vserver\u0027: vserver,"},{"line_number":3554,"context_line":"        }"},{"line_number":3555,"context_line":"        if max_throughput:"},{"line_number":3556,"context_line":"            api_args[\u0027max-throughput\u0027] \u003d max_throughput"},{"line_number":3557,"context_line":"        return self.send_request(\u0027qos-policy-group-create\u0027, api_args, False)"},{"line_number":3558,"context_line":""},{"line_number":3559,"context_line":"    @na_utils.trace"},{"line_number":3560,"context_line":"    def qos_policy_group_modify(self, qos_policy_group_name, max_throughput):"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_19b3f0ea","line":3557,"range":{"start_line":3548,"start_character":1,"end_line":3557,"end_character":76},"in_reply_to":"1f1a1f67_995ca019","updated":"2017-07-20 01:21:38.000000000","message":"since the ZAPI error (that is bubbled up to the creation calls in base library) is verbose, i don\u0027t think we should special case the 13001 here.","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3547,"context_line":"    @na_utils.trace"},{"line_number":3548,"context_line":"    def qos_policy_group_create(self, qos_policy_group_name, vserver,"},{"line_number":3549,"context_line":"                                max_throughput\u003dNone):"},{"line_number":3550,"context_line":"        \"\"\"Creates a QOS policy group.\"\"\""},{"line_number":3551,"context_line":"        api_args \u003d {"},{"line_number":3552,"context_line":"            \u0027policy-group\u0027: qos_policy_group_name,"},{"line_number":3553,"context_line":"            \u0027vserver\u0027: vserver,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_56e22903","line":3550,"range":{"start_line":3550,"start_character":20,"end_line":3550,"end_character":25},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3547,"context_line":"    @na_utils.trace"},{"line_number":3548,"context_line":"    def qos_policy_group_create(self, qos_policy_group_name, vserver,"},{"line_number":3549,"context_line":"                                max_throughput\u003dNone):"},{"line_number":3550,"context_line":"        \"\"\"Creates a QOS policy group.\"\"\""},{"line_number":3551,"context_line":"        api_args \u003d {"},{"line_number":3552,"context_line":"            \u0027policy-group\u0027: qos_policy_group_name,"},{"line_number":3553,"context_line":"            \u0027vserver\u0027: vserver,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_23e31208","line":3550,"range":{"start_line":3550,"start_character":20,"end_line":3550,"end_character":25},"in_reply_to":"1f1a1f67_56e22903","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3567,"context_line":""},{"line_number":3568,"context_line":"    @na_utils.trace"},{"line_number":3569,"context_line":"    def qos_policy_group_delete(self, qos_policy_group_name):"},{"line_number":3570,"context_line":"        \"\"\"Attempts to delete a QOS policy group.\"\"\""},{"line_number":3571,"context_line":"        api_args \u003d {\u0027policy-group\u0027: qos_policy_group_name}"},{"line_number":3572,"context_line":"        return self.send_request(\u0027qos-policy-group-delete\u0027, api_args, False)"},{"line_number":3573,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_962b212f","line":3570,"range":{"start_line":3570,"start_character":32,"end_line":3570,"end_character":35},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3567,"context_line":""},{"line_number":3568,"context_line":"    @na_utils.trace"},{"line_number":3569,"context_line":"    def qos_policy_group_delete(self, qos_policy_group_name):"},{"line_number":3570,"context_line":"        \"\"\"Attempts to delete a QOS policy group.\"\"\""},{"line_number":3571,"context_line":"        api_args \u003d {\u0027policy-group\u0027: qos_policy_group_name}"},{"line_number":3572,"context_line":"        return self.send_request(\u0027qos-policy-group-delete\u0027, api_args, False)"},{"line_number":3573,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_03f00ec9","line":3570,"range":{"start_line":3570,"start_character":32,"end_line":3570,"end_character":35},"in_reply_to":"1f1a1f67_962b212f","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3573,"context_line":""},{"line_number":3574,"context_line":"    @na_utils.trace"},{"line_number":3575,"context_line":"    def qos_policy_group_rename(self, qos_policy_group_name, new_name):"},{"line_number":3576,"context_line":"        \"\"\"Renames a QOS policy group.\"\"\""},{"line_number":3577,"context_line":"        api_args \u003d {"},{"line_number":3578,"context_line":"            \u0027policy-group-name\u0027: qos_policy_group_name,"},{"line_number":3579,"context_line":"            \u0027new-name\u0027: new_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_7620854a","line":3576,"range":{"start_line":3576,"start_character":20,"end_line":3576,"end_character":25},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3573,"context_line":""},{"line_number":3574,"context_line":"    @na_utils.trace"},{"line_number":3575,"context_line":"    def qos_policy_group_rename(self, qos_policy_group_name, new_name):"},{"line_number":3576,"context_line":"        \"\"\"Renames a QOS policy group.\"\"\""},{"line_number":3577,"context_line":"        api_args \u003d {"},{"line_number":3578,"context_line":"            \u0027policy-group-name\u0027: qos_policy_group_name,"},{"line_number":3579,"context_line":"            \u0027new-name\u0027: new_name,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_e3eceaf4","line":3576,"range":{"start_line":3576,"start_character":20,"end_line":3576,"end_character":25},"in_reply_to":"1f1a1f67_7620854a","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3582,"context_line":""},{"line_number":3583,"context_line":"    @na_utils.trace"},{"line_number":3584,"context_line":"    def mark_qos_policy_group_for_deletion(self, qos_policy_group_name):"},{"line_number":3585,"context_line":"        \"\"\"Soft delete backing QOS policy group for a manila share.\"\"\""},{"line_number":3586,"context_line":"        # NOTE(gouthamr): ONTAP deletes storage objects asynchronously. As"},{"line_number":3587,"context_line":"        # long as garbage collection hasn\u0027t occurred, assigned QoS policy may"},{"line_number":3588,"context_line":"        # still be tagged \"in use\". So, we rename the QoS policy group using a"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_d6d63928","line":3585,"range":{"start_line":3585,"start_character":30,"end_line":3585,"end_character":34},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3582,"context_line":""},{"line_number":3583,"context_line":"    @na_utils.trace"},{"line_number":3584,"context_line":"    def mark_qos_policy_group_for_deletion(self, qos_policy_group_name):"},{"line_number":3585,"context_line":"        \"\"\"Soft delete backing QOS policy group for a manila share.\"\"\""},{"line_number":3586,"context_line":"        # NOTE(gouthamr): ONTAP deletes storage objects asynchronously. As"},{"line_number":3587,"context_line":"        # long as garbage collection hasn\u0027t occurred, assigned QoS policy may"},{"line_number":3588,"context_line":"        # still be tagged \"in use\". So, we rename the QoS policy group using a"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_c3bb26e3","line":3585,"range":{"start_line":3585,"start_character":30,"end_line":3585,"end_character":34},"in_reply_to":"1f1a1f67_d6d63928","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3594,"context_line":"            try:"},{"line_number":3595,"context_line":"                self.qos_policy_group_rename(qos_policy_group_name, new_name)"},{"line_number":3596,"context_line":"            except netapp_api.NaApiError as ex:"},{"line_number":3597,"context_line":"                msg \u003d (\u0027Rename failure in cleanup of cDOT QOS policy \u0027"},{"line_number":3598,"context_line":"                       \u0027group %(name)s: %(ex)s\u0027)"},{"line_number":3599,"context_line":"                msg_args \u003d {\u0027name\u0027: qos_policy_group_name, \u0027ex\u0027: ex}"},{"line_number":3600,"context_line":"                LOG.warning(msg, msg_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_f6d13531","line":3597,"range":{"start_line":3597,"start_character":58,"end_line":3597,"end_character":61},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3594,"context_line":"            try:"},{"line_number":3595,"context_line":"                self.qos_policy_group_rename(qos_policy_group_name, new_name)"},{"line_number":3596,"context_line":"            except netapp_api.NaApiError as ex:"},{"line_number":3597,"context_line":"                msg \u003d (\u0027Rename failure in cleanup of cDOT QOS policy \u0027"},{"line_number":3598,"context_line":"                       \u0027group %(name)s: %(ex)s\u0027)"},{"line_number":3599,"context_line":"                msg_args \u003d {\u0027name\u0027: qos_policy_group_name, \u0027ex\u0027: ex}"},{"line_number":3600,"context_line":"                LOG.warning(msg, msg_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_a3c02252","line":3597,"range":{"start_line":3597,"start_character":58,"end_line":3597,"end_character":61},"in_reply_to":"1f1a1f67_f6d13531","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3603,"context_line":""},{"line_number":3604,"context_line":"    @na_utils.trace"},{"line_number":3605,"context_line":"    def remove_unused_qos_policy_groups(self):"},{"line_number":3606,"context_line":"        \"\"\"Deletes all QOS policy groups that are marked for deletion.\"\"\""},{"line_number":3607,"context_line":"        api_args \u003d {"},{"line_number":3608,"context_line":"            \u0027query\u0027: {"},{"line_number":3609,"context_line":"                \u0027qos-policy-group-info\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_3601edb0","line":3606,"range":{"start_line":3606,"start_character":22,"end_line":3606,"end_character":27},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3603,"context_line":""},{"line_number":3604,"context_line":"    @na_utils.trace"},{"line_number":3605,"context_line":"    def remove_unused_qos_policy_groups(self):"},{"line_number":3606,"context_line":"        \"\"\"Deletes all QOS policy groups that are marked for deletion.\"\"\""},{"line_number":3607,"context_line":"        api_args \u003d {"},{"line_number":3608,"context_line":"            \u0027query\u0027: {"},{"line_number":3609,"context_line":"                \u0027qos-policy-group-info\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_83b51ef1","line":3606,"range":{"start_line":3606,"start_character":22,"end_line":3606,"end_character":27},"in_reply_to":"1f1a1f67_3601edb0","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":3619,"context_line":"        try:"},{"line_number":3620,"context_line":"            self.send_request(\u0027qos-policy-group-delete-iter\u0027, api_args, False)"},{"line_number":3621,"context_line":"        except netapp_api.NaApiError as ex:"},{"line_number":3622,"context_line":"            msg \u003d \u0027Could not delete QOS policy groups. Details: %(ex)s\u0027"},{"line_number":3623,"context_line":"            msg_args \u003d {\u0027ex\u0027: ex}"},{"line_number":3624,"context_line":"            LOG.debug(msg % msg_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_96120109","line":3622,"range":{"start_line":3622,"start_character":36,"end_line":3622,"end_character":39},"updated":"2017-07-21 07:06:09.000000000","message":"s/QOS/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":3619,"context_line":"        try:"},{"line_number":3620,"context_line":"            self.send_request(\u0027qos-policy-group-delete-iter\u0027, api_args, False)"},{"line_number":3621,"context_line":"        except netapp_api.NaApiError as ex:"},{"line_number":3622,"context_line":"            msg \u003d \u0027Could not delete QOS policy groups. Details: %(ex)s\u0027"},{"line_number":3623,"context_line":"            msg_args \u003d {\u0027ex\u0027: ex}"},{"line_number":3624,"context_line":"            LOG.debug(msg % msg_args)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_e3c50a5d","line":3622,"range":{"start_line":3622,"start_character":36,"end_line":3622,"end_character":39},"in_reply_to":"1f1a1f67_96120109","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"3b0df8a3e6133dae85944cbd77d5876831e57170","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"                      language\u003dNone, dedup_enabled\u003dFalse,"},{"line_number":1582,"context_line":"                      compression_enabled\u003dFalse, max_files\u003dNone,"},{"line_number":1583,"context_line":"                      qos_policy_group\u003dNone, **options):"},{"line_number":1584,"context_line":"        \"\"\"Update volume as needed to bring under management as a share.\"\"\""},{"line_number":1585,"context_line":"        api_args \u003d {"},{"line_number":1586,"context_line":"            \u0027query\u0027: {"},{"line_number":1587,"context_line":"                \u0027volume-attributes\u0027: {"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_94679626","line":1584,"range":{"start_line":1584,"start_character":35,"end_line":1584,"end_character":71},"updated":"2017-07-23 09:23:00.000000000","message":"Remove?","commit_id":"5d01ca61580b223d112282fa6d92c5e1622c29e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a821e26a3c3159f5edd2267c08bd9f186d4d2fa2","unresolved":false,"context_lines":[{"line_number":1581,"context_line":"                      language\u003dNone, dedup_enabled\u003dFalse,"},{"line_number":1582,"context_line":"                      compression_enabled\u003dFalse, max_files\u003dNone,"},{"line_number":1583,"context_line":"                      qos_policy_group\u003dNone, **options):"},{"line_number":1584,"context_line":"        \"\"\"Update volume as needed to bring under management as a share.\"\"\""},{"line_number":1585,"context_line":"        api_args \u003d {"},{"line_number":1586,"context_line":"            \u0027query\u0027: {"},{"line_number":1587,"context_line":"                \u0027volume-attributes\u0027: {"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_caf4525e","line":1584,"range":{"start_line":1584,"start_character":35,"end_line":1584,"end_character":71},"in_reply_to":"ff346bd7_94679626","updated":"2017-07-23 20:45:02.000000000","message":"thanks. done.","commit_id":"5d01ca61580b223d112282fa6d92c5e1622c29e4"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"3b0df8a3e6133dae85944cbd77d5876831e57170","unresolved":false,"context_lines":[{"line_number":3621,"context_line":"        except netapp_api.NaApiError as ex:"},{"line_number":3622,"context_line":"            msg \u003d \u0027Could not delete QoS policy groups. Details: %(ex)s\u0027"},{"line_number":3623,"context_line":"            msg_args \u003d {\u0027ex\u0027: ex}"},{"line_number":3624,"context_line":"            LOG.debug(msg % msg_args)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_f47f02a9","line":3624,"range":{"start_line":3624,"start_character":12,"end_line":3624,"end_character":37},"updated":"2017-07-23 09:23:00.000000000","message":"LOG.debug(msg, msg_args)","commit_id":"5d01ca61580b223d112282fa6d92c5e1622c29e4"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"a821e26a3c3159f5edd2267c08bd9f186d4d2fa2","unresolved":false,"context_lines":[{"line_number":3621,"context_line":"        except netapp_api.NaApiError as ex:"},{"line_number":3622,"context_line":"            msg \u003d \u0027Could not delete QoS policy groups. Details: %(ex)s\u0027"},{"line_number":3623,"context_line":"            msg_args \u003d {\u0027ex\u0027: ex}"},{"line_number":3624,"context_line":"            LOG.debug(msg % msg_args)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff346bd7_0ae13a9b","line":3624,"range":{"start_line":3624,"start_character":12,"end_line":3624,"end_character":37},"in_reply_to":"ff346bd7_f47f02a9","updated":"2017-07-23 20:45:02.000000000","message":"Done","commit_id":"5d01ca61580b223d112282fa6d92c5e1622c29e4"}],"manila/share/drivers/netapp/dataontap/cluster_mode/data_motion.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        return volume_name"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _get_backend_qos_policy_group_name(self, share):"},{"line_number":96,"context_line":"        \"\"\"Get qos policy name according to qos policy group name template.\"\"\""},{"line_number":97,"context_line":"        __, config \u003d self._get_backend_config_obj(share)"},{"line_number":98,"context_line":"        return config.netapp_qos_policy_group_name_template % {"},{"line_number":99,"context_line":"            \u0027share_id\u0027: share[\u0027id\u0027].replace(\u0027-\u0027, \u0027_\u0027)}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_76ce4584","line":96,"range":{"start_line":96,"start_character":15,"end_line":96,"end_character":18},"updated":"2017-07-21 07:06:09.000000000","message":"s/qos/ QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        return volume_name"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def _get_backend_qos_policy_group_name(self, share):"},{"line_number":96,"context_line":"        \"\"\"Get qos policy name according to qos policy group name template.\"\"\""},{"line_number":97,"context_line":"        __, config \u003d self._get_backend_config_obj(share)"},{"line_number":98,"context_line":"        return config.netapp_qos_policy_group_name_template % {"},{"line_number":99,"context_line":"            \u0027share_id\u0027: share[\u0027id\u0027].replace(\u0027-\u0027, \u0027_\u0027)}"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_c3a0c6a8","line":96,"range":{"start_line":96,"start_character":15,"end_line":96,"end_character":18},"in_reply_to":"1f1a1f67_76ce4584","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e7ef3fe507139f4e71fcfd83c4271af92be20af1","unresolved":false,"context_lines":[{"line_number":2119,"context_line":"                                                 vserver, vserver_client):"},{"line_number":2120,"context_line":"        \"\"\"Gets/Creates QoS policy for an existing FlexVol."},{"line_number":2121,"context_line":""},{"line_number":2122,"context_line":"        The share\u0027s assigned QoS policy is renamed and adjusted if the policy"},{"line_number":2123,"context_line":"        is exclusive to the FlexVol. If the policy includes other workloads"},{"line_number":2124,"context_line":"        besides the FlexVol, a new policy is created with the specs necessary."},{"line_number":2125,"context_line":"        \"\"\""},{"line_number":2126,"context_line":"        qos_specs \u003d self._get_normalized_qos_specs(extra_specs)"},{"line_number":2127,"context_line":"        if not qos_specs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_24e57c38","line":2124,"range":{"start_line":2122,"start_character":0,"end_line":2124,"end_character":78},"updated":"2017-07-19 18:11:46.000000000","message":"Can we get sufficient logging in this method that a support person who gets a customer case w.r.t. creation of qos policy groups can see if there was already a policy group present and whether it was exclusive?","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e28f46efba31b61551f3314e7a3afe9213894ef9","unresolved":false,"context_lines":[{"line_number":2119,"context_line":"                                                 vserver, vserver_client):"},{"line_number":2120,"context_line":"        \"\"\"Gets/Creates QoS policy for an existing FlexVol."},{"line_number":2121,"context_line":""},{"line_number":2122,"context_line":"        The share\u0027s assigned QoS policy is renamed and adjusted if the policy"},{"line_number":2123,"context_line":"        is exclusive to the FlexVol. If the policy includes other workloads"},{"line_number":2124,"context_line":"        besides the FlexVol, a new policy is created with the specs necessary."},{"line_number":2125,"context_line":"        \"\"\""},{"line_number":2126,"context_line":"        qos_specs \u003d self._get_normalized_qos_specs(extra_specs)"},{"line_number":2127,"context_line":"        if not qos_specs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_b9b63c3d","line":2124,"range":{"start_line":2122,"start_character":0,"end_line":2124,"end_character":78},"in_reply_to":"1f1a1f67_24e57c38","updated":"2017-07-20 01:09:38.000000000","message":"yessir good idea","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5451317be723f2737a686734a804c1465c33b55d","unresolved":false,"context_lines":[{"line_number":2119,"context_line":"                                                 vserver, vserver_client):"},{"line_number":2120,"context_line":"        \"\"\"Gets/Creates QoS policy for an existing FlexVol."},{"line_number":2121,"context_line":""},{"line_number":2122,"context_line":"        The share\u0027s assigned QoS policy is renamed and adjusted if the policy"},{"line_number":2123,"context_line":"        is exclusive to the FlexVol. If the policy includes other workloads"},{"line_number":2124,"context_line":"        besides the FlexVol, a new policy is created with the specs necessary."},{"line_number":2125,"context_line":"        \"\"\""},{"line_number":2126,"context_line":"        qos_specs \u003d self._get_normalized_qos_specs(extra_specs)"},{"line_number":2127,"context_line":"        if not qos_specs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_994820b3","line":2124,"range":{"start_line":2122,"start_character":0,"end_line":2124,"end_character":78},"in_reply_to":"1f1a1f67_b9b63c3d","updated":"2017-07-20 13:29:44.000000000","message":"Done","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5345b04fe27bb9ac74d761512613220023153e81","unresolved":false,"context_lines":[{"line_number":607,"context_line":"            return {}"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"        normalized_qos_specs \u003d {"},{"line_number":610,"context_line":"            self.QOS_SPECS[key.lower()]: six.text_type(value)"},{"line_number":611,"context_line":"            for key, value in extra_specs.items()"},{"line_number":612,"context_line":"            if self.QOS_SPECS.get(key.lower())"},{"line_number":613,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_c3d1e659","line":610,"range":{"start_line":610,"start_character":41,"end_line":610,"end_character":61},"updated":"2017-07-22 19:21:14.000000000","message":"Can value be a non-string?  Is six.text_type needed here?","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":607,"context_line":"            return {}"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"        normalized_qos_specs \u003d {"},{"line_number":610,"context_line":"            self.QOS_SPECS[key.lower()]: six.text_type(value)"},{"line_number":611,"context_line":"            for key, value in extra_specs.items()"},{"line_number":612,"context_line":"            if self.QOS_SPECS.get(key.lower())"},{"line_number":613,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_83dcfe46","line":610,"range":{"start_line":610,"start_character":41,"end_line":610,"end_character":61},"in_reply_to":"ff346bd7_c3d1e659","updated":"2017-07-22 20:37:24.000000000","message":"True, not necessary..removed","commit_id":"7ef1374a65e15c165081127680027e2677bad425"}],"manila/share/drivers/netapp/options.py":[{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"8fdd98fea36ed20c113561b2478df7d22d7bf37e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"               default\u003d\u0027os_%s\u0027,"},{"line_number":74,"context_line":"               help\u003d\u0027Name template to use for new Vserver.\u0027),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027netapp_qos_policy_group_name_template\u0027,"},{"line_number":76,"context_line":"               help\u003d\u0027NetApp qos policy group name template.\u0027,"},{"line_number":77,"context_line":"               default\u003d\u0027qos_share_%(share_id)s\u0027),"},{"line_number":78,"context_line":"    cfg.StrOpt(\u0027netapp_port_name_search_pattern\u0027,"},{"line_number":79,"context_line":"               default\u003d\u0027(.*)\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f1a1f67_1955021e","line":76,"range":{"start_line":76,"start_character":28,"end_line":76,"end_character":31},"updated":"2017-07-21 07:06:09.000000000","message":"s/qos/QoS","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":73,"context_line":"               default\u003d\u0027os_%s\u0027,"},{"line_number":74,"context_line":"               help\u003d\u0027Name template to use for new Vserver.\u0027),"},{"line_number":75,"context_line":"    cfg.StrOpt(\u0027netapp_qos_policy_group_name_template\u0027,"},{"line_number":76,"context_line":"               help\u003d\u0027NetApp qos policy group name template.\u0027,"},{"line_number":77,"context_line":"               default\u003d\u0027qos_share_%(share_id)s\u0027),"},{"line_number":78,"context_line":"    cfg.StrOpt(\u0027netapp_port_name_search_pattern\u0027,"},{"line_number":79,"context_line":"               default\u003d\u0027(.*)\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_a3a5c2b7","line":76,"range":{"start_line":76,"start_character":28,"end_line":76,"end_character":31},"in_reply_to":"1f1a1f67_1955021e","updated":"2017-07-22 20:37:24.000000000","message":"Done","commit_id":"7ef1374a65e15c165081127680027e2677bad425"}],"manila/tests/share/drivers/netapp/dataontap/client/test_client_cmode.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5345b04fe27bb9ac74d761512613220023153e81","unresolved":false,"context_lines":[{"line_number":5868,"context_line":"        policy_exists \u003d self.client.qos_policy_group_exists("},{"line_number":5869,"context_line":"            \u0027i-dont-exist-but-i-am\u0027)"},{"line_number":5870,"context_line":""},{"line_number":5871,"context_line":"        self.assertIs(False, policy_exists)"},{"line_number":5872,"context_line":""},{"line_number":5873,"context_line":"    def test_qos_policy_group_exists(self):"},{"line_number":5874,"context_line":"        self.mock_object(self.client, \u0027qos_policy_group_get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_63d0fa51","line":5871,"range":{"start_line":5871,"start_character":8,"end_line":5871,"end_character":43},"updated":"2017-07-22 19:21:14.000000000","message":"Use assertFalse","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":5868,"context_line":"        policy_exists \u003d self.client.qos_policy_group_exists("},{"line_number":5869,"context_line":"            \u0027i-dont-exist-but-i-am\u0027)"},{"line_number":5870,"context_line":""},{"line_number":5871,"context_line":"        self.assertIs(False, policy_exists)"},{"line_number":5872,"context_line":""},{"line_number":5873,"context_line":"    def test_qos_policy_group_exists(self):"},{"line_number":5874,"context_line":"        self.mock_object(self.client, \u0027qos_policy_group_get\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_63135a0f","line":5871,"range":{"start_line":5871,"start_character":8,"end_line":5871,"end_character":43},"in_reply_to":"ff346bd7_63d0fa51","updated":"2017-07-22 20:37:24.000000000","message":"I want to ensure that the return value is False and not other values that can match False:\n\nhttp://jamescooke.info/python-unittest-asserttrue-is-truthy-assertfalse-is-falsy.html","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"5345b04fe27bb9ac74d761512613220023153e81","unresolved":false,"context_lines":[{"line_number":5877,"context_line":"        policy_exists \u003d self.client.qos_policy_group_exists("},{"line_number":5878,"context_line":"            fake.QOS_POLICY_GROUP_NAME)"},{"line_number":5879,"context_line":""},{"line_number":5880,"context_line":"        self.assertIs(True, policy_exists)"},{"line_number":5881,"context_line":""},{"line_number":5882,"context_line":"    def test_qos_policy_group_get_none_found(self):"},{"line_number":5883,"context_line":"        no_records_response \u003d netapp_api.NaElement(fake.NO_RECORDS_RESPONSE)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_43c5f68d","line":5880,"range":{"start_line":5880,"start_character":8,"end_line":5880,"end_character":42},"updated":"2017-07-22 19:21:14.000000000","message":"Use assertTrue","commit_id":"7ef1374a65e15c165081127680027e2677bad425"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ee134f2f06b773e7c9df67ed634d7ba019b13d8","unresolved":false,"context_lines":[{"line_number":5877,"context_line":"        policy_exists \u003d self.client.qos_policy_group_exists("},{"line_number":5878,"context_line":"            fake.QOS_POLICY_GROUP_NAME)"},{"line_number":5879,"context_line":""},{"line_number":5880,"context_line":"        self.assertIs(True, policy_exists)"},{"line_number":5881,"context_line":""},{"line_number":5882,"context_line":"    def test_qos_policy_group_get_none_found(self):"},{"line_number":5883,"context_line":"        no_records_response \u003d netapp_api.NaElement(fake.NO_RECORDS_RESPONSE)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff346bd7_43f856c3","line":5880,"range":{"start_line":5880,"start_character":8,"end_line":5880,"end_character":42},"in_reply_to":"ff346bd7_43c5f68d","updated":"2017-07-22 20:37:24.000000000","message":"same...","commit_id":"7ef1374a65e15c165081127680027e2677bad425"}],"manila/tests/share/drivers/netapp/dataontap/cluster_mode/test_lib_base.py":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e7ef3fe507139f4e71fcfd83c4271af92be20af1","unresolved":false,"context_lines":[{"line_number":664,"context_line":"                                         fake.VSERVER1,"},{"line_number":665,"context_line":"                                         vserver_client)"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        self.library._get_provisioning_options_for_share\\"},{"line_number":668,"context_line":"            .assert_called_once_with(fake.EXTRA_SPEC_SHARE, fake.VSERVER1,"},{"line_number":669,"context_line":"                                     replica\u003dFalse)"},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_7db41ef2","line":667,"range":{"start_line":667,"start_character":0,"end_line":667,"end_character":57},"updated":"2017-07-19 18:11:46.000000000","message":"Do you really want to be the guy that undoes change\n\n50df32ceec6e3b5c26669d773527ba4ff7a6477e\n\n?","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e28f46efba31b61551f3314e7a3afe9213894ef9","unresolved":false,"context_lines":[{"line_number":664,"context_line":"                                         fake.VSERVER1,"},{"line_number":665,"context_line":"                                         vserver_client)"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"        self.library._get_provisioning_options_for_share\\"},{"line_number":668,"context_line":"            .assert_called_once_with(fake.EXTRA_SPEC_SHARE, fake.VSERVER1,"},{"line_number":669,"context_line":"                                     replica\u003dFalse)"},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_5965e8b3","line":667,"range":{"start_line":667,"start_character":0,"end_line":667,"end_character":57},"in_reply_to":"1f1a1f67_7db41ef2","updated":"2017-07-20 01:09:38.000000000","message":":(","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"}],"releasenotes/notes/netapp-cdot-quality-of-service-limits-c1fe8601d00cb5a8.yaml":[{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"e7ef3fe507139f4e71fcfd83c4271af92be20af1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    a share on ONTAP with qos support, set the \u0027qos\u0027 extra-spec to True and"},{"line_number":5,"context_line":"    use one of \u0027netapp:maxiops\u0027 and \u0027netapp:maxbps\u0027 scoped extra-specs to set"},{"line_number":6,"context_line":"    absolute limits. To set size based limits, use scoped extra-specs"},{"line_number":7,"context_line":"    \u0027netapp:maxiopspergib\u0027 or \u0027netapp:maxbpspergib\u0027. QoS policies on the"},{"line_number":8,"context_line":"    back end are not shared across workloads."},{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - A new configuration option \u0027netapp_qos_policy_group_name_template\u0027 has"},{"line_number":11,"context_line":"    been added to allow overriding the naming of QoS policies created by the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_a93965f2","line":8,"range":{"start_line":7,"start_character":53,"end_line":8,"end_character":45},"updated":"2017-07-19 18:11:46.000000000","message":"Is there a NetApp doc that elaborates this point that you can point to here?  I\u0027m afraid most people won\u0027t know what you are talking about.","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e28f46efba31b61551f3314e7a3afe9213894ef9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    a share on ONTAP with qos support, set the \u0027qos\u0027 extra-spec to True and"},{"line_number":5,"context_line":"    use one of \u0027netapp:maxiops\u0027 and \u0027netapp:maxbps\u0027 scoped extra-specs to set"},{"line_number":6,"context_line":"    absolute limits. To set size based limits, use scoped extra-specs"},{"line_number":7,"context_line":"    \u0027netapp:maxiopspergib\u0027 or \u0027netapp:maxbpspergib\u0027. QoS policies on the"},{"line_number":8,"context_line":"    back end are not shared across workloads."},{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - A new configuration option \u0027netapp_qos_policy_group_name_template\u0027 has"},{"line_number":11,"context_line":"    been added to allow overriding the naming of QoS policies created by the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_b96bdc82","line":8,"range":{"start_line":7,"start_character":53,"end_line":8,"end_character":45},"in_reply_to":"1f1a1f67_a93965f2","updated":"2017-07-20 01:09:38.000000000","message":"will clarify","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5451317be723f2737a686734a804c1465c33b55d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    a share on ONTAP with qos support, set the \u0027qos\u0027 extra-spec to True and"},{"line_number":5,"context_line":"    use one of \u0027netapp:maxiops\u0027 and \u0027netapp:maxbps\u0027 scoped extra-specs to set"},{"line_number":6,"context_line":"    absolute limits. To set size based limits, use scoped extra-specs"},{"line_number":7,"context_line":"    \u0027netapp:maxiopspergib\u0027 or \u0027netapp:maxbpspergib\u0027. QoS policies on the"},{"line_number":8,"context_line":"    back end are not shared across workloads."},{"line_number":9,"context_line":"upgrade:"},{"line_number":10,"context_line":"  - A new configuration option \u0027netapp_qos_policy_group_name_template\u0027 has"},{"line_number":11,"context_line":"    been added to allow overriding the naming of QoS policies created by the"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"1f1a1f67_28f405cf","line":8,"range":{"start_line":7,"start_character":53,"end_line":8,"end_character":45},"in_reply_to":"1f1a1f67_b96bdc82","updated":"2017-07-20 13:29:44.000000000","message":"Done","commit_id":"f3865eea9046289451e6f9d47f5df16512427885"}]}
