)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"030d29d10971d4fe6f1ef2f197c13ea5998a3151","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If running the same command several times, several volumes"},{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_f27229ad","line":14,"updated":"2015-07-12 01:18:29.000000000","message":"I failed to see how your change can help with the situation when same \u0027cinder backup-restore --volume NAME\u0027 command being run multiple times.  Can you explain?","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"942e1547e5296752dd980c4a33dacaf9db84f664","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If running the same command several times, several volumes"},{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_6ecc636a","line":14,"in_reply_to":"9a41bdd9_272d8ca7","updated":"2015-07-15 01:25:47.000000000","message":"This change works with the change https://review.openstack.org/#/c/199846/ to show  following output of command backup-restore: \nstack@devstack-single1:~$ cinder backup-restore 721e2c2c-6bbc-4006-b479-23b55877b86e\n+-------------+-----------------------------------------------------+\n|   Property  |                        Value                        |\n+-------------+-----------------------------------------------------+\n|  backup_id  |         721e2c2c-6bbc-4006-b479-23b55877b86e        |\n|  volume_id  |         717d59e9-4c1a-4334-8852-2973c50f743d        |\n| volume_name | restore_backup_721e2c2c-6bbc-4006-b479-23b55877b86e |\n+-------------+-----------------------------------------------------+\n\nThis changes is to add volume_name to keep same style as backup-create. \nWithout the change, the output of backup-restore will be:\n+-------------+-----------------------------------------------------+\n|   Property  |                        Value                        |\n+-------------+-----------------------------------------------------+\n|  backup_id  |         721e2c2c-6bbc-4006-b479-23b55877b86e        |\n|  volume_id  |         717d59e9-4c1a-4334-8852-2973c50f743d        |\n+-------------+-----------------------------------------------------+\n\nIf you all think volume_name is not needed, I will abandon the change.","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"6a1e5bed5ca4715bbafcf8e145f7f5e37408a987","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If running the same command several times, several volumes"},{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_272d8ca7","line":14,"in_reply_to":"9a41bdd9_938dc333","updated":"2015-07-13 09:40:48.000000000","message":"Current API displays backup_id and volume_id, how adding volume_name helps in the situation you described?","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"cd6acf49a99442777b154f0566a1ffdd42fa7330","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If running the same command several times, several volumes"},{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_938dc333","line":14,"in_reply_to":"9a41bdd9_f27229ad","updated":"2015-07-13 09:20:26.000000000","message":"I mean that to just running command \"cinder backup-restore\" several times, several volums with same name are created. \nThis update and change https://review.openstack.org/#/c/199846/ is to display volume_id, volume_name and backup_id in the output of this command.","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4fcc21e519a49fbea240a163e8a0157e781391e4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The related change in python-cinderclient is"},{"line_number":19,"context_line":"https://review.openstack.org/#/c/199846/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba3cc151_4ba82a20","line":16,"updated":"2015-07-09 15:15:44.000000000","message":"Do you man Accept here instead of Except?\n\nAlso I think some explanation of how this fixes the problem would be helpful.\n\nThanks!","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"942e1547e5296752dd980c4a33dacaf9db84f664","unresolved":false,"context_lines":[{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The related change in python-cinderclient is"},{"line_number":19,"context_line":"https://review.openstack.org/#/c/199846/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_4ec39f57","line":16,"in_reply_to":"9a41bdd9_47cf707f","updated":"2015-07-15 01:25:47.000000000","message":"Yes, exactly.","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"30dbd08075dc7eda7c4b1825ac4664afd03e4ee5","unresolved":false,"context_lines":[{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The related change in python-cinderclient is"},{"line_number":19,"context_line":"https://review.openstack.org/#/c/199846/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba3cc151_8ba06391","line":16,"in_reply_to":"ba3cc151_4ba82a20","updated":"2015-07-09 19:51:16.000000000","message":"Also, please, add APIImpact to the commit message","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":15935,"name":"Xiangfei Zhu","email":"xiangfeiz@vmware.com","username":"xiangfeiz"},"change_message_id":"df2c1ae8d4396559a7dad6b3fc6ee2f2de37287f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The related change in python-cinderclient is"},{"line_number":19,"context_line":"https://review.openstack.org/#/c/199846/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_47cf707f","line":16,"in_reply_to":"ba3cc151_4ba82a20","updated":"2015-07-13 09:31:21.000000000","message":"I think Lisa meant to say \"Besides\" here with \"Except\".","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"cd6acf49a99442777b154f0566a1ffdd42fa7330","unresolved":false,"context_lines":[{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The related change in python-cinderclient is"},{"line_number":19,"context_line":"https://review.openstack.org/#/c/199846/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_d3aa6b70","line":16,"in_reply_to":"ba3cc151_4ba82a20","updated":"2015-07-13 09:20:26.000000000","message":"Sorry I didn\u0027t describe it clear.\nBefore the change, the backup restore API returns volume_id and backup_id:\n{\u0027volume_id\u0027: \u003cvolume id\u003e, \n \u0027backup_id\u0027: \u003cbackup_id\u003e}\n this change is to add volume_name.\n{\u0027volume_id\u0027: \u003cvolume id\u003e, \n \u0027backup_id\u0027: \u003cbackup_id\u003e,\n \u0027volume_name\u0027: \u003cvolume name\u003e}\n\nThis is to keep same style as backup-create.","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"cd6acf49a99442777b154f0566a1ffdd42fa7330","unresolved":false,"context_lines":[{"line_number":13,"context_line":"with same name are created, it needs to check logs to find out"},{"line_number":14,"context_line":"which volume is latest."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Except volume id and backup id, better to show volume name."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The related change in python-cinderclient is"},{"line_number":19,"context_line":"https://review.openstack.org/#/c/199846/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_4ea47256","line":16,"in_reply_to":"ba3cc151_8ba06391","updated":"2015-07-13 09:20:26.000000000","message":"Done","commit_id":"f7f439642904f005ee985b922528878a0c89bf76"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b18ea98b29c1278baa66ea5e5c7d79e209081e8b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lisali \u003cxiaoyan.li@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-13 17:09:12 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Show backup and volume info in backup_restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no volume is specified in backup_restore command, a new"},{"line_number":10,"context_line":"volume is created with specified name."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_e45b3553","line":7,"updated":"2015-07-20 11:00:53.000000000","message":"Suggest:\n     Return volume name from backup_restore","commit_id":"f52ecce5450cfdda0cf7666adee7af9e608761d9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4d12221294124251f3b4a71e8de71ef6e7f62c64","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     lisali \u003cxiaoyan.li@intel.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-07-13 17:09:12 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Show backup and volume info in backup_restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no volume is specified in backup_restore command, a new"},{"line_number":10,"context_line":"volume is created with specified name."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_81cd0eb9","line":7,"in_reply_to":"3a50d1a3_e45b3553","updated":"2015-07-22 06:56:58.000000000","message":"Done","commit_id":"f52ecce5450cfdda0cf7666adee7af9e608761d9"},{"author":{"_account_id":9003,"name":"Tom Barron","email":"tpb@dyncloud.net","username":"tbarron"},"change_message_id":"b18ea98b29c1278baa66ea5e5c7d79e209081e8b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Show backup and volume info in backup_restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no volume is specified in backup_restore command, a new"},{"line_number":10,"context_line":"volume is created with specified name."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If running the same command several times, several volumes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_1f254aaa","line":9,"updated":"2015-07-20 11:00:53.000000000","message":"I understand that this proposed change is motivated by the\ndependent change, but I don\u0027t think that repeating that part\nof its commit message is useful.  So I suggest you remove\nthis paragraph and the next in *this* change set.","commit_id":"f52ecce5450cfdda0cf7666adee7af9e608761d9"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4d12221294124251f3b4a71e8de71ef6e7f62c64","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Show backup and volume info in backup_restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When no volume is specified in backup_restore command, a new"},{"line_number":10,"context_line":"volume is created with specified name."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If running the same command several times, several volumes"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a50d1a3_61c802a9","line":9,"in_reply_to":"3a50d1a3_1f254aaa","updated":"2015-07-22 06:56:58.000000000","message":"Done","commit_id":"f52ecce5450cfdda0cf7666adee7af9e608761d9"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"dd75dbb9a7896d296196b512cd3e3462809d4722","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Return volume name from backup_restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently volume id and backup id are returned, the change is"},{"line_number":10,"context_line":"to return volume_name also, which keep same style as cinder"},{"line_number":11,"context_line":"backup-create."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The related change in python-cinderclient is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a50d1a3_8d9b23c9","line":10,"updated":"2015-07-27 14:01:01.000000000","message":"Suggest: \"...also, which is consistent in style with cinder backup-create.\"","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"31e62ea052fa6b9e12c9859aeea3778adede819c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Return volume name from backup_restore"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently volume id and backup id are returned, the change is"},{"line_number":10,"context_line":"to return volume_name also, which keep same style as cinder"},{"line_number":11,"context_line":"backup-create."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The related change in python-cinderclient is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a4dcd0f_bdaae083","line":10,"in_reply_to":"3a50d1a3_8d9b23c9","updated":"2015-08-11 00:54:53.000000000","message":"Done","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"}],"cinder/tests/unit/api/contrib/test_backups.py":[{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"72dc8f0580b5b2dec77d7ddc72e76e3cbc208e7a","unresolved":false,"context_lines":[{"line_number":868,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":869,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":870,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":871,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"    def test_restore_backup_volume_id_specified_xml(self):"},{"line_number":874,"context_line":"        volume_name \u003d \u0027test1\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_a03784e1","line":871,"updated":"2015-07-29 17:47:44.000000000","message":"Should be assertEqual(expected, result)","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"282a7a32c154555d19ac008a2a045eb80462bf81","unresolved":false,"context_lines":[{"line_number":868,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":869,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":870,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":871,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"    def test_restore_backup_volume_id_specified_xml(self):"},{"line_number":874,"context_line":"        volume_name \u003d \u0027test1\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_efa8d422","line":871,"in_reply_to":"3a50d1a3_a03784e1","updated":"2015-07-31 01:24:22.000000000","message":"As there are a lot of former codes to change, and it will be done in another patch.","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"31e62ea052fa6b9e12c9859aeea3778adede819c","unresolved":false,"context_lines":[{"line_number":868,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":869,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":870,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":871,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"    def test_restore_backup_volume_id_specified_xml(self):"},{"line_number":874,"context_line":"        volume_name \u003d \u0027test1\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_3d0330ba","line":871,"in_reply_to":"3a50d1a3_a03784e1","updated":"2015-08-11 00:54:53.000000000","message":"Done","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"72dc8f0580b5b2dec77d7ddc72e76e3cbc208e7a","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027backup_id\u0027),"},{"line_number":891,"context_line":"                         backup_id)"},{"line_number":892,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027volume_id\u0027), volume_id)"},{"line_number":893,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027volume_name\u0027),"},{"line_number":894,"context_line":"                         volume_name)"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        db.backup_destroy(context.get_admin_context(), backup_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_4049e05e","line":893,"updated":"2015-07-29 17:47:44.000000000","message":"Ditto","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"31e62ea052fa6b9e12c9859aeea3778adede819c","unresolved":false,"context_lines":[{"line_number":890,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027backup_id\u0027),"},{"line_number":891,"context_line":"                         backup_id)"},{"line_number":892,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027volume_id\u0027), volume_id)"},{"line_number":893,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027volume_name\u0027),"},{"line_number":894,"context_line":"                         volume_name)"},{"line_number":895,"context_line":""},{"line_number":896,"context_line":"        db.backup_destroy(context.get_admin_context(), backup_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_bd25005d","line":893,"in_reply_to":"3a50d1a3_4049e05e","updated":"2015-08-11 00:54:53.000000000","message":"Done","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"72dc8f0580b5b2dec77d7ddc72e76e3cbc208e7a","unresolved":false,"context_lines":[{"line_number":1174,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1175,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1176,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1177,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        db.volume_destroy(context.get_admin_context(), volume_id)"},{"line_number":1180,"context_line":"        db.backup_destroy(context.get_admin_context(), backup_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_007678a3","line":1177,"updated":"2015-07-29 17:47:44.000000000","message":"Ditto","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"31e62ea052fa6b9e12c9859aeea3778adede819c","unresolved":false,"context_lines":[{"line_number":1174,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1175,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1176,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1177,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        db.volume_destroy(context.get_admin_context(), volume_id)"},{"line_number":1180,"context_line":"        db.backup_destroy(context.get_admin_context(), backup_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_dd280c36","line":1177,"in_reply_to":"3a50d1a3_007678a3","updated":"2015-08-11 00:54:53.000000000","message":"Done","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":16973,"name":"Skyler Berg","email":"skylertheberg@gmail.com","username":"sberg"},"change_message_id":"72dc8f0580b5b2dec77d7ddc72e76e3cbc208e7a","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1201,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1202,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1203,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":1204,"context_line":"        mock_restore_backup.assert_called_once_with(mock.ANY, u\u0027HostB\u0027,"},{"line_number":1205,"context_line":"                                                    mock.ANY, volume_id)"},{"line_number":1206,"context_line":"        # Manually check if restore_backup was called with appropriate backup."}],"source_content_type":"text/x-python","patch_set":3,"id":"3a50d1a3_e06eecc6","line":1203,"updated":"2015-07-29 17:47:44.000000000","message":"Ditto","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"31e62ea052fa6b9e12c9859aeea3778adede819c","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1201,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1202,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1203,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_name\u0027], volume_name)"},{"line_number":1204,"context_line":"        mock_restore_backup.assert_called_once_with(mock.ANY, u\u0027HostB\u0027,"},{"line_number":1205,"context_line":"                                                    mock.ANY, volume_id)"},{"line_number":1206,"context_line":"        # Manually check if restore_backup was called with appropriate backup."}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_7d20d849","line":1203,"in_reply_to":"3a50d1a3_e06eecc6","updated":"2015-08-11 00:54:53.000000000","message":"Done","commit_id":"efd587f007114bd93c8e680a0891e53b66a26b18"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"a9857bacae0a50c8edb6a550927a259217ca70bf","unresolved":false,"context_lines":[{"line_number":867,"context_line":""},{"line_number":868,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":869,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":870,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":871,"context_line":"        self.assertEqual(volume_name, res_dict[\u0027restore\u0027][\u0027volume_name\u0027])"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"    def test_restore_backup_volume_id_specified_xml(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b1852408","line":870,"updated":"2015-08-11 06:37:54.000000000","message":"Three of the above lines need to be changed into style of (expected, actual) for assertEqual.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"93a8a3d214c872148060cbcab888085699c8546e","unresolved":false,"context_lines":[{"line_number":867,"context_line":""},{"line_number":868,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":869,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":870,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":871,"context_line":"        self.assertEqual(volume_name, res_dict[\u0027restore\u0027][\u0027volume_name\u0027])"},{"line_number":872,"context_line":""},{"line_number":873,"context_line":"    def test_restore_backup_volume_id_specified_xml(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_f6463d4e","line":870,"in_reply_to":"1a4dcd0f_b1852408","updated":"2015-08-11 07:09:24.000000000","message":"Hi Vicent,\nAs this is original codes, and there is a lot of changes, we agreed that this will be done in another patch.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"a9857bacae0a50c8edb6a550927a259217ca70bf","unresolved":false,"context_lines":[{"line_number":889,"context_line":"        restore \u003d dom.getElementsByTagName(\u0027restore\u0027)"},{"line_number":890,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027backup_id\u0027),"},{"line_number":891,"context_line":"                         backup_id)"},{"line_number":892,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027volume_id\u0027), volume_id)"},{"line_number":893,"context_line":"        self.assertEqual(volume_name,"},{"line_number":894,"context_line":"                         restore.item(0).getAttribute(\u0027volume_name\u0027))"},{"line_number":895,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_f18bac1c","line":892,"updated":"2015-08-11 06:37:54.000000000","message":"Two of the above lines need to be changed into style of (expected, actual) for assertEqual.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"93a8a3d214c872148060cbcab888085699c8546e","unresolved":false,"context_lines":[{"line_number":889,"context_line":"        restore \u003d dom.getElementsByTagName(\u0027restore\u0027)"},{"line_number":890,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027backup_id\u0027),"},{"line_number":891,"context_line":"                         backup_id)"},{"line_number":892,"context_line":"        self.assertEqual(restore.item(0).getAttribute(\u0027volume_id\u0027), volume_id)"},{"line_number":893,"context_line":"        self.assertEqual(volume_name,"},{"line_number":894,"context_line":"                         restore.item(0).getAttribute(\u0027volume_name\u0027))"},{"line_number":895,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_96e9f91c","line":892,"in_reply_to":"1a4dcd0f_f18bac1c","updated":"2015-08-11 07:09:24.000000000","message":"Same above.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"a9857bacae0a50c8edb6a550927a259217ca70bf","unresolved":false,"context_lines":[{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1175,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1176,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1177,"context_line":"        self.assertEqual(volume_name, res_dict[\u0027restore\u0027][\u0027volume_name\u0027])"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        db.volume_destroy(context.get_admin_context(), volume_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_11a0989e","line":1176,"updated":"2015-08-11 06:37:54.000000000","message":"Three of the above lines need to be changed into style of (expected, actual) for assertEqual.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"93a8a3d214c872148060cbcab888085699c8546e","unresolved":false,"context_lines":[{"line_number":1173,"context_line":""},{"line_number":1174,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1175,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1176,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1177,"context_line":"        self.assertEqual(volume_name, res_dict[\u0027restore\u0027][\u0027volume_name\u0027])"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"        db.volume_destroy(context.get_admin_context(), volume_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_5641310a","line":1176,"in_reply_to":"1a4dcd0f_11a0989e","updated":"2015-08-11 07:09:24.000000000","message":"Same above.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"a9857bacae0a50c8edb6a550927a259217ca70bf","unresolved":false,"context_lines":[{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1201,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1202,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1203,"context_line":"        self.assertEqual(volume_name, res_dict[\u0027restore\u0027][\u0027volume_name\u0027])"},{"line_number":1204,"context_line":"        mock_restore_backup.assert_called_once_with(mock.ANY, u\u0027HostB\u0027,"},{"line_number":1205,"context_line":"                                                    mock.ANY, volume_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_5196204d","line":1202,"updated":"2015-08-11 06:37:54.000000000","message":"Three of the above lines need to be changed into style of (expected, actual) for assertEqual.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"93a8a3d214c872148060cbcab888085699c8546e","unresolved":false,"context_lines":[{"line_number":1199,"context_line":""},{"line_number":1200,"context_line":"        self.assertEqual(res.status_int, 202)"},{"line_number":1201,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027backup_id\u0027], backup_id)"},{"line_number":1202,"context_line":"        self.assertEqual(res_dict[\u0027restore\u0027][\u0027volume_id\u0027], volume_id)"},{"line_number":1203,"context_line":"        self.assertEqual(volume_name, res_dict[\u0027restore\u0027][\u0027volume_name\u0027])"},{"line_number":1204,"context_line":"        mock_restore_backup.assert_called_once_with(mock.ANY, u\u0027HostB\u0027,"},{"line_number":1205,"context_line":"                                                    mock.ANY, volume_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a4dcd0f_b608b5da","line":1202,"in_reply_to":"1a4dcd0f_5196204d","updated":"2015-08-11 07:09:24.000000000","message":"Same above.","commit_id":"e03a70302d286fb1eb815d61f18f93cc97b5365e"}]}
