)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"38e42b651c21b1c258209cc216c48d83b54b3e07","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[Storwize] Provide IOPS based storage offering"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The added functionalities to IBM Storwize cinder driver"},{"line_number":10,"context_line":"return throttle rate of max IOPS and max Bandwidth of"},{"line_number":11,"context_line":"all vidsks of a specified storage pool."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_d5c014e3","line":9,"updated":"2020-09-24 07:29:14.000000000","message":"commit message can be improved.\n\nProvide IOPS based storage offering\n[Spectrum Virtualize Family] Added functionality to return throttle rate of max IOPS and max Bandwidth of\nall vidsks on a specified storage pool.","commit_id":"8523bc3624940e2639bf49354a98f1f870742c13"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"38e42b651c21b1c258209cc216c48d83b54b3e07","unresolved":false,"context_lines":[{"line_number":10,"context_line":"return throttle rate of max IOPS and max Bandwidth of"},{"line_number":11,"context_line":"all vidsks of a specified storage pool."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"closes bug #1894734"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I01ccc1acedb776cd4e2344cdc6adad167023c4f9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f560f44_7524a8c6","line":13,"updated":"2020-09-24 07:29:14.000000000","message":"If this is a new feature/functionality added, we don\u0027t a bug for this.","commit_id":"8523bc3624940e2639bf49354a98f1f870742c13"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"3df1c6b3e3ad35eed9aa51df5c6f60571103d120","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     venkatakrishnathumu \u003cvenkata.krishna.reddy@ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-02-18 07:02:11 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[Storwize] Provide IOPS based storage offering"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The added functionality to IBM Storwize cinder driver"},{"line_number":10,"context_line":"return throttle rate of max IOPS and max Bandwidth of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"8346855e_c1912acf","line":7,"updated":"2021-02-18 07:09:49.000000000","message":"Storwize -\u003e SVF","commit_id":"ce9cc514e6b3f9f0d94e0a4b91298c4cac356b2b"},{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"3df1c6b3e3ad35eed9aa51df5c6f60571103d120","unresolved":true,"context_lines":[{"line_number":7,"context_line":"[Storwize] Provide IOPS based storage offering"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The added functionality to IBM Storwize cinder driver"},{"line_number":10,"context_line":"return throttle rate of max IOPS and max Bandwidth of"},{"line_number":11,"context_line":"all vidsks of a specified storage pool."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I01ccc1acedb776cd4e2344cdc6adad167023c4f9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"e353035f_194fdeac","line":10,"updated":"2021-02-18 07:09:49.000000000","message":"IBM Storwize cinder driver -\u003e IBM Spectrum Virtualize Family driver","commit_id":"ce9cc514e6b3f9f0d94e0a4b91298c4cac356b2b"}],"cinder/tests/unit/volume/drivers/ibm/test_storwize_svc.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fdb25acf0d369926a35248a154a9953470ea163c","unresolved":true,"context_lines":[{"line_number":5411,"context_line":"                        raise"},{"line_number":5412,"context_line":""},{"line_number":5413,"context_line":"    @ddt.data((\u0027IOPs_limit\u0027, \u0027100\u0027, \u0027100\u0027), (\u0027bandwidth_limit_MB\u0027, \u002750\u0027, \u002750\u0027))"},{"line_number":5414,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":5415,"context_line":"                       \u0027get_pool_max_throttle_rate_vdisk\u0027)"},{"line_number":5416,"context_line":"    @ddt.unpack"},{"line_number":5417,"context_line":"    def test_storwize_svc_max_pool_throttle_rate(self, fake_throttle_name,"},{"line_number":5418,"context_line":"                                                 fake_throttle_value,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7ec5ecf3_51f545ed","line":5415,"range":{"start_line":5414,"start_character":0,"end_line":5415,"end_character":58},"updated":"2021-03-01 17:00:35.000000000","message":"why is this being mocked? we should only mock methods that are called by this method which might cause issues during a test run","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"af08dd2dd707e4073b6ec82ecaa96263ecec4370","unresolved":false,"context_lines":[{"line_number":5411,"context_line":"                        raise"},{"line_number":5412,"context_line":""},{"line_number":5413,"context_line":"    @ddt.data((\u0027IOPs_limit\u0027, \u0027100\u0027, \u0027100\u0027), (\u0027bandwidth_limit_MB\u0027, \u002750\u0027, \u002750\u0027))"},{"line_number":5414,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":5415,"context_line":"                       \u0027get_pool_max_throttle_rate_vdisk\u0027)"},{"line_number":5416,"context_line":"    @ddt.unpack"},{"line_number":5417,"context_line":"    def test_storwize_svc_max_pool_throttle_rate(self, fake_throttle_name,"},{"line_number":5418,"context_line":"                                                 fake_throttle_value,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5220b1f7_6ca70f6e","line":5415,"range":{"start_line":5414,"start_character":0,"end_line":5415,"end_character":58},"in_reply_to":"7ec5ecf3_51f545ed","updated":"2021-03-04 04:50:19.000000000","message":"Modified UT and removed the mocking of the method \u0027get_pool_max_throttle_rate_vdisk\u0027 and mocked only the internal methods which are being called by the method \u0027get_pool_max_throttle_rate_vdisk\u0027.","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fdb25acf0d369926a35248a154a9953470ea163c","unresolved":true,"context_lines":[{"line_number":5414,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":5415,"context_line":"                       \u0027get_pool_max_throttle_rate_vdisk\u0027)"},{"line_number":5416,"context_line":"    @ddt.unpack"},{"line_number":5417,"context_line":"    def test_storwize_svc_max_pool_throttle_rate(self, fake_throttle_name,"},{"line_number":5418,"context_line":"                                                 fake_throttle_value,"},{"line_number":5419,"context_line":"                                                 expected_throttle_value,"},{"line_number":5420,"context_line":"                                                 get_pool_max_throttle_rate):"},{"line_number":5421,"context_line":"        fake_pool_name \u003d \u0027storage_pool2\u0027"},{"line_number":5422,"context_line":"        get_pool_max_throttle_rate.return_value \u003d fake_throttle_value"},{"line_number":5423,"context_line":""},{"line_number":5424,"context_line":"        actual_throttle_value \u003d get_pool_max_throttle_rate(fake_pool_name,"},{"line_number":5425,"context_line":"                                                           fake_throttle_name)"},{"line_number":5426,"context_line":"        self.assertEqual(expected_throttle_value, actual_throttle_value)"},{"line_number":5427,"context_line":""},{"line_number":5428,"context_line":"    def test_storwize_svc_unicode_host_and_volume_names(self):"},{"line_number":5429,"context_line":"        # We\u0027ll check with iSCSI only - nothing protocol-dependent here"}],"source_content_type":"text/x-python","patch_set":8,"id":"b4518225_3750cd72","line":5426,"range":{"start_line":5417,"start_character":0,"end_line":5426,"end_character":72},"updated":"2021-03-01 17:00:35.000000000","message":"This test isn\u0027t doing anything. It\u0027s mocking a method, setting it\u0027s return value and checking it against the provided value. No actual call is being done to the method being tested.","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"af08dd2dd707e4073b6ec82ecaa96263ecec4370","unresolved":false,"context_lines":[{"line_number":5414,"context_line":"    @mock.patch.object(storwize_svc_common.StorwizeHelpers,"},{"line_number":5415,"context_line":"                       \u0027get_pool_max_throttle_rate_vdisk\u0027)"},{"line_number":5416,"context_line":"    @ddt.unpack"},{"line_number":5417,"context_line":"    def test_storwize_svc_max_pool_throttle_rate(self, fake_throttle_name,"},{"line_number":5418,"context_line":"                                                 fake_throttle_value,"},{"line_number":5419,"context_line":"                                                 expected_throttle_value,"},{"line_number":5420,"context_line":"                                                 get_pool_max_throttle_rate):"},{"line_number":5421,"context_line":"        fake_pool_name \u003d \u0027storage_pool2\u0027"},{"line_number":5422,"context_line":"        get_pool_max_throttle_rate.return_value \u003d fake_throttle_value"},{"line_number":5423,"context_line":""},{"line_number":5424,"context_line":"        actual_throttle_value \u003d get_pool_max_throttle_rate(fake_pool_name,"},{"line_number":5425,"context_line":"                                                           fake_throttle_name)"},{"line_number":5426,"context_line":"        self.assertEqual(expected_throttle_value, actual_throttle_value)"},{"line_number":5427,"context_line":""},{"line_number":5428,"context_line":"    def test_storwize_svc_unicode_host_and_volume_names(self):"},{"line_number":5429,"context_line":"        # We\u0027ll check with iSCSI only - nothing protocol-dependent here"}],"source_content_type":"text/x-python","patch_set":8,"id":"a2c9ed67_6dc5ac6a","line":5426,"range":{"start_line":5417,"start_character":0,"end_line":5426,"end_character":72},"in_reply_to":"b4518225_3750cd72","updated":"2021-03-04 04:50:19.000000000","message":"Modified UT to cover two scenarios. One with two volumes in a pool with IO_throttle values and check the sum of IO_throttle values of those volumes. Other one with no volumes in a pool which return 0 as the result of sum of IO_throttle values and compare that result.","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fdb25acf0d369926a35248a154a9953470ea163c","unresolved":true,"context_lines":[{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def lsvdisk(self, vdisk):"},{"line_number":513,"context_line":"        \"\"\"Return vdisk attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvdisk\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":516,"context_line":"                   \u0027\"%s\"\u0027 % vdisk]"},{"line_number":517,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":8,"id":"8c84f04a_ead27d1a","line":514,"updated":"2021-03-01 17:00:35.000000000","message":"unrelated change?","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"af08dd2dd707e4073b6ec82ecaa96263ecec4370","unresolved":false,"context_lines":[{"line_number":511,"context_line":""},{"line_number":512,"context_line":"    def lsvdisk(self, vdisk):"},{"line_number":513,"context_line":"        \"\"\"Return vdisk attributes or None if it doesn\u0027t exist.\"\"\""},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"        ssh_cmd \u003d [\u0027svcinfo\u0027, \u0027lsvdisk\u0027, \u0027-bytes\u0027, \u0027-delim\u0027, \u0027!\u0027,"},{"line_number":516,"context_line":"                   \u0027\"%s\"\u0027 % vdisk]"},{"line_number":517,"context_line":"        out, err \u003d self._ssh(ssh_cmd, check_exit_code\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":8,"id":"84e486c3_6c79bc3a","line":514,"in_reply_to":"8c84f04a_ead27d1a","updated":"2021-03-04 04:50:19.000000000","message":"Deleted.","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fdb25acf0d369926a35248a154a9953470ea163c","unresolved":true,"context_lines":[{"line_number":922,"context_line":"            throttles \u003d self.ssh.lsthrottle()"},{"line_number":923,"context_line":"            if throttles:"},{"line_number":924,"context_line":"                vdisk_names \u003d ["},{"line_number":925,"context_line":"                    vdisk[\u0027name\u0027] for vdisk in vdisks if vdisk[\u0027name\u0027]]"},{"line_number":926,"context_line":"                for throttle in throttles.result:"},{"line_number":927,"context_line":"                    if (throttle[\u0027object_name\u0027] in vdisk_names and"},{"line_number":928,"context_line":"                            throttle[throttle_rate_type]):"}],"source_content_type":"text/x-python","patch_set":8,"id":"468a116d_5ccaedda","line":925,"range":{"start_line":925,"start_character":57,"end_line":925,"end_character":70},"updated":"2021-03-01 17:00:35.000000000","message":"i think these are unique name identifiers assigned by the backend and should always exist?","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"af08dd2dd707e4073b6ec82ecaa96263ecec4370","unresolved":false,"context_lines":[{"line_number":922,"context_line":"            throttles \u003d self.ssh.lsthrottle()"},{"line_number":923,"context_line":"            if throttles:"},{"line_number":924,"context_line":"                vdisk_names \u003d ["},{"line_number":925,"context_line":"                    vdisk[\u0027name\u0027] for vdisk in vdisks if vdisk[\u0027name\u0027]]"},{"line_number":926,"context_line":"                for throttle in throttles.result:"},{"line_number":927,"context_line":"                    if (throttle[\u0027object_name\u0027] in vdisk_names and"},{"line_number":928,"context_line":"                            throttle[throttle_rate_type]):"}],"source_content_type":"text/x-python","patch_set":8,"id":"4925f1f0_cb741215","line":925,"range":{"start_line":925,"start_character":57,"end_line":925,"end_character":70},"in_reply_to":"468a116d_5ccaedda","updated":"2021-03-04 04:50:19.000000000","message":"Yes. Those are unique name identifiers assigned by the backend.","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fdb25acf0d369926a35248a154a9953470ea163c","unresolved":true,"context_lines":[{"line_number":924,"context_line":"                vdisk_names \u003d ["},{"line_number":925,"context_line":"                    vdisk[\u0027name\u0027] for vdisk in vdisks if vdisk[\u0027name\u0027]]"},{"line_number":926,"context_line":"                for throttle in throttles.result:"},{"line_number":927,"context_line":"                    if (throttle[\u0027object_name\u0027] in vdisk_names and"},{"line_number":928,"context_line":"                            throttle[throttle_rate_type]):"},{"line_number":929,"context_line":"                        max_throttle_rate_vdisk +\u003d int("},{"line_number":930,"context_line":"                            throttle[throttle_rate_type])"}],"source_content_type":"text/x-python","patch_set":8,"id":"7bb7899c_51b8ebd1","line":927,"range":{"start_line":927,"start_character":34,"end_line":927,"end_character":45},"updated":"2021-03-01 17:00:35.000000000","message":"will this key always exists unlike the check above for vdisk[\u0027name\u0027] ?","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"},{"author":{"_account_id":32266,"name":"Venkata krishna Thumu","display_name":"VenkataKrishna","email":"venkata.krishna.reddy@ibm.com","username":"venkatakrishnathumu","status":"Active"},"change_message_id":"af08dd2dd707e4073b6ec82ecaa96263ecec4370","unresolved":false,"context_lines":[{"line_number":924,"context_line":"                vdisk_names \u003d ["},{"line_number":925,"context_line":"                    vdisk[\u0027name\u0027] for vdisk in vdisks if vdisk[\u0027name\u0027]]"},{"line_number":926,"context_line":"                for throttle in throttles.result:"},{"line_number":927,"context_line":"                    if (throttle[\u0027object_name\u0027] in vdisk_names and"},{"line_number":928,"context_line":"                            throttle[throttle_rate_type]):"},{"line_number":929,"context_line":"                        max_throttle_rate_vdisk +\u003d int("},{"line_number":930,"context_line":"                            throttle[throttle_rate_type])"}],"source_content_type":"text/x-python","patch_set":8,"id":"65d9796a_2247d3d2","line":927,"range":{"start_line":927,"start_character":34,"end_line":927,"end_character":45},"in_reply_to":"7bb7899c_51b8ebd1","updated":"2021-03-04 04:50:19.000000000","message":"Yes. That key always exists.","commit_id":"ff9594d1d8eb6557028e383e1c9e9973fb811c6d"}],"releasenotes/notes/ibm-svf-provide-IOPs-based-storage-offering-1b7532f42fd6d76e.yaml":[{"author":{"_account_id":32036,"name":"katari manoj kumar","email":"katkumar@in.ibm.com","username":"katarimanojkumar"},"change_message_id":"4e314beb92e6563b6e3a40bcb6c517992abe015c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The added functionality to IBM Storwize cinder driver(IBM Spectrum"},{"line_number":5,"context_line":"    Virtualize Family) return throttle rate of max IOPS and max Bandwidth"},{"line_number":6,"context_line":"    of all vidsks of a specified storage pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"da4859f3_f550c443","line":4,"updated":"2021-02-16 15:31:53.000000000","message":"rephrase it as \"IBM Spectrum Virtualize Family Driver: \u003cdescription\u003e\"","commit_id":"edcf3dba3f9768f7bc3a77dac5b9bf79e2981259"}]}
