)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4fce7bcadadf64e29bf1f45c16d63ddc47e3d815","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     junboli \u003cjunbo85.li@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-28 17:09:37 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix force delete volume in v3.23"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder support force delete volumes, However, in cinderclient, no comand"},{"line_number":10,"context_line":"line support this feature. This patch is to add force delete in cinderclient."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f201791_fc05c646","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2017-06-28 19:40:52.000000000","message":"This should be \"Add force delete volume\", not \"fix\".","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"2ddbc19b59649231cf80a0e66320b8daf3a24fcd","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix force delete volume in v3.23"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Cinder support force delete volumes, However, in cinderclient, no comand"},{"line_number":10,"context_line":"line support this feature. This patch is to add force delete in cinderclient."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"  # cinder help delete"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f201791_9d7ee2e1","line":9,"range":{"start_line":9,"start_character":7,"end_line":9,"end_character":14},"updated":"2017-06-28 10:00:57.000000000","message":"supports","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d7deb53b4228b1f6936fb25349a0cfc4f12643ab","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add the force param and it will be passed through cinderclient to Cinder API,"},{"line_number":24,"context_line":"if the version is v3.23, then the param force will take effect."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I2056b8d94bbf29d2f6943de7612954147a0e8cde"},{"line_number":27,"context_line":"Closes-Bug: #1700927"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f201791_c8480db4","line":25,"updated":"2017-06-28 14:51:01.000000000","message":"Add:\n    Implements: bp volume-delete-parameters\n\nThis should have been tracked there rather than as a bug.","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"08fb2eb5e5c85b3bb5783f8e1aac876e8d4bc7e2","unresolved":false,"context_lines":[{"line_number":16,"context_line":"  Positional arguments:"},{"line_number":17,"context_line":"    \u003cvolume\u003e Name or ID of volume or volumes to delete."},{"line_number":18,"context_line":"  Optional arguments:"},{"line_number":19,"context_line":"    --cascade \u003cFalse|True\u003e"},{"line_number":20,"context_line":"             Remove any snapshots along with volume. Default\u003dFalse."},{"line_number":21,"context_line":"    --force \u003cFalse|True\u003e Force to delete the volume. Default\u003dFalse."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f1d235d_3afb52c1","line":19,"range":{"start_line":19,"start_character":15,"end_line":19,"end_character":20},"updated":"2017-07-06 21:37:16.000000000","message":"This seems like the wrong ordering since just adding \"--cascade\" w/ no boolean argument will behave as True.","commit_id":"a821365c155e23c0e422cef4a9ff9f7bf87e0c0d"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"08fb2eb5e5c85b3bb5783f8e1aac876e8d4bc7e2","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    \u003cvolume\u003e Name or ID of volume or volumes to delete."},{"line_number":18,"context_line":"  Optional arguments:"},{"line_number":19,"context_line":"    --cascade \u003cFalse|True\u003e"},{"line_number":20,"context_line":"             Remove any snapshots along with volume. Default\u003dFalse."},{"line_number":21,"context_line":"    --force \u003cFalse|True\u003e Force to delete the volume. Default\u003dFalse."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add the force param and it will be passed through cinderclient to Cinder API,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f1d235d_1a71b676","line":20,"range":{"start_line":20,"start_character":52,"end_line":20,"end_character":67},"updated":"2017-07-06 21:37:16.000000000","message":"This was removed.","commit_id":"a821365c155e23c0e422cef4a9ff9f7bf87e0c0d"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"08fb2eb5e5c85b3bb5783f8e1aac876e8d4bc7e2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  Optional arguments:"},{"line_number":19,"context_line":"    --cascade \u003cFalse|True\u003e"},{"line_number":20,"context_line":"             Remove any snapshots along with volume. Default\u003dFalse."},{"line_number":21,"context_line":"    --force \u003cFalse|True\u003e Force to delete the volume. Default\u003dFalse."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Add the force param and it will be passed through cinderclient to Cinder API,"},{"line_number":24,"context_line":"if the version is v3.23, then the param force will take effect."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f1d235d_fa6b9a81","line":21,"range":{"start_line":21,"start_character":53,"end_line":21,"end_character":67},"updated":"2017-07-06 21:37:16.000000000","message":"This was removed.\n\nSame comment as above re: False|True","commit_id":"a821365c155e23c0e422cef4a9ff9f7bf87e0c0d"}],"cinderclient/tests/unit/v3/test_volumes.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"2ddbc19b59649231cf80a0e66320b8daf3a24fcd","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self._assert_request_id(vol)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def test_delete_volume(self):"},{"line_number":74,"context_line":"        v \u003d cs.volumes.list()[0]"},{"line_number":75,"context_line":"        del_v \u003d v.delete()"},{"line_number":76,"context_line":"        cs.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234\u0027)"},{"line_number":77,"context_line":"        self._assert_request_id(del_v)"},{"line_number":78,"context_line":"        del_v \u003d cs.volumes.delete(\u00271234\u0027)"},{"line_number":79,"context_line":"        cs.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234\u0027)"},{"line_number":80,"context_line":"        self._assert_request_id(del_v)"},{"line_number":81,"context_line":"        del_v \u003d cs.volumes.delete(v)"},{"line_number":82,"context_line":"        cs.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234\u0027)"},{"line_number":83,"context_line":"        self._assert_request_id(del_v)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def test_volume_list_manageable(self):"},{"line_number":86,"context_line":"        cs \u003d fakes.FakeClient(api_versions.APIVersion(\u00273.8\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f0485d5c","line":83,"range":{"start_line":74,"start_character":6,"end_line":83,"end_character":38},"updated":"2017-06-28 10:00:57.000000000","message":"Don\u0027t you need to test your new agrument?","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"}],"cinderclient/v3/shell.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"72907367765bb3d4c8288eb3b508654422d55999","unresolved":false,"context_lines":[{"line_number":571,"context_line":"           default\u003dFalse,"},{"line_number":572,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":573,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":574,"context_line":"           metavar\u003d\u0027\u003cFalse|True\u003e\u0027,"},{"line_number":575,"context_line":"           type\u003dbool,"},{"line_number":576,"context_line":"           default\u003dFalse,"},{"line_number":577,"context_line":"           help\u003d\u0027Force to delete the volume. Default\u003dFalse.\u0027)"},{"line_number":578,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":579,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_65a9248e","line":576,"range":{"start_line":574,"start_character":0,"end_line":576,"end_character":25},"updated":"2017-06-28 14:23:20.000000000","message":"Just use action\u003dstore_true instead.","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"72907367765bb3d4c8288eb3b508654422d55999","unresolved":false,"context_lines":[{"line_number":574,"context_line":"           metavar\u003d\u0027\u003cFalse|True\u003e\u0027,"},{"line_number":575,"context_line":"           type\u003dbool,"},{"line_number":576,"context_line":"           default\u003dFalse,"},{"line_number":577,"context_line":"           help\u003d\u0027Force to delete the volume. Default\u003dFalse.\u0027)"},{"line_number":578,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":579,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"},{"line_number":580,"context_line":"           nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_c597d844","line":577,"range":{"start_line":577,"start_character":16,"end_line":577,"end_character":60},"updated":"2017-06-28 14:23:20.000000000","message":"Help should just say \"Volume force delete.\"  No need for Default\u003d.","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"2ddbc19b59649231cf80a0e66320b8daf3a24fcd","unresolved":false,"context_lines":[{"line_number":570,"context_line":"           type\u003dbool,"},{"line_number":571,"context_line":"           default\u003dFalse,"},{"line_number":572,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":573,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":574,"context_line":"           metavar\u003d\u0027\u003cFalse|True\u003e\u0027,"},{"line_number":575,"context_line":"           type\u003dbool,"},{"line_number":576,"context_line":"           default\u003dFalse,"},{"line_number":577,"context_line":"           help\u003d\u0027Force to delete the volume. Default\u003dFalse.\u0027)"},{"line_number":578,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":579,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"},{"line_number":580,"context_line":"           nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_f033bdf4","line":577,"range":{"start_line":573,"start_character":0,"end_line":577,"end_character":61},"updated":"2017-06-28 10:00:57.000000000","message":"need to add \u0027start_version\u0027 for this new option","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"31b4287f7866f84984802bf004c500edadf15478","unresolved":false,"context_lines":[{"line_number":567,"context_line":""},{"line_number":568,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":569,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":570,"context_line":"           default\u003dFalse,"},{"line_number":571,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":572,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":573,"context_line":"           action\u003d\u0027store_true\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_58bf01fb","line":570,"range":{"start_line":570,"start_character":11,"end_line":570,"end_character":25},"updated":"2017-06-29 22:12:20.000000000","message":"No need for default\u003d when using store_true.","commit_id":"8b0217dea7b291307bc254e5eef7462cab1ca75f"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"31b4287f7866f84984802bf004c500edadf15478","unresolved":false,"context_lines":[{"line_number":568,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":569,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":570,"context_line":"           default\u003dFalse,"},{"line_number":571,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":572,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":573,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":574,"context_line":"           default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_b845f519","line":571,"range":{"start_line":571,"start_character":56,"end_line":571,"end_character":71},"updated":"2017-06-29 22:12:20.000000000","message":"You can omit the \"Default\u003dFalse\" text.","commit_id":"8b0217dea7b291307bc254e5eef7462cab1ca75f"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"31b4287f7866f84984802bf004c500edadf15478","unresolved":false,"context_lines":[{"line_number":571,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":572,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":573,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":574,"context_line":"           default\u003dFalse,"},{"line_number":575,"context_line":"           start_version\u003d\u00273.23\u0027,"},{"line_number":576,"context_line":"           help\u003d\u0027Volume force delete.\u0027)"},{"line_number":577,"context_line":"@utils.arg(\u0027volume\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f1d235d_f83b6d99","line":574,"range":{"start_line":574,"start_character":11,"end_line":574,"end_character":24},"updated":"2017-06-29 22:12:20.000000000","message":"No need for default\u003d when using store_true.","commit_id":"8b0217dea7b291307bc254e5eef7462cab1ca75f"},{"author":{"_account_id":20382,"name":"YuYang","email":"yuyangwang1985@gmail.com","username":"YuYangWang"},"change_message_id":"08fb32cc0aab7d117d93abd4d57f3f78e0ab32be","unresolved":false,"context_lines":[{"line_number":575,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":576,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"},{"line_number":577,"context_line":"           nargs\u003d\u0027+\u0027,"},{"line_number":578,"context_line":"           help\u003d\u0027Name or ID of volume or volumes to delete.\u0027)"},{"line_number":579,"context_line":"def do_delete(cs, args):"},{"line_number":580,"context_line":"    \"\"\"Removes one or more volumes.\"\"\""},{"line_number":581,"context_line":"    failure_count \u003d 0"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_607badf4","line":578,"range":{"start_line":578,"start_character":38,"end_line":578,"end_character":48},"updated":"2017-07-05 06:16:43.000000000","message":"does this is repetition?","commit_id":"398884113cff6064559a7b4e5515d9e54b2338be"},{"author":{"_account_id":20382,"name":"YuYang","email":"yuyangwang1985@gmail.com","username":"YuYangWang"},"change_message_id":"08fb32cc0aab7d117d93abd4d57f3f78e0ab32be","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        except Exception as e:"},{"line_number":587,"context_line":"            failure_count +\u003d 1"},{"line_number":588,"context_line":"            print(\"Delete for volume %s failed: %s\" % (volume, e))"},{"line_number":589,"context_line":"    if failure_count \u003d\u003d len(args.volume):"},{"line_number":590,"context_line":"        raise exceptions.CommandError(\"Unable to delete any of the specified \""},{"line_number":591,"context_line":"                                      \"volumes.\")"},{"line_number":592,"context_line":""},{"line_number":593,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":594,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f1d235d_e0dc5de5","line":591,"range":{"start_line":589,"start_character":0,"end_line":591,"end_character":49},"updated":"2017-07-05 06:16:43.000000000","message":"why add this error Msg?","commit_id":"398884113cff6064559a7b4e5515d9e54b2338be"}],"cinderclient/v3/volumes.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"72907367765bb3d4c8288eb3b508654422d55999","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        return self._create(\u0027/volumes\u0027, body, \u0027volume\u0027)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def delete(self, volume, cascade\u003dFalse, force\u003dFalse):"},{"line_number":113,"context_line":"        \"\"\"Allow force delete a volume in version 3.23."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        :param volume: The :class:`Volume` to delete."},{"line_number":116,"context_line":"        :param cascade: Also delete dependent snapshots."}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_65336463","line":113,"range":{"start_line":113,"start_character":11,"end_line":113,"end_character":55},"updated":"2017-06-28 14:23:20.000000000","message":"This is not an appropriate summary for this method.","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"2ddbc19b59649231cf80a0e66320b8daf3a24fcd","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        loc \u003d \"/volumes/%s\" % base.getid(volume)"},{"line_number":120,"context_line":"        loc_params \u003d \"\""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        if cascade:"},{"line_number":123,"context_line":"            loc_params \u003d \u0027?cascade\u003dTrue\u0027"},{"line_number":124,"context_line":"        if force:"},{"line_number":125,"context_line":"            loc_params \u003d \u0027?force\u003dTrue\u0027"},{"line_number":126,"context_line":"        if cascade and force:"},{"line_number":127,"context_line":"            loc_params \u003d \u0027?cascade\u003dTrue\u0026force\u003dTrue\u0027"},{"line_number":128,"context_line":"        loc +\u003d loc_params"},{"line_number":129,"context_line":"        return self._delete(loc)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f201791_dd521a35","line":127,"range":{"start_line":122,"start_character":6,"end_line":127,"end_character":51},"updated":"2017-06-28 10:00:57.000000000","message":"please use \u0027utils.build_query_param\u0027 here.","commit_id":"8aceb76dd42e083c18a2440ba047f46b16af0ab7"}]}
