)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9b699b9baa2f3848f5c5b1b971fd9e86de3bd48c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghao \u003cwanghao749@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-25 07:29:33 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve deleting volumes with snapshots in CLI"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We have implemented cascade deleting volume now,"},{"line_number":10,"context_line":"but there\u0027s still something that should be improved:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab6814e_01ea43ac","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":46},"updated":"2016-05-25 08:46:27.000000000","message":"nit: This is not a good description, it doesn\u0027t give us any idea that we are fixing a parsing problem of cascade.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"968c398d7b312939d6c09087a8640841e00e0520","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wanghao \u003cwanghao749@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-25 07:29:33 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Improve deleting volumes with snapshots in CLI"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We have implemented cascade deleting volume now,"},{"line_number":10,"context_line":"but there\u0027s still something that should be improved:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab6814e_7bbd8867","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":46},"in_reply_to":"bab6814e_01ea43ac","updated":"2016-05-26 03:22:32.000000000","message":"okay, thanks","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9b699b9baa2f3848f5c5b1b971fd9e86de3bd48c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"1.--cascade is boolean value, now we use metavar is \u003ccascade\u003e,"},{"line_number":13,"context_line":"it\u0027s not consistent with other boolean argument in cinderclient."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"2. There\u0027s a bug, see https://bugs.launchpad.net/cinder/+bug/1585441."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I92e9400d5d7fbb741607bdbde7ac0c0667fca85d"},{"line_number":18,"context_line":"Closes-Bug: #1585441"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab6814e_419e0b55","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":69},"updated":"2016-05-25 08:46:27.000000000","message":"nit: This information is already at L18, no need to put it here.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"968c398d7b312939d6c09087a8640841e00e0520","unresolved":false,"context_lines":[{"line_number":12,"context_line":"1.--cascade is boolean value, now we use metavar is \u003ccascade\u003e,"},{"line_number":13,"context_line":"it\u0027s not consistent with other boolean argument in cinderclient."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"2. There\u0027s a bug, see https://bugs.launchpad.net/cinder/+bug/1585441."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I92e9400d5d7fbb741607bdbde7ac0c0667fca85d"},{"line_number":18,"context_line":"Closes-Bug: #1585441"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab6814e_fb8a18be","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":69},"in_reply_to":"bab6814e_419e0b55","updated":"2016-05-26 03:22:32.000000000","message":"Done","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"3a8f83bb03afdf5a29dfc274fd778c88736c50cd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"We have implemented cascade deleting volume now,"},{"line_number":10,"context_line":"but there\u0027s still something that should be improved:"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1.There is a parsing problem of cascade when specify"},{"line_number":13,"context_line":"\"--cascade false\"."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"2.--cascade is Boolean value, now we use metavar is"},{"line_number":16,"context_line":"\u003ccascade\u003e, it\u0027s not consistent with other Boolean"},{"line_number":17,"context_line":"argument in cinderclient."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I92e9400d5d7fbb741607bdbde7ac0c0667fca85d"},{"line_number":20,"context_line":"Closes-Bug: #1585441"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9abb7d3a_c4b9bcee","line":17,"range":{"start_line":12,"start_character":0,"end_line":17,"end_character":25},"updated":"2016-05-27 08:58:54.000000000","message":"nit: I don\u0027t think this actually reflects the change from incorrectly accepting a parameter that would always evaluate to True and not accepting it anymore and just working as a flag.","commit_id":"98e3f37f53c50b32ff385a3cff03eccb6f50e262"}],"cinderclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":16308,"name":"Sheel Rana","email":"ranasheel2000@gmail.com","username":"sheel.rana"},"change_message_id":"6aa2253d6087d58151cf1481e06b4cb8468a972e","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    def test_delete_with_cascade_true(self):"},{"line_number":407,"context_line":"        self.run_command(\u0027delete 1234 --cascade true\u0027)"},{"line_number":408,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234?cascade\u003dTrue\u0027)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def test_backup(self):"},{"line_number":411,"context_line":"        self.run_command(\u0027backup-create 1234\u0027)"},{"line_number":412,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/backups\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_6fbe9b00","line":409,"updated":"2016-05-25 08:20:14.000000000","message":"I would suggest to add test for invalid value as well.. other than true/false..","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"23647dc5b99b036ff4973af88945910b57fe5545","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    def test_delete_with_cascade_true(self):"},{"line_number":407,"context_line":"        self.run_command(\u0027delete 1234 --cascade true\u0027)"},{"line_number":408,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234?cascade\u003dTrue\u0027)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def test_backup(self):"},{"line_number":411,"context_line":"        self.run_command(\u0027backup-create 1234\u0027)"},{"line_number":412,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/backups\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_00d68bf0","line":409,"in_reply_to":"bab6814e_0138833c","updated":"2016-05-26 02:09:44.000000000","message":"Sure.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9b699b9baa2f3848f5c5b1b971fd9e86de3bd48c","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    def test_delete_with_cascade_true(self):"},{"line_number":407,"context_line":"        self.run_command(\u0027delete 1234 --cascade true\u0027)"},{"line_number":408,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234?cascade\u003dTrue\u0027)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def test_backup(self):"},{"line_number":411,"context_line":"        self.run_command(\u0027backup-create 1234\u0027)"},{"line_number":412,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/backups\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_0138833c","line":409,"in_reply_to":"bab6814e_61950f3f","updated":"2016-05-25 08:46:27.000000000","message":"You could also add a test to confirm that \"delete 1234 --cascade\" will make the request with cascade\u003dTrue.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"ea7e5a74edc13cb1fe5bacb62de8adb055fa01e2","unresolved":false,"context_lines":[{"line_number":406,"context_line":"    def test_delete_with_cascade_true(self):"},{"line_number":407,"context_line":"        self.run_command(\u0027delete 1234 --cascade true\u0027)"},{"line_number":408,"context_line":"        self.assert_called(\u0027DELETE\u0027, \u0027/volumes/1234?cascade\u003dTrue\u0027)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":"    def test_backup(self):"},{"line_number":411,"context_line":"        self.run_command(\u0027backup-create 1234\u0027)"},{"line_number":412,"context_line":"        self.assert_called(\u0027POST\u0027, \u0027/backups\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_61950f3f","line":409,"in_reply_to":"bab6814e_6fbe9b00","updated":"2016-05-25 08:38:54.000000000","message":"Sure, those two tests are for the bug to ensure when using \u0027false, client wouldn\u0027t send \"cascade\u003dTrue\".","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"}],"cinderclient/v3/shell.py":[{"author":{"_account_id":7173,"name":"Scott DAngelo","email":"scott.dangelo@gmail.com","username":"scottda"},"change_message_id":"37a2c4e7f99c624f5b0c5b27602a17c0ba6adb95","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":450,"context_line":"           metavar\u003d\u0027\u003cTrue|true|False|false\u003e\u0027,"},{"line_number":451,"context_line":"           default\u003dFalse,"},{"line_number":452,"context_line":"           const\u003dTrue,"},{"line_number":453,"context_line":"           nargs\u003d\u0027?\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_f98b5d66","line":450,"updated":"2016-05-25 14:47:37.000000000","message":"Can we just change this to:\naction \u003d \u0027store_true\u0027\n?\nWhat is the use in having to pass in  a Boolean value? I think the UX is better just to be able so say \"cinder --cascade delete\"","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"23647dc5b99b036ff4973af88945910b57fe5545","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":450,"context_line":"           metavar\u003d\u0027\u003cTrue|true|False|false\u003e\u0027,"},{"line_number":451,"context_line":"           default\u003dFalse,"},{"line_number":452,"context_line":"           const\u003dTrue,"},{"line_number":453,"context_line":"           nargs\u003d\u0027?\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_80b6fbf6","line":450,"in_reply_to":"bab6814e_91849db1","updated":"2016-05-26 02:09:44.000000000","message":"Thanks guys, I checked client code again, found another Boolean options that use action\u003d\u0027store_true\u0027, like \"--allow-multiattach\" in creating volume, amount of two way is almost half half..., so I would change to use \u0027store_true\u0027, but we might have a conclusion about Boolean options in client that we\u0027ll keep consistent to use \"action\u003d\u0027store_true\u0027\" in futuer.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"fd55e3a61e8fc39902fada14104f985f1153d699","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":450,"context_line":"           metavar\u003d\u0027\u003cTrue|true|False|false\u003e\u0027,"},{"line_number":451,"context_line":"           default\u003dFalse,"},{"line_number":452,"context_line":"           const\u003dTrue,"},{"line_number":453,"context_line":"           nargs\u003d\u0027?\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_f9a51d47","line":450,"in_reply_to":"bab6814e_f98b5d66","updated":"2016-05-25 14:55:36.000000000","message":"I agree, that was basically the original intent.\n\nThe ability to pass in False is not interesting for this.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"8e2e394d0199b29f98051ba456876e43cb9353fc","unresolved":false,"context_lines":[{"line_number":447,"context_line":""},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":450,"context_line":"           metavar\u003d\u0027\u003cTrue|true|False|false\u003e\u0027,"},{"line_number":451,"context_line":"           default\u003dFalse,"},{"line_number":452,"context_line":"           const\u003dTrue,"},{"line_number":453,"context_line":"           nargs\u003d\u0027?\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_91849db1","line":450,"in_reply_to":"bab6814e_f9a51d47","updated":"2016-05-25 17:50:28.000000000","message":"I was going to suggest that, but then I looked at other options in this file and realized doing it so would not be consistent with the other options.  :-(\n\nI can only think this would be useful for a bash script or something of the sorts that wants to always send a value without caring about it being true or false.\n\nIn general I would prefer not accepting boolean values, but since we cannot change all the other options I would go with consistency here.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"9b699b9baa2f3848f5c5b1b971fd9e86de3bd48c","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    failure_count \u003d 0"},{"line_number":463,"context_line":"    for volume in args.volume:"},{"line_number":464,"context_line":"        try:"},{"line_number":465,"context_line":"            cascade \u003d strutils.bool_from_string(args.cascade)"},{"line_number":466,"context_line":"            utils.find_volume(cs, volume).delete(cascade\u003dcascade)"},{"line_number":467,"context_line":"            print(\"Request to delete volume %s has been accepted.\" % (volume))"},{"line_number":468,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_814913ba","line":465,"range":{"start_line":465,"start_character":12,"end_line":465,"end_character":61},"updated":"2016-05-25 08:46:27.000000000","message":"-1: This should be done outside of the volume loop.","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"23647dc5b99b036ff4973af88945910b57fe5545","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    failure_count \u003d 0"},{"line_number":463,"context_line":"    for volume in args.volume:"},{"line_number":464,"context_line":"        try:"},{"line_number":465,"context_line":"            cascade \u003d strutils.bool_from_string(args.cascade)"},{"line_number":466,"context_line":"            utils.find_volume(cs, volume).delete(cascade\u003dcascade)"},{"line_number":467,"context_line":"            print(\"Request to delete volume %s has been accepted.\" % (volume))"},{"line_number":468,"context_line":"        except Exception as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bab6814e_60d15757","line":465,"range":{"start_line":465,"start_character":12,"end_line":465,"end_character":61},"in_reply_to":"bab6814e_814913ba","updated":"2016-05-26 02:09:44.000000000","message":"Done","commit_id":"727c6cbb1dc6966067d4681657ed3ac0a0c02135"},{"author":{"_account_id":11676,"name":"wuyuting","email":"wytdahu@gmail.com","username":"wuyuting"},"change_message_id":"c9dd7b48b8a3371defaaf50b39f08330c42fd448","unresolved":false,"context_lines":[{"line_number":448,"context_line":""},{"line_number":449,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":450,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":451,"context_line":"           default\u003dFalse,"},{"line_number":452,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":453,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":454,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027, nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_26c50a3c","line":451,"range":{"start_line":451,"start_character":24,"end_line":451,"end_character":25},"updated":"2016-06-06 09:20:05.000000000","message":"I think it\u0027s better to add dest\u003d\u0027cascade\u0027 here.","commit_id":"98e3f37f53c50b32ff385a3cff03eccb6f50e262"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"7d5f115a4708d00b0c53d5f258fd140d6b07e3d3","unresolved":false,"context_lines":[{"line_number":448,"context_line":""},{"line_number":449,"context_line":"@utils.arg(\u0027--cascade\u0027,"},{"line_number":450,"context_line":"           action\u003d\u0027store_true\u0027,"},{"line_number":451,"context_line":"           default\u003dFalse,"},{"line_number":452,"context_line":"           help\u003d\u0027Remove any snapshots along with volume. Default\u003dFalse.\u0027)"},{"line_number":453,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":454,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027, nargs\u003d\u0027+\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_e090f150","line":451,"range":{"start_line":451,"start_character":24,"end_line":451,"end_character":25},"in_reply_to":"7aa08908_26c50a3c","updated":"2016-06-16 07:09:40.000000000","message":"I\u0027m not sure why we need this, any reason?","commit_id":"98e3f37f53c50b32ff385a3cff03eccb6f50e262"}]}
