)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"b2821e9aefeefdb2124bc252a51edc04b4757b34","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    --add-volumes \u003cuuid1,uuid2,...\u003e --remove-volumes \u003cuuid5,uuid6,...\u003e"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I76317dc006c1f80e2e6c83218e9566f1d37d935e"},{"line_number":19,"context_line":"Implements: blueprint consistency-groups-kilo-update"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"bab921fb_1b735f4f","line":19,"updated":"2015-04-22 17:49:27.000000000","message":"I don\u0027t see this BP in cinder or python-cinderclient.  What am I missing?\n\nI guess this is because the cinder side changes already merged.","commit_id":"c304aeba6aef8e16ce6d0ecf796f40671ac45a5d"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"7da074b751ec9de26e749b11558b8ca37f24f348","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    --add-volumes \u003cuuid1,uuid2,...\u003e --remove-volumes \u003cuuid5,uuid6,...\u003e"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I76317dc006c1f80e2e6c83218e9566f1d37d935e"},{"line_number":19,"context_line":"Implements: blueprint consistency-groups-kilo-update"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"bab921fb_c1af387c","line":19,"in_reply_to":"bab921fb_1b735f4f","updated":"2015-04-22 18:44:35.000000000","message":"When you click on the link, it goes here but couldn\u0027t find anything. I think the link is wrong once the blueprint is completed because the server side change is merged. Maybe a gerrit bug?\n\nhttps://blueprints.launchpad.net/openstack/?searchtext\u003dconsistency-groups-kilo-update\n\nThe correct blueprint link is here:\n\nhttps://blueprints.launchpad.net/cinder/+spec/consistency-groups-kilo-update","commit_id":"c304aeba6aef8e16ce6d0ecf796f40671ac45a5d"}],"cinderclient/tests/v2/test_consistencygroups.py":[{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"42158cf67f5e83dc055f44f2dbfe04193f30b827","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        cs.consistencygroups.update(v, name\u003d\u0027cg2\u0027)"},{"line_number":57,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/consistencygroups/1234\u0027, body\u003dexpected)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        expected \u003d {\u0027consistencygroup\u0027: {\u0027description\u0027: \u0027cg2 desc\u0027}}"},{"line_number":60,"context_line":"        v.update(description\u003d\u0027cg2 desc\u0027)"},{"line_number":61,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/consistencygroups/1234\u0027, body\u003dexpected)"},{"line_number":62,"context_line":"        cs.consistencygroups.update(\u00271234\u0027, description\u003d\u0027cg2 desc\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_3fbac86e","line":59,"updated":"2015-02-16 15:34:44.000000000","message":"Please break this into 4 different test functions.","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab165a664ea4a63698856ca67cd06c8833acbc5","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        cs.consistencygroups.update(v, name\u003d\u0027cg2\u0027)"},{"line_number":57,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/consistencygroups/1234\u0027, body\u003dexpected)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        expected \u003d {\u0027consistencygroup\u0027: {\u0027description\u0027: \u0027cg2 desc\u0027}}"},{"line_number":60,"context_line":"        v.update(description\u003d\u0027cg2 desc\u0027)"},{"line_number":61,"context_line":"        cs.assert_called(\u0027PUT\u0027, \u0027/consistencygroups/1234\u0027, body\u003dexpected)"},{"line_number":62,"context_line":"        cs.consistencygroups.update(\u00271234\u0027, description\u003d\u0027cg2 desc\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_7f84290b","line":59,"in_reply_to":"da86d52c_3fbac86e","updated":"2015-02-16 16:00:17.000000000","message":"Will do.","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"},{"author":{"_account_id":6825,"name":"Gary W. Smith","email":"garysmith123@gmail.com","username":"gary-w-smith"},"change_message_id":"889889057142f479c4302625e064e4c1c39b6708","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                                         \u0027project_id\u0027: None}}"},{"line_number":47,"context_line":"        cs.assert_called(\u0027POST\u0027, \u0027/consistencygroups\u0027, body\u003dexpected)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def test_update_consistencygroupi_name(self):"},{"line_number":50,"context_line":"        v \u003d cs.consistencygroups.list()[0]"},{"line_number":51,"context_line":"        expected \u003d {\u0027consistencygroup\u0027: {\u0027name\u0027: \u0027cg2\u0027}}"},{"line_number":52,"context_line":"        v.update(name\u003d\u0027cg2\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_44cbf852","line":49,"updated":"2015-02-24 04:23:49.000000000","message":"minor nit: this extra \u0027i\u0027 looks like a vi artifact :-).  Consider removing it if you have to make another patch set","commit_id":"8db42933d29bfe89d7d875f3c42e0b8ea20d142f"}],"cinderclient/tests/v2/test_shell.py":[{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"42158cf67f5e83dc055f44f2dbfe04193f30b827","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/consistencygroups/1234\u0027,"},{"line_number":656,"context_line":"                           body\u003dexpected)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":659,"context_line":"                          self.run_command,"},{"line_number":660,"context_line":"                          \u0027consisgroup-update 1234\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_df61ac12","line":658,"updated":"2015-02-16 15:34:44.000000000","message":"Please break this error case into a separate test function.","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab165a664ea4a63698856ca67cd06c8833acbc5","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        self.assert_called(\u0027PUT\u0027, \u0027/consistencygroups/1234\u0027,"},{"line_number":656,"context_line":"                           body\u003dexpected)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"        self.assertRaises(exceptions.BadRequest,"},{"line_number":659,"context_line":"                          self.run_command,"},{"line_number":660,"context_line":"                          \u0027consisgroup-update 1234\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_9fcf1d57","line":658,"in_reply_to":"da86d52c_df61ac12","updated":"2015-02-16 16:00:17.000000000","message":"Will do.","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"}],"cinderclient/v2/shell.py":[{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"f3467aeb46c93e84ce13bf620934951365e5a6f6","unresolved":false,"context_lines":[{"line_number":1871,"context_line":"           help\u003d\u0027New name for consistency group. Default\u003dNone.\u0027)"},{"line_number":1872,"context_line":"@utils.arg(\u0027--description\u0027, metavar\u003d\u0027\u003cdescription\u003e\u0027,"},{"line_number":1873,"context_line":"           help\u003d\u0027New description for consistency group. Default\u003dNone.\u0027,"},{"line_number":1874,"context_line":"           default\u003dNone)"},{"line_number":1875,"context_line":"@utils.arg(\u0027--add-volumes\u0027,"},{"line_number":1876,"context_line":"           metavar\u003d\u0027\u003cadd-volumes\u003e\u0027,"},{"line_number":1877,"context_line":"           help\u003d\u0027UUID of one or more volumes \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_e3afe829","line":1874,"updated":"2015-01-21 10:42:06.000000000","message":"You\u0027ve relied on the default default being None for the other arg definitions, so it looks strange for it to be explicitly set just here.","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b9e1922980fadf331f34472d9ee81e6e4110ca32","unresolved":false,"context_lines":[{"line_number":1871,"context_line":"           help\u003d\u0027New name for consistency group. Default\u003dNone.\u0027)"},{"line_number":1872,"context_line":"@utils.arg(\u0027--description\u0027, metavar\u003d\u0027\u003cdescription\u003e\u0027,"},{"line_number":1873,"context_line":"           help\u003d\u0027New description for consistency group. Default\u003dNone.\u0027,"},{"line_number":1874,"context_line":"           default\u003dNone)"},{"line_number":1875,"context_line":"@utils.arg(\u0027--add-volumes\u0027,"},{"line_number":1876,"context_line":"           metavar\u003d\u0027\u003cadd-volumes\u003e\u0027,"},{"line_number":1877,"context_line":"           help\u003d\u0027UUID of one or more volumes \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_6723dcbe","line":1874,"in_reply_to":"1a930d6b_e3afe829","updated":"2015-02-15 20:33:20.000000000","message":"Removed \"default\u003dNone\" to be consistent.","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"f3467aeb46c93e84ce13bf620934951365e5a6f6","unresolved":false,"context_lines":[{"line_number":1873,"context_line":"           help\u003d\u0027New description for consistency group. Default\u003dNone.\u0027,"},{"line_number":1874,"context_line":"           default\u003dNone)"},{"line_number":1875,"context_line":"@utils.arg(\u0027--add-volumes\u0027,"},{"line_number":1876,"context_line":"           metavar\u003d\u0027\u003cadd-volumes\u003e\u0027,"},{"line_number":1877,"context_line":"           help\u003d\u0027UUID of one or more volumes \u0027"},{"line_number":1878,"context_line":"                \u0027to be added to the consistency group, \u0027"},{"line_number":1879,"context_line":"                \u0027separated by commas. Default\u003dNone.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_066fa293","line":1876,"updated":"2015-01-21 10:42:06.000000000","message":"I don\u0027t think this metavar properly represents the fact that a comma separated list is provided.\n\nMaybe something like the following would be more accurate?\nUUID1[,UUID2]\n\nI\u0027ve just noticed the commit message does not match what this code would output as a help message, the commit message is clearer - it\u0027s more like what I have suggested above.","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b9e1922980fadf331f34472d9ee81e6e4110ca32","unresolved":false,"context_lines":[{"line_number":1873,"context_line":"           help\u003d\u0027New description for consistency group. Default\u003dNone.\u0027,"},{"line_number":1874,"context_line":"           default\u003dNone)"},{"line_number":1875,"context_line":"@utils.arg(\u0027--add-volumes\u0027,"},{"line_number":1876,"context_line":"           metavar\u003d\u0027\u003cadd-volumes\u003e\u0027,"},{"line_number":1877,"context_line":"           help\u003d\u0027UUID of one or more volumes \u0027"},{"line_number":1878,"context_line":"                \u0027to be added to the consistency group, \u0027"},{"line_number":1879,"context_line":"                \u0027separated by commas. Default\u003dNone.\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_8dd8ef80","line":1876,"in_reply_to":"1a930d6b_066fa293","updated":"2015-02-15 20:33:20.000000000","message":"Done","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"f3467aeb46c93e84ce13bf620934951365e5a6f6","unresolved":false,"context_lines":[{"line_number":1899,"context_line":"    if args.remove_volumes is not None:"},{"line_number":1900,"context_line":"        kwargs[\u0027remove_volumes\u0027] \u003d args.remove_volumes"},{"line_number":1901,"context_line":""},{"line_number":1902,"context_line":"    if not any(kwargs):"},{"line_number":1903,"context_line":"        msg \u003d (\u0027Must supply either name, description, add-volumes, \u0027"},{"line_number":1904,"context_line":"               \u0027or remove-volumes.\u0027)"},{"line_number":1905,"context_line":"        raise exceptions.ClientException(code\u003d1, message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_23773004","line":1902,"updated":"2015-01-21 10:42:06.000000000","message":"You don\u0027t need any here, so the line could be rewritten as:\n\nif not kwargs:","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b9e1922980fadf331f34472d9ee81e6e4110ca32","unresolved":false,"context_lines":[{"line_number":1899,"context_line":"    if args.remove_volumes is not None:"},{"line_number":1900,"context_line":"        kwargs[\u0027remove_volumes\u0027] \u003d args.remove_volumes"},{"line_number":1901,"context_line":""},{"line_number":1902,"context_line":"    if not any(kwargs):"},{"line_number":1903,"context_line":"        msg \u003d (\u0027Must supply either name, description, add-volumes, \u0027"},{"line_number":1904,"context_line":"               \u0027or remove-volumes.\u0027)"},{"line_number":1905,"context_line":"        raise exceptions.ClientException(code\u003d1, message\u003dmsg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_8707f01c","line":1902,"in_reply_to":"1a930d6b_23773004","updated":"2015-02-15 20:33:20.000000000","message":"Done","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"f3467aeb46c93e84ce13bf620934951365e5a6f6","unresolved":false,"context_lines":[{"line_number":1900,"context_line":"        kwargs[\u0027remove_volumes\u0027] \u003d args.remove_volumes"},{"line_number":1901,"context_line":""},{"line_number":1902,"context_line":"    if not any(kwargs):"},{"line_number":1903,"context_line":"        msg \u003d (\u0027Must supply either name, description, add-volumes, \u0027"},{"line_number":1904,"context_line":"               \u0027or remove-volumes.\u0027)"},{"line_number":1905,"context_line":"        raise exceptions.ClientException(code\u003d1, message\u003dmsg)"},{"line_number":1906,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_e6945646","line":1903,"updated":"2015-01-21 10:42:06.000000000","message":"Using either suggests only one can be supplied. How about:\n\n\u0027At least one of the following args is must be supplied: name, description, add-volumes, remove-volumes.\u0027","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b9e1922980fadf331f34472d9ee81e6e4110ca32","unresolved":false,"context_lines":[{"line_number":1900,"context_line":"        kwargs[\u0027remove_volumes\u0027] \u003d args.remove_volumes"},{"line_number":1901,"context_line":""},{"line_number":1902,"context_line":"    if not any(kwargs):"},{"line_number":1903,"context_line":"        msg \u003d (\u0027Must supply either name, description, add-volumes, \u0027"},{"line_number":1904,"context_line":"               \u0027or remove-volumes.\u0027)"},{"line_number":1905,"context_line":"        raise exceptions.ClientException(code\u003d1, message\u003dmsg)"},{"line_number":1906,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_420de636","line":1903,"in_reply_to":"1a930d6b_e6945646","updated":"2015-02-15 20:33:20.000000000","message":"Done","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":7219,"name":"git-harry","email":"git-harry@live.co.uk","username":"git-harry"},"change_message_id":"f3467aeb46c93e84ce13bf620934951365e5a6f6","unresolved":false,"context_lines":[{"line_number":1902,"context_line":"    if not any(kwargs):"},{"line_number":1903,"context_line":"        msg \u003d (\u0027Must supply either name, description, add-volumes, \u0027"},{"line_number":1904,"context_line":"               \u0027or remove-volumes.\u0027)"},{"line_number":1905,"context_line":"        raise exceptions.ClientException(code\u003d1, message\u003dmsg)"},{"line_number":1906,"context_line":""},{"line_number":1907,"context_line":"    _find_consistencygroup(cs, args.consistencygroup).update(**kwargs)"},{"line_number":1908,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_d140f237","line":1905,"updated":"2015-01-21 10:42:06.000000000","message":"It looks like ClientException will give a str in the form of an http error. That doesn\u0027t seem to make sense in this context - unless an http status code of 1 has some significance I\u0027m unaware of.\n\nIs there a more suitable exception that could be used? Alternatively maybe ClientException could be modified so that a code of None gave a str without the http bit.","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"b9e1922980fadf331f34472d9ee81e6e4110ca32","unresolved":false,"context_lines":[{"line_number":1902,"context_line":"    if not any(kwargs):"},{"line_number":1903,"context_line":"        msg \u003d (\u0027Must supply either name, description, add-volumes, \u0027"},{"line_number":1904,"context_line":"               \u0027or remove-volumes.\u0027)"},{"line_number":1905,"context_line":"        raise exceptions.ClientException(code\u003d1, message\u003dmsg)"},{"line_number":1906,"context_line":""},{"line_number":1907,"context_line":"    _find_consistencygroup(cs, args.consistencygroup).update(**kwargs)"},{"line_number":1908,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da86d52c_82635edc","line":1905,"in_reply_to":"1a930d6b_d140f237","updated":"2015-02-15 20:33:20.000000000","message":"Changed to BadRequest which is more appropriate.","commit_id":"0fb07b27fae3ee1ec9e6fd7baa774d3a5ffb9eec"},{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"42158cf67f5e83dc055f44f2dbfe04193f30b827","unresolved":false,"context_lines":[{"line_number":1935,"context_line":"@utils.arg(\u0027--description\u0027, metavar\u003d\u0027\u003cdescription\u003e\u0027,"},{"line_number":1936,"context_line":"           help\u003d\u0027New description for consistency group. Default\u003dNone.\u0027)"},{"line_number":1937,"context_line":"@utils.arg(\u0027--add-volumes\u0027,"},{"line_number":1938,"context_line":"           metavar\u003d\u0027uuid1[,uuid2,......]\u0027,"},{"line_number":1939,"context_line":"           help\u003d\u0027UUID of one or more volumes \u0027"},{"line_number":1940,"context_line":"                \u0027to be added to the consistency group, \u0027"},{"line_number":1941,"context_line":"                \u0027separated by commas. Default\u003dNone.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_9f2e3e41","line":1938,"updated":"2015-02-16 15:34:44.000000000","message":"Shouldn\u0027t the metavar still be between \u003c\u003e characters?  Like \u003cuuid1[,uuid2,...]\u003e","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab165a664ea4a63698856ca67cd06c8833acbc5","unresolved":false,"context_lines":[{"line_number":1935,"context_line":"@utils.arg(\u0027--description\u0027, metavar\u003d\u0027\u003cdescription\u003e\u0027,"},{"line_number":1936,"context_line":"           help\u003d\u0027New description for consistency group. Default\u003dNone.\u0027)"},{"line_number":1937,"context_line":"@utils.arg(\u0027--add-volumes\u0027,"},{"line_number":1938,"context_line":"           metavar\u003d\u0027uuid1[,uuid2,......]\u0027,"},{"line_number":1939,"context_line":"           help\u003d\u0027UUID of one or more volumes \u0027"},{"line_number":1940,"context_line":"                \u0027to be added to the consistency group, \u0027"},{"line_number":1941,"context_line":"                \u0027separated by commas. Default\u003dNone.\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_7ff509ec","line":1938,"in_reply_to":"da86d52c_9f2e3e41","updated":"2015-02-16 16:00:17.000000000","message":"That doesn\u0027t work. It gave me an Error if I use \u003cuuid1[,uuid2,...]\u003e.  Either \u0027uuid[,uuid2,...]\u0027 or \u0027\u003cuuid1,uuid2,...\u003e\u0027 works. I chose the first because it shows the 2nd uuid is optional, but I can change it to use \u003cuuid1,uuid2,...\u003e so that it is consistent with the others.","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"},{"author":{"_account_id":10559,"name":"Steven Kaufer","email":"kaufer@us.ibm.com","username":"kaufer"},"change_message_id":"42158cf67f5e83dc055f44f2dbfe04193f30b827","unresolved":false,"context_lines":[{"line_number":1963,"context_line":""},{"line_number":1964,"context_line":"    if not kwargs:"},{"line_number":1965,"context_line":"        msg \u003d (\u0027At least one of the following args must be supplied: \u0027"},{"line_number":1966,"context_line":"               \u0027name, description, add-volumes, and remove-volumes.\u0027)"},{"line_number":1967,"context_line":"        raise exceptions.BadRequest(code\u003d400, message\u003dmsg)"},{"line_number":1968,"context_line":""},{"line_number":1969,"context_line":"    _find_consistencygroup(cs, args.consistencygroup).update(**kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ffbf505e","line":1966,"updated":"2015-02-16 15:34:44.000000000","message":"Please remove \u0027and\u0027 here","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"0ab165a664ea4a63698856ca67cd06c8833acbc5","unresolved":false,"context_lines":[{"line_number":1963,"context_line":""},{"line_number":1964,"context_line":"    if not kwargs:"},{"line_number":1965,"context_line":"        msg \u003d (\u0027At least one of the following args must be supplied: \u0027"},{"line_number":1966,"context_line":"               \u0027name, description, add-volumes, and remove-volumes.\u0027)"},{"line_number":1967,"context_line":"        raise exceptions.BadRequest(code\u003d400, message\u003dmsg)"},{"line_number":1968,"context_line":""},{"line_number":1969,"context_line":"    _find_consistencygroup(cs, args.consistencygroup).update(**kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_ffc1f94e","line":1966,"in_reply_to":"da86d52c_ffbf505e","updated":"2015-02-16 16:00:17.000000000","message":"Sure, I can remove it.","commit_id":"f12f9c45c4317f7ef2025dbc9497a5efa3276ca8"}]}
