)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"1e6273e9a787ad2f7e156e26f07006679b5b7a79","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     jarbassaidai \u003cjay.rubenstein@netapp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-01 07:50:19 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"SF bug/1782588 The scaling io by volume size was not implemented when a volume"},{"line_number":8,"context_line":"was extened. The original test for extend volume did not check for the changed"},{"line_number":9,"context_line":"qos settings when a volume was extended.Two test modules where added,"},{"line_number":10,"context_line":"fake_ext_qos_issue_api_request and test_extend_volume_with_scaled_qos."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"To correct the bug _retrieve_qos_setting should be called before issuing"},{"line_number":13,"context_line":"the solidfire api command, this required adding a default value (size\u003d0) to the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_bef8d2c0","line":10,"range":{"start_line":7,"start_character":0,"end_line":10,"end_character":70},"updated":"2018-10-01 14:07:45.000000000","message":"This needs to be split up please.  Need a short summary line.","commit_id":"effef3104f9947c5ac88c5743c238af401c07fd4"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"c4d21a958aa382248d31661093ab025a483e0eb4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jay Rubenstein \u003cjay.rubenstein@netapp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-01 14:17:01 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"SF bug/1782588 During extend scaling io by volume size did not occur."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The original test for extend volume did not check for the changed"},{"line_number":10,"context_line":"qos settings when a volume was extended. Two test modules where added,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_fef3aa9d","line":7,"range":{"start_line":7,"start_character":3,"end_line":7,"end_character":14},"updated":"2018-10-01 14:22:52.000000000","message":"Remove this from here. You need a line below the full description like this:\n\nCloses-Bug: #1782588\n\nThat will properly link the commit with the bug report.\n\nAlso should reformat the commit message a little to follow the commit message guidelines:\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"830df1e639249fdf259d408e06ad900a39205418"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a077682d4bec5d94112248c98a2586416cddbd6c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Jay Rubenstein \u003cjay.rubenstein@netapp.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-01 16:07:33 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"During volume extend scaling io by volume size did not occur"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For the Solidfire cinder driver when volume extend is called on a volume"},{"line_number":10,"context_line":"that has scale io turned on, the values are ignored so the min max and "}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_4a4f4a8b","line":7,"updated":"2018-10-03 12:50:05.000000000","message":"Since you need to do an update anyway, please redo this to follow the commit message guidelines:\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure\n\nAlso, the commit message description should state what this patch is doing. The current wording is a bug report. It should state something like:\n\nSF: Handle IO scaling on volume extend","commit_id":"bc8f2693a65b797244b1926d4a29b925b74712e1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"087e6576cf75a63d8c6c2d1ac7f4f434a84df267","unresolved":false,"context_lines":[{"line_number":7,"context_line":"During volume extend scaling io by volume size did not occur"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For the Solidfire cinder driver when volume extend is called on a volume"},{"line_number":10,"context_line":"that has scale io turned on, the values are ignored so the min max and "},{"line_number":11,"context_line":"burst iops-values are not changed as the volume grows. "},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The original test for extend volume did not check for the changed"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3f79a3b5_55df06d6","line":10,"updated":"2018-10-02 12:38:54.000000000","message":"Please, remove trailing spaces","commit_id":"bc8f2693a65b797244b1926d4a29b925b74712e1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5639aec03e4197026fc05bf469949553066517fa","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Extend volume now calls _retrive_qos_settings with the new size argument"},{"line_number":19,"context_line":"and then includes that qos with the call to solidfire api  ModifyVolume."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":" implement some changes by Amit Oren"},{"line_number":22,"context_line":" correct line 860 adding \"exception.\" to SolidFireApiException on"},{"line_number":23,"context_line":" line 861 remove print(sfae) change raise message to include exception"},{"line_number":24,"context_line":" line 860 correct exception name SolidFireAPIException"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Closes-Bug: #1782588"},{"line_number":27,"context_line":"Change-Id: I8cb7b1eccbc63ef4077e86324afdd1a11409343d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9fdfeff1_c874a538","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":54},"updated":"2019-02-17 13:44:55.000000000","message":"remove these lines, review comments doesn\u0027t need to be added in commit msg","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Extend volume now calls _retrive_qos_settings with the new size argument"},{"line_number":19,"context_line":"and then includes that qos with the call to solidfire api  ModifyVolume."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":" implement some changes by Amit Oren"},{"line_number":22,"context_line":" correct line 860 adding \"exception.\" to SolidFireApiException on"},{"line_number":23,"context_line":" line 861 remove print(sfae) change raise message to include exception"},{"line_number":24,"context_line":" line 860 correct exception name SolidFireAPIException"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Closes-Bug: #1782588"},{"line_number":27,"context_line":"Change-Id: I8cb7b1eccbc63ef4077e86324afdd1a11409343d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9fdfeff1_e4f56452","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":54},"in_reply_to":"9fdfeff1_c874a538","updated":"2019-05-09 15:20:26.000000000","message":"done","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"c152d33df29707b5ab3aa0dc6fa07e24e341710f","unresolved":false,"context_lines":[{"line_number":23,"context_line":" line 861 remove print(sfae) change raise message to include exception"},{"line_number":24,"context_line":" line 860 correct exception name SolidFireAPIException"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Closes-Bug: #1782588"},{"line_number":27,"context_line":"Change-Id: I8cb7b1eccbc63ef4077e86324afdd1a11409343d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9fdfeff1_047aed75","line":26,"range":{"start_line":26,"start_character":12,"end_line":26,"end_character":20},"updated":"2019-02-26 11:56:06.000000000","message":"#1783588","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":23,"context_line":" line 861 remove print(sfae) change raise message to include exception"},{"line_number":24,"context_line":" line 860 correct exception name SolidFireAPIException"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Closes-Bug: #1782588"},{"line_number":27,"context_line":"Change-Id: I8cb7b1eccbc63ef4077e86324afdd1a11409343d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"9fdfeff1_849498e9","line":26,"range":{"start_line":26,"start_character":12,"end_line":26,"end_character":20},"in_reply_to":"9fdfeff1_047aed75","updated":"2019-05-09 15:20:26.000000000","message":"done","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"}],"cinder/tests/unit/volume/drivers/solidfire/test_solidfire.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e47228c331acf40253f46b09fda98781f76981d5","unresolved":false,"context_lines":[{"line_number":692,"context_line":"            try:"},{"line_number":693,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":694,"context_line":"            except Exception:"},{"line_number":695,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    def test_extend_volume_fails_no_volume(self):"},{"line_number":698,"context_line":"        self.mock_object(solidfire.SolidFireDriver,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_b39c600d","line":695,"range":{"start_line":695,"start_character":16,"end_line":695,"end_character":79},"updated":"2018-10-03 06:17:02.000000000","message":"this assertion doesn\u0027t seem right.\nmaybe assertRaises(exception.SolidFireAPIException, ...)","commit_id":"bc8f2693a65b797244b1926d4a29b925b74712e1"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":750,"context_line":""},{"line_number":751,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":752,"context_line":"                                       endpoint\u003dNone):"},{"line_number":753,"context_line":"        if method is \u0027ModifyVolume\u0027:"},{"line_number":754,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"},{"line_number":755,"context_line":"                                  \u0027name\u0027: \u0027Extend Volume\u0027,"},{"line_number":756,"context_line":"                                  \u0027message\u0027: \u0027extend fail, size/scale-iops\u0027},"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_876618f0","line":753,"range":{"start_line":753,"start_character":18,"end_line":753,"end_character":20},"updated":"2018-11-05 23:05:08.000000000","message":"use \"\u003d\u003d\". \"is\" is used for identity comparison.","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":751,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":752,"context_line":"                                       endpoint\u003dNone):"},{"line_number":753,"context_line":"        if method is \u0027ModifyVolume\u0027:"},{"line_number":754,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"},{"line_number":755,"context_line":"                                  \u0027name\u0027: \u0027Extend Volume\u0027,"},{"line_number":756,"context_line":"                                  \u0027message\u0027: \u0027extend fail, size/scale-iops\u0027},"},{"line_number":757,"context_line":"                        \u0027id\u0027: 1}"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_275704f8","line":754,"range":{"start_line":754,"start_character":42,"end_line":754,"end_character":45},"updated":"2018-11-05 23:05:08.000000000","message":"One zero is enough.","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":755,"context_line":"                                  \u0027name\u0027: \u0027Extend Volume\u0027,"},{"line_number":756,"context_line":"                                  \u0027message\u0027: \u0027extend fail, size/scale-iops\u0027},"},{"line_number":757,"context_line":"                        \u0027id\u0027: 1}"},{"line_number":758,"context_line":"            if params.get(\u0027totalSize\u0027, None) !\u003d 2147483648:"},{"line_number":759,"context_line":"                msg \u003d (\u0027Error (%s) encountered during \u0027"},{"line_number":760,"context_line":"                       \u0027SolidFire API call.\u0027 % response[\u0027error\u0027][\u0027name\u0027])"},{"line_number":761,"context_line":"                raise exception.SolidFireAPIException(message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_e79a6cc2","line":758,"range":{"start_line":758,"start_character":48,"end_line":758,"end_character":58},"updated":"2018-11-05 23:05:08.000000000","message":"IMO \"magic numbers\" shouldn\u0027t be present in the code as it\u0027s unclear what this value stands for. In this case, either put this number in a module constant, or use it as a power of two (2 \u003c\u003c 30).","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":760,"context_line":"                       \u0027SolidFire API call.\u0027 % response[\u0027error\u0027][\u0027name\u0027])"},{"line_number":761,"context_line":"                raise exception.SolidFireAPIException(message\u003dmsg)"},{"line_number":762,"context_line":""},{"line_number":763,"context_line":"            expected_qos \u003d {\u0027minIOPS\u0027: 110, \u0027burstIOPS\u0027: 1530, \u0027maxIOPS\u0027: 1020}"},{"line_number":764,"context_line":"            if params.get(\u0027qos\u0027, None) !\u003d expected_qos:"},{"line_number":765,"context_line":"                msg \u003d (\u0027Error (%s) encountered during \u0027"},{"line_number":766,"context_line":"                       \u0027SolidFire API call.\u0027 % response[\u0027error\u0027][\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_879b78c5","line":763,"range":{"start_line":763,"start_character":12,"end_line":763,"end_character":79},"updated":"2018-11-05 23:05:08.000000000","message":"Here too, the magic numbers can be used as constants, even the entire dictionary can be saved as a module constant.","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":768,"context_line":""},{"line_number":769,"context_line":"            return {\u0027result\u0027: {}, \u0027id\u0027: 1}"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        elif method is \u0027GetAccountByName\u0027 and version \u003d\u003d \u00271.0\u0027:"},{"line_number":772,"context_line":"            results \u003d {\u0027result\u0027: {\u0027account\u0027:"},{"line_number":773,"context_line":"                                  {\u0027accountID\u0027: 25,"},{"line_number":774,"context_line":"                                   \u0027username\u0027: params[\u0027username\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_47a9e0db","line":771,"range":{"start_line":771,"start_character":20,"end_line":771,"end_character":22},"updated":"2018-11-05 23:05:08.000000000","message":"\u003d\u003d","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":780,"context_line":"                       \"id\": 1}"},{"line_number":781,"context_line":"            return results"},{"line_number":782,"context_line":""},{"line_number":783,"context_line":"        elif method is \u0027ListVolumesForAccount\u0027 and version \u003d\u003d \u00271.0\u0027:"},{"line_number":784,"context_line":"            test_name \u003d \u0027OS-VOLID-a720b3c0-d1f0-11e1-9b23-0800200c9a66\u0027"},{"line_number":785,"context_line":"            result \u003d {\u0027result\u0027: {"},{"line_number":786,"context_line":"                \u0027volumes\u0027: [{\u0027volumeID\u0027: 5,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_c77e506c","line":783,"range":{"start_line":783,"start_character":20,"end_line":783,"end_character":22},"updated":"2018-11-05 23:05:08.000000000","message":"\u003d\u003d","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":841,"context_line":"                                          qos_ref[\u0027id\u0027],"},{"line_number":842,"context_line":"                                          type_ref[\u0027id\u0027])"},{"line_number":843,"context_line":"        qos \u003d sfv._set_qos_by_volume_type(self.ctxt, type_ref[\u0027id\u0027], size + 1)"},{"line_number":844,"context_line":"        expected_qos \u003d {\u0027minIOPS\u0027: 110, \u0027burstIOPS\u0027: 1530, \u0027maxIOPS\u0027: 1020}"},{"line_number":845,"context_line":"        self.assertEqual(qos, expected_qos)"},{"line_number":846,"context_line":"        testvol \u003d {\u0027project_id\u0027: \u0027testprjid\u0027,"},{"line_number":847,"context_line":"                   \u0027name\u0027: \u0027test_volume\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_c7e3b039","line":844,"range":{"start_line":844,"start_character":23,"end_line":844,"end_character":75},"updated":"2018-11-05 23:05:08.000000000","message":"Same as in L#763.","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e90521b2d876f0015d86098852045a8bcd118a7e","unresolved":false,"context_lines":[{"line_number":853,"context_line":"        with mock.patch.object(sfv,"},{"line_number":854,"context_line":"                               \u0027_issue_api_request\u0027,"},{"line_number":855,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":856,"context_line":"            try:"},{"line_number":857,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":858,"context_line":"            except Exception:"},{"line_number":859,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_95f69792","line":856,"updated":"2018-11-30 19:07:52.000000000","message":"try/except rarely makes sense in unit test code. This should use assertRaisesException (with the expected exception to be raised) to validate behavior.","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"3001c66806231ca25e0af1af68bee9df9aaaef84","unresolved":false,"context_lines":[{"line_number":853,"context_line":"        with mock.patch.object(sfv,"},{"line_number":854,"context_line":"                               \u0027_issue_api_request\u0027,"},{"line_number":855,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":856,"context_line":"            try:"},{"line_number":857,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":858,"context_line":"            except Exception:"},{"line_number":859,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_0f547d55","line":856,"in_reply_to":"3f79a3b5_95f69792","updated":"2018-12-10 12:48:48.000000000","message":"In the original code the code-path was incorrect that is they left out making a call to account for scaled iops.  In the mock test, I wanted to ensure that future changes would not remove the now included call for scaled iops.  In the code, the API calls do not return status only throw exceptions upon an error.   For this test, I chose to throw an exception if the resulting value did not match an expected value signaling that the call was skipped, or algorithms changed. \n\nI have taken Amit Oren\u0027s suggestion and changed to the API exception rather than the generic exception. \n\nSince the test is set up in the sunny day scenario, I\u0027m don\u0027t feel that assertRasisesException would achieve the same results. \n\nI\u0027m open to suggestions.","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"df7300bf6c13f274ff0e290f3a77026841a75bd6","unresolved":false,"context_lines":[{"line_number":855,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":856,"context_line":"            try:"},{"line_number":857,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":858,"context_line":"            except Exception:"},{"line_number":859,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":860,"context_line":""},{"line_number":861,"context_line":"    def test_extend_volume_fails_no_volume(self):"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_0788c869","line":858,"range":{"start_line":858,"start_character":19,"end_line":858,"end_character":28},"updated":"2018-11-05 23:05:08.000000000","message":"Can you specify which exception might be raised here?","commit_id":"7cda3a9075652be0dc18d84529923648233338e0"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"67933fd8205f220402d4f0083de074e90794ab35","unresolved":false,"context_lines":[{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":754,"context_line":"                                       endpoint\u003dNone):"},{"line_number":755,"context_line":"        EXPECTED_SIZE \u003d 2147483648"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":758,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_6fb731f9","line":755,"range":{"start_line":755,"start_character":8,"end_line":755,"end_character":34},"updated":"2018-12-04 14:20:21.000000000","message":"This is good, but can be better an clearer if moved to module or class context. Also, IMHO and as I said in the previous review - maybe can be written as a power of 2 (as it is 2 \u003c\u003c 30)?","commit_id":"b241763a9f236697ebd0c3a1580d2135ae8286e6"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"67933fd8205f220402d4f0083de074e90794ab35","unresolved":false,"context_lines":[{"line_number":755,"context_line":"        EXPECTED_SIZE \u003d 2147483648"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":758,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"},{"line_number":759,"context_line":"                                  \u0027name\u0027: \u0027Extend Volume\u0027,"},{"line_number":760,"context_line":"                                  \u0027message\u0027: \u0027extend fail, size/scale-iops\u0027},"},{"line_number":761,"context_line":"                        \u0027id\u0027: 1}"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_cfc76566","line":758,"range":{"start_line":758,"start_character":42,"end_line":758,"end_character":45},"updated":"2018-12-04 14:20:21.000000000","message":"One 0 is enough.","commit_id":"b241763a9f236697ebd0c3a1580d2135ae8286e6"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"67933fd8205f220402d4f0083de074e90794ab35","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except solidFireApiException as sfae:"},{"line_number":861,"context_line":"                print(sfae)"},{"line_number":862,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_efd90153","line":860,"range":{"start_line":860,"start_character":19,"end_line":860,"end_character":40},"updated":"2018-12-04 14:20:21.000000000","message":"did you mean \"exception.SolidFireAPIException\" ?","commit_id":"b241763a9f236697ebd0c3a1580d2135ae8286e6"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"67933fd8205f220402d4f0083de074e90794ab35","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        with mock.patch.object(sfv,"},{"line_number":856,"context_line":"                               \u0027_issue_api_request\u0027,"},{"line_number":857,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except solidFireApiException as sfae:"},{"line_number":861,"context_line":"                print(sfae)"},{"line_number":862,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"    def test_extend_volume_fails_no_volume(self):"},{"line_number":865,"context_line":"        self.mock_object(solidfire.SolidFireDriver,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_af91c952","line":862,"range":{"start_line":858,"start_character":0,"end_line":862,"end_character":79},"updated":"2018-12-04 14:20:21.000000000","message":"I\u0027m not sure I understand this entire clause... The test is deterministic, and it\u0027s supposed to raise this exception every time it runs. In such a case, you can use assertRaises and not try-except.","commit_id":"b241763a9f236697ebd0c3a1580d2135ae8286e6"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"3001c66806231ca25e0af1af68bee9df9aaaef84","unresolved":false,"context_lines":[{"line_number":855,"context_line":"        with mock.patch.object(sfv,"},{"line_number":856,"context_line":"                               \u0027_issue_api_request\u0027,"},{"line_number":857,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except solidFireApiException as sfae:"},{"line_number":861,"context_line":"                print(sfae)"},{"line_number":862,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"    def test_extend_volume_fails_no_volume(self):"},{"line_number":865,"context_line":"        self.mock_object(solidfire.SolidFireDriver,"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_ced5ebb6","line":862,"range":{"start_line":858,"start_character":0,"end_line":862,"end_character":79},"in_reply_to":"3f79a3b5_af91c952","updated":"2018-12-10 12:48:48.000000000","message":"In the original code the code-path was incorrect that is they left out making a call to account for scaled iops.  In the mock test, I wanted to ensure that future changes would not remove the now included call for scaled iops.  In the code, the API calls do not return status only throw exceptions upon an error.   For this test, I chose to throw an exception if the resulting value did not match an expected value signaling that the call was skipped, or algorithms changed.","commit_id":"b241763a9f236697ebd0c3a1580d2135ae8286e6"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"9368cc29a36d79f22b3cecb6fdf96d80d09f17ba","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except exception.solidFireApiException as sfae:"},{"line_number":861,"context_line":"                print(sfae)"},{"line_number":862,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":863,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_8b5c7358","line":860,"range":{"start_line":860,"start_character":29,"end_line":860,"end_character":50},"updated":"2018-12-11 10:23:37.000000000","message":"SolidFireAPIException, as used in other places...","commit_id":"53da2258d90a072e9244502396fc3aaa03b97e87"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"ec9619d6653660a5582def7697b242ceffb56e58","unresolved":false,"context_lines":[{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except exception.solidFireApiException as sfae:"},{"line_number":861,"context_line":"                print(sfae)"},{"line_number":862,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"    def test_extend_volume_fails_no_volume(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_4bed02ff","line":861,"range":{"start_line":861,"start_character":16,"end_line":861,"end_character":27},"updated":"2018-12-11 02:43:23.000000000","message":"using Log.xxx  or remove it","commit_id":"53da2258d90a072e9244502396fc3aaa03b97e87"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"9368cc29a36d79f22b3cecb6fdf96d80d09f17ba","unresolved":false,"context_lines":[{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except exception.solidFireApiException as sfae:"},{"line_number":861,"context_line":"                print(sfae)"},{"line_number":862,"context_line":"                self.assertTrue(False, \u0027extend size or scale values incorrect\u0027)"},{"line_number":863,"context_line":""},{"line_number":864,"context_line":"    def test_extend_volume_fails_no_volume(self):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_ab5fef49","line":861,"range":{"start_line":861,"start_character":16,"end_line":861,"end_character":27},"in_reply_to":"3f79a3b5_4bed02ff","updated":"2018-12-11 10:23:37.000000000","message":"This fails the voting pep8 tests. As Yikun Jiang said - use Log.xxx or remove this.","commit_id":"53da2258d90a072e9244502396fc3aaa03b97e87"},{"author":{"_account_id":26968,"name":"Amit O","email":"oamit.work@gmail.com","username":"amito"},"change_message_id":"4252a1a9166a54ca2068a7807fb1882cb9c86562","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except exception.SolidFireApiException as sfae:"},{"line_number":861,"context_line":"                self.assertTrue(False,"},{"line_number":862,"context_line":"                                \u0027extend size or scale \u0027"},{"line_number":863,"context_line":"                                \u0027values incorrect\\n{}\u0027.format(sfae))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_286513e5","line":860,"range":{"start_line":860,"start_character":29,"end_line":860,"end_character":50},"updated":"2018-12-11 22:34:39.000000000","message":"In L#765, for example, it\u0027s SolidFireAPIException (notice the capitalized \"API\"), so which one is correct? (My bets are on \"API\" (: ).","commit_id":"c4c38d932ae0b2c993a223f67691027ca0233368"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":857,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":858,"context_line":"            try:"},{"line_number":859,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":860,"context_line":"            except exception.SolidFireApiException as sfae:"},{"line_number":861,"context_line":"                self.assertTrue(False,"},{"line_number":862,"context_line":"                                \u0027extend size or scale \u0027"},{"line_number":863,"context_line":"                                \u0027values incorrect\\n{}\u0027.format(sfae))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_0ab9afc4","line":860,"range":{"start_line":860,"start_character":29,"end_line":860,"end_character":50},"in_reply_to":"3f79a3b5_286513e5","updated":"2019-05-09 15:20:26.000000000","message":"yes you are correct \"API\" .  patch set 12 has this correction","commit_id":"c4c38d932ae0b2c993a223f67691027ca0233368"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5639aec03e4197026fc05bf469949553066517fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_087f0d15","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"updated":"2019-02-17 13:44:55.000000000","message":"any significance of adding this?","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_2485acad","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"in_reply_to":"9fdfeff1_087f0d15","updated":"2019-05-09 15:20:26.000000000","message":"removed","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5639aec03e4197026fc05bf469949553066517fa","unresolved":false,"context_lines":[{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":754,"context_line":"                                       endpoint\u003dNone):"},{"line_number":755,"context_line":"        EXPECTED_SIZE \u003d 2147483648"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":758,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_488195fa","line":755,"range":{"start_line":755,"start_character":8,"end_line":755,"end_character":34},"updated":"2019-02-17 13:44:55.000000000","message":"use suggested alternatives rather than long values directly","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":754,"context_line":"                                       endpoint\u003dNone):"},{"line_number":755,"context_line":"        EXPECTED_SIZE \u003d 2147483648"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":758,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_c4a62055","line":755,"range":{"start_line":755,"start_character":8,"end_line":755,"end_character":34},"in_reply_to":"9fdfeff1_488195fa","updated":"2019-05-09 15:20:26.000000000","message":"changed value to 2 \u003c\u003c 30  #   extend plus size","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5639aec03e4197026fc05bf469949553066517fa","unresolved":false,"context_lines":[{"line_number":755,"context_line":"        EXPECTED_SIZE \u003d 2147483648"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":758,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"},{"line_number":759,"context_line":"                                  \u0027name\u0027: \u0027Extend Volume\u0027,"},{"line_number":760,"context_line":"                                  \u0027message\u0027: \u0027extend fail, size/scale-iops\u0027},"},{"line_number":761,"context_line":"                        \u0027id\u0027: 1}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_6884990b","line":758,"range":{"start_line":758,"start_character":42,"end_line":758,"end_character":45},"updated":"2019-02-17 13:44:55.000000000","message":"000 doesn\u0027t make sense for an integer value, 0 will do the same","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":755,"context_line":"        EXPECTED_SIZE \u003d 2147483648"},{"line_number":756,"context_line":""},{"line_number":757,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":758,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 000,"},{"line_number":759,"context_line":"                                  \u0027name\u0027: \u0027Extend Volume\u0027,"},{"line_number":760,"context_line":"                                  \u0027message\u0027: \u0027extend fail, size/scale-iops\u0027},"},{"line_number":761,"context_line":"                        \u0027id\u0027: 1}"}],"source_content_type":"text/x-python","patch_set":12,"id":"9fdfeff1_84625815","line":758,"range":{"start_line":758,"start_character":42,"end_line":758,"end_character":45},"in_reply_to":"9fdfeff1_6884990b","updated":"2019-05-09 15:20:26.000000000","message":"done changed to 0","commit_id":"c2a32dc5a0f7c06c7e7e738b6422f1b11558dd5e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"61e43c0b97df7a6b3b3030b22dca28bfec90d288","unresolved":false,"context_lines":[{"line_number":806,"context_line":""},{"line_number":807,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":808,"context_line":"                                       endpoint\u003dNone):"},{"line_number":809,"context_line":"        EXPECTED_SIZE \u003d 2\u003c\u003c30  #2147483648 size + increase"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":812,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9fdfeff1_b06472ba","line":809,"updated":"2019-02-26 18:29:35.000000000","message":"one space required after #","commit_id":"ac8ec69d766fd61052feb8a57418e1d0c61d3981"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"61e43c0b97df7a6b3b3030b22dca28bfec90d288","unresolved":false,"context_lines":[{"line_number":806,"context_line":""},{"line_number":807,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":808,"context_line":"                                       endpoint\u003dNone):"},{"line_number":809,"context_line":"        EXPECTED_SIZE \u003d 2\u003c\u003c30  #2147483648 size + increase"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":812,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9fdfeff1_505506c1","line":809,"range":{"start_line":809,"start_character":25,"end_line":809,"end_character":27},"updated":"2019-02-26 18:29:35.000000000","message":"space required around bitwise operator\n2 \u003c\u003c 30","commit_id":"ac8ec69d766fd61052feb8a57418e1d0c61d3981"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":806,"context_line":""},{"line_number":807,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":808,"context_line":"                                       endpoint\u003dNone):"},{"line_number":809,"context_line":"        EXPECTED_SIZE \u003d 2\u003c\u003c30  #2147483648 size + increase"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":812,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9fdfeff1_2f880ec4","line":809,"range":{"start_line":809,"start_character":25,"end_line":809,"end_character":27},"in_reply_to":"9fdfeff1_505506c1","updated":"2019-05-09 15:20:26.000000000","message":"Done","commit_id":"ac8ec69d766fd61052feb8a57418e1d0c61d3981"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":806,"context_line":""},{"line_number":807,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":808,"context_line":"                                       endpoint\u003dNone):"},{"line_number":809,"context_line":"        EXPECTED_SIZE \u003d 2\u003c\u003c30  #2147483648 size + increase"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":812,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9fdfeff1_ef8d26d4","line":809,"in_reply_to":"9fdfeff1_b06472ba","updated":"2019-05-09 15:20:26.000000000","message":"Done","commit_id":"ac8ec69d766fd61052feb8a57418e1d0c61d3981"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"a3c4578d5ea882b769074103a22300cebda1f5cc","unresolved":false,"context_lines":[{"line_number":806,"context_line":""},{"line_number":807,"context_line":"    def fake_ext_qos_issue_api_request(obj, method, params, version\u003d\u00271.0\u0027,"},{"line_number":808,"context_line":"                                       endpoint\u003dNone):"},{"line_number":809,"context_line":"        EXPECTED_SIZE \u003d 2 \u003c\u003c30  # 2147483648 size + increase"},{"line_number":810,"context_line":""},{"line_number":811,"context_line":"        if method \u003d\u003d \u0027ModifyVolume\u0027:"},{"line_number":812,"context_line":"            response \u003d {\u0027error\u0027: {\u0027code\u0027: 0,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9fdfeff1_6555d7c1","line":809,"range":{"start_line":809,"start_character":28,"end_line":809,"end_character":30},"updated":"2019-03-08 17:42:28.000000000","message":"Space","commit_id":"0b0a7c9c21fe15bc5ed2c4025b15e7e42245f15e"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"3ac7eaee26af2e939e2d6be11193989577eb8264","unresolved":false,"context_lines":[{"line_number":909,"context_line":"        with mock.patch.object(sfv,"},{"line_number":910,"context_line":"                               \u0027_issue_api_request\u0027,"},{"line_number":911,"context_line":"                               self.fake_ext_qos_issue_api_request):"},{"line_number":912,"context_line":"            try:"},{"line_number":913,"context_line":"                sfv.extend_volume(testvol, 2)"},{"line_number":914,"context_line":"            except exception.SolidFireAPIException as sfae:"},{"line_number":915,"context_line":"                self.assertTrue(False,"}],"source_content_type":"text/x-python","patch_set":18,"id":"bfb3d3c7_0278bb8d","line":912,"updated":"2019-05-24 14:31:32.000000000","message":"try/except use should be removed from unit tests.\n\nAnd assertTrue(false) is just wrong.","commit_id":"195954c7b0bc7062856a74643c776e6a6d6e6971"}],"cinder/volume/drivers/solidfire.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e47228c331acf40253f46b09fda98781f76981d5","unresolved":false,"context_lines":[{"line_number":198,"context_line":"          2.0.10 - Add response to debug on retryable errors"},{"line_number":199,"context_line":"          2.0.11 - Add ability to failback replicating volumes"},{"line_number":200,"context_line":"          2.0.12 - Fix bug #1744005"},{"line_number":201,"context_line":"          2.0.14 - Fix bug #1782588 qos settings on extend"},{"line_number":202,"context_line":"    \"\"\""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    VERSION \u003d \u00272.0.14\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3345b09b","line":201,"range":{"start_line":201,"start_character":10,"end_line":201,"end_character":16},"updated":"2018-10-03 06:17:02.000000000","message":"2.0.13 ?","commit_id":"bc8f2693a65b797244b1926d4a29b925b74712e1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e47228c331acf40253f46b09fda98781f76981d5","unresolved":false,"context_lines":[{"line_number":201,"context_line":"          2.0.14 - Fix bug #1782588 qos settings on extend"},{"line_number":202,"context_line":"    \"\"\""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    VERSION \u003d \u00272.0.14\u0027"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    # ThirdPartySystems wiki page"},{"line_number":207,"context_line":"    CI_WIKI_NAME \u003d \"NetApp_SolidFire_CI\""}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d3eebc89","line":204,"range":{"start_line":204,"start_character":15,"end_line":204,"end_character":21},"updated":"2018-10-03 06:17:02.000000000","message":"ditto","commit_id":"bc8f2693a65b797244b1926d4a29b925b74712e1"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"ec9619d6653660a5582def7697b242ceffb56e58","unresolved":false,"context_lines":[{"line_number":198,"context_line":"          2.0.10 - Add response to debug on retryable errors"},{"line_number":199,"context_line":"          2.0.11 - Add ability to failback replicating volumes"},{"line_number":200,"context_line":"          2.0.12 - Fix bug #1744005"},{"line_number":201,"context_line":"          2.0.14 - Fix bug #1782588 qos settings on extend"},{"line_number":202,"context_line":"    \"\"\""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    VERSION \u003d \u00272.0.14\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_8beb1a0e","line":201,"updated":"2018-12-11 02:43:23.000000000","message":"Why 2.0.13 was skipped?","commit_id":"53da2258d90a072e9244502396fc3aaa03b97e87"},{"author":{"_account_id":28710,"name":"Jay Rubenstein","email":"jay.rubenstein@netapp.com","username":"jarbassaidai"},"change_message_id":"8b1b4f6df259519f22de674bd96be03f787ad91a","unresolved":false,"context_lines":[{"line_number":198,"context_line":"          2.0.10 - Add response to debug on retryable errors"},{"line_number":199,"context_line":"          2.0.11 - Add ability to failback replicating volumes"},{"line_number":200,"context_line":"          2.0.12 - Fix bug #1744005"},{"line_number":201,"context_line":"          2.0.14 - Fix bug #1782588 qos settings on extend"},{"line_number":202,"context_line":"    \"\"\""},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    VERSION \u003d \u00272.0.14\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_173f2084","line":201,"in_reply_to":"3f79a3b5_8beb1a0e","updated":"2019-05-09 15:20:26.000000000","message":"2.0.13 is for a different bug deleting the wrong volume. This was started before the other bug was merged","commit_id":"53da2258d90a072e9244502396fc3aaa03b97e87"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"ec9619d6653660a5582def7697b242ceffb56e58","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"                                                         volume)"},{"line_number":1338,"context_line":"        return model, True"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    # bug   handle create and extend with size value"},{"line_number":1341,"context_line":"    def _retrieve_qos_setting(self, volume, size\u003d0):"},{"line_number":1342,"context_line":"        qos \u003d {}"},{"line_number":1343,"context_line":"        if (self.configuration.sf_allow_tenant_qos and"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_abcb76a4","line":1340,"updated":"2018-12-11 02:43:23.000000000","message":"Better to add more detail note on it.","commit_id":"53da2258d90a072e9244502396fc3aaa03b97e87"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"a3c4578d5ea882b769074103a22300cebda1f5cc","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"                                                         volume)"},{"line_number":1338,"context_line":"        return model, True"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    # bug   handle create and extend with size value"},{"line_number":1341,"context_line":"    def _retrieve_qos_setting(self, volume, size\u003d0):"},{"line_number":1342,"context_line":"        qos \u003d {}"},{"line_number":1343,"context_line":"        if (self.configuration.sf_allow_tenant_qos and"}],"source_content_type":"text/x-python","patch_set":14,"id":"9fdfeff1_25126f59","line":1340,"range":{"start_line":1340,"start_character":5,"end_line":1340,"end_character":11},"updated":"2019-03-08 17:42:28.000000000","message":"No need to add this","commit_id":"0b0a7c9c21fe15bc5ed2c4025b15e7e42245f15e"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"fc9350a1592ec49530527e5e7a54ab70ec44e7d9","unresolved":false,"context_lines":[{"line_number":1338,"context_line":"        return model, True"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    # bug   handle create and extend with size value"},{"line_number":1341,"context_line":"    def _retrieve_qos_setting(self, volume, new_size\u003d0):"},{"line_number":1342,"context_line":"        qos \u003d {}"},{"line_number":1343,"context_line":"        if (self.configuration.sf_allow_tenant_qos and"},{"line_number":1344,"context_line":"                volume.get(\u0027volume_metadata\u0027)is not None):"}],"source_content_type":"text/x-python","patch_set":16,"id":"dfbec78f_9cd0e2f9","line":1341,"range":{"start_line":1341,"start_character":44,"end_line":1341,"end_character":54},"updated":"2019-05-07 00:08:55.000000000","message":"This still not clear because when you can the function out of the extend operation, new_size will be 0, which is not true. Can we use, extended_size?","commit_id":"20aeed5ca247f38c30384473332978719a1d7458"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"0faf456621d4d601a8b8cfe9eba1fd7d719aa4b7","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"                                                         volume)"},{"line_number":1338,"context_line":"        return model, True"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    # bug   handle create and extend with size value"},{"line_number":1341,"context_line":"    def _retrieve_qos_setting(self, volume, extended_size\u003d0):"},{"line_number":1342,"context_line":"        qos \u003d {}"},{"line_number":1343,"context_line":"        if (self.configuration.sf_allow_tenant_qos and"}],"source_content_type":"text/x-python","patch_set":19,"id":"9fb8cfa7_a3fefe68","line":1340,"range":{"start_line":1340,"start_character":8,"end_line":1340,"end_character":13},"updated":"2019-06-18 12:50:37.000000000","message":"Did you mean to put a bug number here?","commit_id":"ec10c1e79664e0bf4c39b7b1fa169a02cab7f9a3"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"f815d2553be04a4fcedf1bd192f4b279e62f19e1","unresolved":false,"context_lines":[{"line_number":1337,"context_line":"                                                         volume)"},{"line_number":1338,"context_line":"        return model, True"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    # bug   handle create and extend with size value"},{"line_number":1341,"context_line":"    def _retrieve_qos_setting(self, volume, extended_size\u003d0):"},{"line_number":1342,"context_line":"        qos \u003d {}"},{"line_number":1343,"context_line":"        if (self.configuration.sf_allow_tenant_qos and"}],"source_content_type":"text/x-python","patch_set":19,"id":"9fb8cfa7_8668a821","line":1340,"range":{"start_line":1340,"start_character":8,"end_line":1340,"end_character":13},"in_reply_to":"9fb8cfa7_a3fefe68","updated":"2019-06-18 13:52:46.000000000","message":"Done","commit_id":"ec10c1e79664e0bf4c39b7b1fa169a02cab7f9a3"}],"releasenotes/notes/bug-1782588-7e058b379da95309.yaml":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"a3c4578d5ea882b769074103a22300cebda1f5cc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Solidfire fix extend volume with qos-Scaling to honor the increased size"},{"line_number":5,"context_line":"    with increased iops on the extended volume."}],"source_content_type":"text/x-yaml","patch_set":14,"id":"9fdfeff1_8541db0c","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":13},"updated":"2019-03-08 17:42:28.000000000","message":"SolidFire","commit_id":"0b0a7c9c21fe15bc5ed2c4025b15e7e42245f15e"}]}
