)]}'
{"tempest/scenario/manager.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"4f98b3bdc8456f34764f3914f55a1ac1ddaa8c21","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from tempest.lib.common.utils import test_utils"},{"line_number":31,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":32,"context_line":"from tempest.scenario import network_resources"},{"line_number":33,"context_line":"from tempest import test"},{"line_number":34,"context_line":"import tempest.test"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_cbb2ad05","line":33,"updated":"2016-06-14 09:36:10.000000000","message":"It\u0027s already imported L34","commit_id":"77eba7f272103500c9a8fd2611418ded5111daf2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"619a4206ecf952727cc270af38c986a495b89897","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from tempest.lib.common.utils import test_utils"},{"line_number":31,"context_line":"from tempest.lib import exceptions as lib_exc"},{"line_number":32,"context_line":"from tempest.scenario import network_resources"},{"line_number":33,"context_line":"from tempest import test"},{"line_number":34,"context_line":"import tempest.test"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"CONF \u003d config.CONF"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_16d4d9e9","line":33,"in_reply_to":"7aa08908_cbb2ad05","updated":"2016-06-14 10:44:42.000000000","message":"Right","commit_id":"77eba7f272103500c9a8fd2611418ded5111daf2"},{"author":{"_account_id":17716,"name":"Luz Cazares","email":"luz.cazares@intel.com","username":"luzcazares"},"change_message_id":"aafcf4d567e682ad8c563f94853d497cdcdbe49e","unresolved":false,"context_lines":[{"line_number":251,"context_line":"                                                   **kwargs)[\u0027backup\u0027]"},{"line_number":252,"context_line":"        self.backups_client.wait_for_backup_status(backup[\u0027id\u0027],"},{"line_number":253,"context_line":"                                                   \u0027available\u0027)"},{"line_number":254,"context_line":"        self.addCleanup(self.backups_client.delete_backup, backup[\u0027id\u0027])"},{"line_number":255,"context_line":"        return backup"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    def restore_backup(self, backup_id, volume\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a8ec9b2_8dc3ff56","line":254,"range":{"start_line":254,"start_character":9,"end_line":254,"end_character":72},"updated":"2016-09-20 15:41:43.000000000","message":"Move addCleanup one line up - right after creating it.\nwait_for_backup_status might fire an exception in which case backup won\u0027t be cleaned up","commit_id":"fa4c21c3f79649093e2ed7298f4524237b94a015"}],"tempest/scenario/test_volume_backup_restore.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"4f98b3bdc8456f34764f3914f55a1ac1ddaa8c21","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 NEC Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_2bbed1ad","line":1,"updated":"2016-06-14 09:36:10.000000000","message":"Do you work for NEC ?","commit_id":"77eba7f272103500c9a8fd2611418ded5111daf2"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"619a4206ecf952727cc270af38c986a495b89897","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 NEC Corporation"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_f692ed55","line":1,"in_reply_to":"7aa08908_2bbed1ad","updated":"2016-06-14 10:44:42.000000000","message":"oops redhat, thanks for the attention","commit_id":"77eba7f272103500c9a8fd2611418ded5111daf2"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a17b8ba1c4474530653429033f1a7764067f2751","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestVolumeBackupRestore(manager.ScenarioTest):"},{"line_number":25,"context_line":"    \"\"\"This testcase verifies content preservation after backup and restore"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    operations while volume is attached to an instance."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    The following is the scenario outline:"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_cf0bfd28","line":26,"updated":"2017-02-07 07:41:52.000000000","message":"redundant blank line?","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"834aa8f6981e16db4fda3030121b5f9f1ad069de","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class TestVolumeBackupRestore(manager.ScenarioTest):"},{"line_number":25,"context_line":"    \"\"\"This testcase verifies content preservation after backup and restore"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    operations while volume is attached to an instance."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    The following is the scenario outline:"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_ca5dab48","line":26,"in_reply_to":"1a430d35_cf0bfd28","updated":"2017-02-07 08:17:08.000000000","message":"Thanks for your comments,\nIt\u0027s required otherwise flake8 will fail with H405.","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a17b8ba1c4474530653429033f1a7764067f2751","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        security_group \u003d self._create_security_group()"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Create a server"},{"line_number":56,"context_line":"        server_name \u003d data_utils.rand_name(\u0027Instance\u0027)"},{"line_number":57,"context_line":"        kwargs \u003d {\u0027key_name\u0027: keypair[\u0027name\u0027],"},{"line_number":58,"context_line":"                  \u0027security_groups\u0027: [{\u0027name\u0027: security_group[\u0027name\u0027]}]}"},{"line_number":59,"context_line":"        server \u003d self.create_server(name\u003dserver_name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_2f2d61fe","line":56,"range":{"start_line":56,"start_character":8,"end_line":56,"end_character":54},"updated":"2017-02-07 07:41:52.000000000","message":"this is not needed because in self.create_server a random name is generated","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"834aa8f6981e16db4fda3030121b5f9f1ad069de","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        security_group \u003d self._create_security_group()"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Create a server"},{"line_number":56,"context_line":"        server_name \u003d data_utils.rand_name(\u0027Instance\u0027)"},{"line_number":57,"context_line":"        kwargs \u003d {\u0027key_name\u0027: keypair[\u0027name\u0027],"},{"line_number":58,"context_line":"                  \u0027security_groups\u0027: [{\u0027name\u0027: security_group[\u0027name\u0027]}]}"},{"line_number":59,"context_line":"        server \u003d self.create_server(name\u003dserver_name,"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_0a54131f","line":56,"range":{"start_line":56,"start_character":8,"end_line":56,"end_character":54},"in_reply_to":"1a430d35_2f2d61fe","updated":"2017-02-07 08:17:08.000000000","message":"Done","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a17b8ba1c4474530653429033f1a7764067f2751","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        server_ip \u003d self.get_server_ip(server)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        # Create a volume"},{"line_number":65,"context_line":"        volume_name \u003d data_utils.rand_name(\u0027Volume\u0027)"},{"line_number":66,"context_line":"        volume \u003d self.create_volume(name\u003dvolume_name)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # Attach volume to the instance"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_0f734516","line":65,"range":{"start_line":65,"start_character":8,"end_line":65,"end_character":52},"updated":"2017-02-07 07:41:52.000000000","message":"this is also not needed","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"834aa8f6981e16db4fda3030121b5f9f1ad069de","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        server_ip \u003d self.get_server_ip(server)"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"        # Create a volume"},{"line_number":65,"context_line":"        volume_name \u003d data_utils.rand_name(\u0027Volume\u0027)"},{"line_number":66,"context_line":"        volume \u003d self.create_volume(name\u003dvolume_name)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        # Attach volume to the instance"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_aa0e9f38","line":65,"range":{"start_line":65,"start_character":8,"end_line":65,"end_character":52},"in_reply_to":"1a430d35_0f734516","updated":"2017-02-07 08:17:08.000000000","message":"Done","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a17b8ba1c4474530653429033f1a7764067f2751","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            private_key\u003dkeypair[\u0027private_key\u0027])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Create a backup for the attached volume"},{"line_number":78,"context_line":"        backup_name \u003d data_utils.rand_name(\u0027Backup\u0027)"},{"line_number":79,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"},{"line_number":80,"context_line":"                                    name\u003dbackup_name, force\u003dTrue)"},{"line_number":81,"context_line":"        self.assertEqual(backup_name, backup[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_6fcf6929","line":78,"range":{"start_line":78,"start_character":8,"end_line":78,"end_character":52},"updated":"2017-02-07 07:41:52.000000000","message":"I think maybe this is not needed too, because in api test we have checked\n\"assertEqual(backup_name, backup[\u0027name\u0027])\" for many times, \ne.g., test_backup_create_attached_volume","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"834aa8f6981e16db4fda3030121b5f9f1ad069de","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            private_key\u003dkeypair[\u0027private_key\u0027])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        # Create a backup for the attached volume"},{"line_number":78,"context_line":"        backup_name \u003d data_utils.rand_name(\u0027Backup\u0027)"},{"line_number":79,"context_line":"        backup \u003d self.create_backup(volume_id\u003dvolume[\u0027id\u0027],"},{"line_number":80,"context_line":"                                    name\u003dbackup_name, force\u003dTrue)"},{"line_number":81,"context_line":"        self.assertEqual(backup_name, backup[\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_8a3e43d8","line":78,"range":{"start_line":78,"start_character":8,"end_line":78,"end_character":52},"in_reply_to":"1a430d35_6fcf6929","updated":"2017-02-07 08:17:08.000000000","message":"Right, I agree with you","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a17b8ba1c4474530653429033f1a7764067f2751","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        # Detach the restored volume"},{"line_number":101,"context_line":"        self.nova_volume_detach(server, restore)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Verify the content has restored"},{"line_number":104,"context_line":"        self.assertEqual(timestamp1, timestamp2)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_2f4c819d","line":104,"range":{"start_line":103,"start_character":0,"end_line":104,"end_character":48},"updated":"2017-02-07 07:41:52.000000000","message":"move this check upper immediately after line 98?","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"834aa8f6981e16db4fda3030121b5f9f1ad069de","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        # Detach the restored volume"},{"line_number":101,"context_line":"        self.nova_volume_detach(server, restore)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"        # Verify the content has restored"},{"line_number":104,"context_line":"        self.assertEqual(timestamp1, timestamp2)"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a430d35_ea2d07a9","line":104,"range":{"start_line":103,"start_character":0,"end_line":104,"end_character":48},"in_reply_to":"1a430d35_2f4c819d","updated":"2017-02-07 08:17:08.000000000","message":"Done","commit_id":"2f9d74fecf18adb3e1d300977d01d0bfaed2ee2e"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4bbfb396a042637e1d57bf1e08bf8ca62e03d4f0","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TestVolumeBackupRestore(manager.ScenarioTest):"},{"line_number":24,"context_line":"    \"\"\"This testcase verifies content preservation after backup and restore"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    operations while volume is attached to an instance."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    The following is the scenario outline:"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a430d35_eb44fbb7","line":25,"updated":"2017-02-08 08:21:38.000000000","message":"oh, I see, it expects an one-line \"title\" here.\nfor perfection, can you use a short title here, and explain the details below?","commit_id":"8d15c75f0968511aff6ba75252c760819ebaf669"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f9a35ba76bffb0e8570b5259d286675d4e700243","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class TestVolumeBackupRestore(manager.ScenarioTest):"},{"line_number":24,"context_line":"    \"\"\"This testcase verifies content preservation after backup and restore"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    operations while volume is attached to an instance."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    The following is the scenario outline:"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa31d9ce_ce26accd","line":25,"in_reply_to":"1a430d35_eb44fbb7","updated":"2017-02-13 13:30:59.000000000","message":"Done","commit_id":"8d15c75f0968511aff6ba75252c760819ebaf669"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4bbfb396a042637e1d57bf1e08bf8ca62e03d4f0","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Restore the backup"},{"line_number":80,"context_line":"        restore \u003d self.restore_backup(backup_id\u003dbackup[\u0027id\u0027])"},{"line_number":81,"context_line":"        self.assertEqual(backup[\u0027id\u0027], restore[\u0027backup_id\u0027])"},{"line_number":82,"context_line":"        restore \u003d {\u0027id\u0027: restore[\u0027volume_id\u0027]}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        # Attach the restored volume to the instance"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, restore)"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a430d35_e646f24d","line":82,"range":{"start_line":82,"start_character":8,"end_line":82,"end_character":15},"updated":"2017-02-08 08:21:38.000000000","message":"will it look better to change the variable name to something like \u0027restored_volume\u0027?","commit_id":"8d15c75f0968511aff6ba75252c760819ebaf669"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"f9a35ba76bffb0e8570b5259d286675d4e700243","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        # Restore the backup"},{"line_number":80,"context_line":"        restore \u003d self.restore_backup(backup_id\u003dbackup[\u0027id\u0027])"},{"line_number":81,"context_line":"        self.assertEqual(backup[\u0027id\u0027], restore[\u0027backup_id\u0027])"},{"line_number":82,"context_line":"        restore \u003d {\u0027id\u0027: restore[\u0027volume_id\u0027]}"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        # Attach the restored volume to the instance"},{"line_number":85,"context_line":"        self.nova_volume_attach(server, restore)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa31d9ce_0e5a844f","line":82,"range":{"start_line":82,"start_character":8,"end_line":82,"end_character":15},"in_reply_to":"1a430d35_e646f24d","updated":"2017-02-13 13:30:59.000000000","message":"Right, it\u0027s better. thanks","commit_id":"8d15c75f0968511aff6ba75252c760819ebaf669"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c131862561ee7897b6c51d0bc499e417a806adfc","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Restore the backup"},{"line_number":81,"context_line":"        restored_volume \u003d self.restore_backup(backup_id\u003dbackup[\u0027id\u0027])"},{"line_number":82,"context_line":"        self.assertEqual(backup[\u0027id\u0027], restored_volume[\u0027backup_id\u0027])"},{"line_number":83,"context_line":"        restored_volume_id \u003d {\u0027id\u0027: restored_volume[\u0027volume_id\u0027]}"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Attach the restored volume to the instance"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_68ce82b5","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":68},"updated":"2017-02-13 19:12:53.000000000","message":"One question about backup/restore a volume API:\n\nShould the volume of this restored_volume be the same as the original volume?  Or a new volume should be created from the backup volume on this operation(restore_backup call)?\n\nI am wondering we can add\n\n  self.assertNotEqual(volume[\u0027id\u0027], restored_volume[\u0027id\u0027])\n\nhere","commit_id":"dd7d8a40b01b87976bab35f1a8344d9fa46c26cb"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"a04d9109be89bd7c74861f991b932a8826b51f2b","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        # Restore the backup"},{"line_number":81,"context_line":"        restored_volume \u003d self.restore_backup(backup_id\u003dbackup[\u0027id\u0027])"},{"line_number":82,"context_line":"        self.assertEqual(backup[\u0027id\u0027], restored_volume[\u0027backup_id\u0027])"},{"line_number":83,"context_line":"        restored_volume_id \u003d {\u0027id\u0027: restored_volume[\u0027volume_id\u0027]}"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        # Attach the restored volume to the instance"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa31d9ce_aac73994","line":82,"range":{"start_line":82,"start_character":0,"end_line":82,"end_character":68},"in_reply_to":"fa31d9ce_68ce82b5","updated":"2017-02-15 12:24:12.000000000","message":"Thanks for your suggestion, a new volume should be created.\nI\u0027ll add this line.","commit_id":"dd7d8a40b01b87976bab35f1a8344d9fa46c26cb"}]}
