)]}'
{"karbor/tests/fullstack/test_checkpoints.py":[{"author":{"_account_id":22056,"name":"yushangbin","email":"shangbin.yu@easystack.cn","username":"yushangbin"},"change_message_id":"17e3bf192c08e3c7e7f41f9f4cc0bad44fcde155","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        items \u003d self.karbor_client.checkpoints.list(self.provider_id)"},{"line_number":145,"context_line":"        ids \u003d [item.id for item in items]"},{"line_number":146,"context_line":"        self.assertTrue(checkpoint.id in ids)"},{"line_number":147,"context_line":"        search_opts \u003d {\"volume_id\": volume.id}"},{"line_number":148,"context_line":"        backups \u003d self.cinder_client.backups.list(search_opts\u003dsearch_opts)"},{"line_number":149,"context_line":"        self.assertEqual(1, len(backups))"},{"line_number":150,"context_line":"        server.detach_volume(volume.id)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_server_boot_from_volume_with_attached_volume(self):"},{"line_number":153,"context_line":"        \"\"\"Test checkpoint for server with a bootable volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_9907edca","side":"PARENT","line":150,"range":{"start_line":147,"start_character":8,"end_line":150,"end_character":39},"updated":"2017-08-17 02:44:43.000000000","message":"In L178, also have this. But I\u0027m not so sure about if there are other impact after removing these “extra” work.","commit_id":"d87baa306392a4eba4ec3bd36bda7a2185e45518"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"09452ec89a541b8ba9a11fa3daaf248544df91e1","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        items \u003d self.karbor_client.checkpoints.list(self.provider_id)"},{"line_number":145,"context_line":"        ids \u003d [item.id for item in items]"},{"line_number":146,"context_line":"        self.assertTrue(checkpoint.id in ids)"},{"line_number":147,"context_line":"        search_opts \u003d {\"volume_id\": volume.id}"},{"line_number":148,"context_line":"        backups \u003d self.cinder_client.backups.list(search_opts\u003dsearch_opts)"},{"line_number":149,"context_line":"        self.assertEqual(1, len(backups))"},{"line_number":150,"context_line":"        server.detach_volume(volume.id)"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_server_boot_from_volume_with_attached_volume(self):"},{"line_number":153,"context_line":"        \"\"\"Test checkpoint for server with a bootable volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_f40f202b","side":"PARENT","line":150,"range":{"start_line":147,"start_character":8,"end_line":150,"end_character":39},"in_reply_to":"9f436f4f_9907edca","updated":"2017-08-17 03:20:48.000000000","message":"The provider self.provider_id_noop only run the workflow task, will not actual volume backup and restore. So this test don\u0027t need check the resources.","commit_id":"d87baa306392a4eba4ec3bd36bda7a2185e45518"},{"author":{"_account_id":22056,"name":"yushangbin","email":"shangbin.yu@easystack.cn","username":"yushangbin"},"change_message_id":"17e3bf192c08e3c7e7f41f9f4cc0bad44fcde155","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        volume \u003d self.store(objects.Volume())"},{"line_number":73,"context_line":"        volume.create(1)"},{"line_number":74,"context_line":"        plan \u003d self.store(objects.Plan())"},{"line_number":75,"context_line":"        plan.create(self.provider_id_noop, [volume, ])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        checkpoint \u003d self.store(objects.Checkpoint())"},{"line_number":78,"context_line":"        checkpoint.create(self.provider_id_noop, plan.id, timeout\u003d2400)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_39cda1b6","line":75,"range":{"start_line":75,"start_character":20,"end_line":75,"end_character":41},"updated":"2017-08-17 02:44:43.000000000","message":"why still use self.provider_id_os in test_checkpoint create?","commit_id":"f8f88ad359bb71fb872c10480cbd150b500b6ec9"},{"author":{"_account_id":22056,"name":"yushangbin","email":"shangbin.yu@easystack.cn","username":"yushangbin"},"change_message_id":"17e3bf192c08e3c7e7f41f9f4cc0bad44fcde155","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        plan.create(self.provider_id_noop, [volume, ])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        checkpoint \u003d self.store(objects.Checkpoint())"},{"line_number":78,"context_line":"        checkpoint.create(self.provider_id_noop, plan.id, timeout\u003d2400)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        items \u003d self.karbor_client.checkpoints.list(self.provider_id_noop)"},{"line_number":81,"context_line":"        ids \u003d [item.id for item in items]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_f947191c","line":78,"range":{"start_line":78,"start_character":26,"end_line":78,"end_character":47},"updated":"2017-08-17 02:44:43.000000000","message":"Why still use self.provider_id in test_checkpoint_create?","commit_id":"f8f88ad359bb71fb872c10480cbd150b500b6ec9"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"09452ec89a541b8ba9a11fa3daaf248544df91e1","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        plan.create(self.provider_id_noop, [volume, ])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        checkpoint \u003d self.store(objects.Checkpoint())"},{"line_number":78,"context_line":"        checkpoint.create(self.provider_id_noop, plan.id, timeout\u003d2400)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        items \u003d self.karbor_client.checkpoints.list(self.provider_id_noop)"},{"line_number":81,"context_line":"        ids \u003d [item.id for item in items]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_54070c19","line":78,"range":{"start_line":78,"start_character":26,"end_line":78,"end_character":47},"in_reply_to":"9f436f4f_f947191c","updated":"2017-08-17 03:20:48.000000000","message":"The self.provider_id and self.provider_id_os are same, this provider will do actual volume backup and restore.\nWe want to do actual volume backup and restore in the test test_checkpoint_create, so it will use the provider self.provider_id.","commit_id":"f8f88ad359bb71fb872c10480cbd150b500b6ec9"}],"karbor/tests/fullstack/test_restores.py":[{"author":{"_account_id":22056,"name":"yushangbin","email":"shangbin.yu@easystack.cn","username":"yushangbin"},"change_message_id":"17e3bf192c08e3c7e7f41f9f4cc0bad44fcde155","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        item \u003d self.karbor_client.restores.get(restore.id)"},{"line_number":206,"context_line":"        self.assertEqual(constants.RESTORE_STATUS_SUCCESS,"},{"line_number":207,"context_line":"                         item.status)"},{"line_number":208,"context_line":"        self.assertEqual(1, len(item.resources_status))"},{"line_number":209,"context_line":"        self._store(item.resources_status)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_19241d5d","side":"PARENT","line":209,"range":{"start_line":208,"start_character":8,"end_line":209,"end_character":42},"updated":"2017-08-17 02:44:43.000000000","message":"why only remove here?","commit_id":"d87baa306392a4eba4ec3bd36bda7a2185e45518"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"09452ec89a541b8ba9a11fa3daaf248544df91e1","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        item \u003d self.karbor_client.restores.get(restore.id)"},{"line_number":206,"context_line":"        self.assertEqual(constants.RESTORE_STATUS_SUCCESS,"},{"line_number":207,"context_line":"                         item.status)"},{"line_number":208,"context_line":"        self.assertEqual(1, len(item.resources_status))"},{"line_number":209,"context_line":"        self._store(item.resources_status)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_593985ef","side":"PARENT","line":209,"range":{"start_line":208,"start_character":8,"end_line":209,"end_character":42},"in_reply_to":"9f436f4f_19241d5d","updated":"2017-08-17 03:20:48.000000000","message":"Using self.provider_id_noop means that this test will not do actual volume backup and restore. We think that we don\u0027t need do actual backup and restore in all tests.","commit_id":"d87baa306392a4eba4ec3bd36bda7a2185e45518"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"f56ba41ffbeeb9d1e2771dba2fc114ca939249b6","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        item \u003d self.karbor_client.restores.get(restore.id)"},{"line_number":206,"context_line":"        self.assertEqual(constants.RESTORE_STATUS_SUCCESS,"},{"line_number":207,"context_line":"                         item.status)"},{"line_number":208,"context_line":"        self.assertEqual(1, len(item.resources_status))"},{"line_number":209,"context_line":"        self._store(item.resources_status)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_ba6f3f26","side":"PARENT","line":209,"range":{"start_line":208,"start_character":8,"end_line":209,"end_character":42},"in_reply_to":"9f436f4f_19241d5d","updated":"2017-08-17 06:30:26.000000000","message":"Using self.provider_id_noop means that this test will not do actual volume backup and restore. We think that we don\u0027t need do actual backup and restore in all tests.","commit_id":"d87baa306392a4eba4ec3bd36bda7a2185e45518"},{"author":{"_account_id":22056,"name":"yushangbin","email":"shangbin.yu@easystack.cn","username":"yushangbin"},"change_message_id":"17e3bf192c08e3c7e7f41f9f4cc0bad44fcde155","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        volume \u003d self.store(objects.Volume())"},{"line_number":194,"context_line":"        volume.create(1)"},{"line_number":195,"context_line":"        plan \u003d self.store(objects.Plan())"},{"line_number":196,"context_line":"        plan.create(self.provider_id_noop, [volume, ])"},{"line_number":197,"context_line":"        checkpoint \u003d self.store(objects.Checkpoint())"},{"line_number":198,"context_line":"        checkpoint.create(self.provider_id_noop, plan.id)"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_793329ac","line":196,"range":{"start_line":196,"start_character":20,"end_line":196,"end_character":41},"updated":"2017-08-17 02:44:43.000000000","message":"self.provider_id_fs_bank in karbor_base.py can be removed?","commit_id":"f8f88ad359bb71fb872c10480cbd150b500b6ec9"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"09452ec89a541b8ba9a11fa3daaf248544df91e1","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        volume \u003d self.store(objects.Volume())"},{"line_number":194,"context_line":"        volume.create(1)"},{"line_number":195,"context_line":"        plan \u003d self.store(objects.Plan())"},{"line_number":196,"context_line":"        plan.create(self.provider_id_noop, [volume, ])"},{"line_number":197,"context_line":"        checkpoint \u003d self.store(objects.Checkpoint())"},{"line_number":198,"context_line":"        checkpoint.create(self.provider_id_noop, plan.id)"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_791fa96b","line":196,"range":{"start_line":196,"start_character":20,"end_line":196,"end_character":41},"in_reply_to":"9f436f4f_793329ac","updated":"2017-08-17 03:20:48.000000000","message":"We can leave there, we may use it in the future.","commit_id":"f8f88ad359bb71fb872c10480cbd150b500b6ec9"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"f56ba41ffbeeb9d1e2771dba2fc114ca939249b6","unresolved":false,"context_lines":[{"line_number":193,"context_line":"        volume \u003d self.store(objects.Volume())"},{"line_number":194,"context_line":"        volume.create(1)"},{"line_number":195,"context_line":"        plan \u003d self.store(objects.Plan())"},{"line_number":196,"context_line":"        plan.create(self.provider_id_noop, [volume, ])"},{"line_number":197,"context_line":"        checkpoint \u003d self.store(objects.Checkpoint())"},{"line_number":198,"context_line":"        checkpoint.create(self.provider_id_noop, plan.id)"},{"line_number":199,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f436f4f_da744300","line":196,"range":{"start_line":196,"start_character":20,"end_line":196,"end_character":41},"in_reply_to":"9f436f4f_793329ac","updated":"2017-08-17 06:30:26.000000000","message":"We can leave there, we may use it in the future.","commit_id":"f8f88ad359bb71fb872c10480cbd150b500b6ec9"}]}
