)]}'
{"smaug/tests/fullstack/smaug_base.py":[{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"40115d77a15bf0bb72f802f872507fbd773ef911","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        self.cleanup_backup_volumes()"},{"line_number":186,"context_line":"        self.cleanup_novas()"},{"line_number":187,"context_line":"        super(SmaugBaseTest, self).tearDown()"},{"line_number":188,"context_line":"        self._testcase_store.close()"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    def provider_list(self):"},{"line_number":191,"context_line":"        return self.smaug_client.providers.list()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_6068afbb","line":188,"range":{"start_line":188,"start_character":8,"end_line":188,"end_character":36},"updated":"2016-06-20 03:32:01.000000000","message":"I think this statement should be before the super statement.","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"}],"smaug/tests/fullstack/smaug_objects.py":[{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"df055d5c743b6d7766df101ad06ef0088f64f67c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        except Exception:"},{"line_number":33,"context_line":"            return False"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        if status is None or cp[\u0027status\u0027] \u003d\u003d status:"},{"line_number":36,"context_line":"            return True"},{"line_number":37,"context_line":"        else:"},{"line_number":38,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_055f3d73","line":35,"range":{"start_line":35,"start_character":11,"end_line":35,"end_character":25},"updated":"2016-06-20 03:26:24.000000000","message":"Might not be a good idea.","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"df055d5c743b6d7766df101ad06ef0088f64f67c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"            self.smaug_client.checkpoints.delete(self.id)"},{"line_number":53,"context_line":"        except Exception:"},{"line_number":54,"context_line":"            return"},{"line_number":55,"context_line":"        utils.wait_until_none(partial(self._checkpoint_exists,"},{"line_number":56,"context_line":"                                      self._provider_id, self.id),"},{"line_number":57,"context_line":"                              timeout\u003dtimeout, sleep\u003d5)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_a5c8e975","line":55,"range":{"start_line":55,"start_character":38,"end_line":55,"end_character":61},"updated":"2016-06-20 03:26:24.000000000","message":"This function is not yet implemented?","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"df055d5c743b6d7766df101ad06ef0088f64f67c","unresolved":false,"context_lines":[{"line_number":101,"context_line":"            self.smaug_client.plans.delete(self.id)"},{"line_number":102,"context_line":"        except Exception:"},{"line_number":103,"context_line":"            return"},{"line_number":104,"context_line":"        utils.wait_until_none(partial(self._plan_exists, self.id),"},{"line_number":105,"context_line":"                              timeout\u003dtimeout, sleep\u003d5)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_85d84d1f","line":104,"range":{"start_line":104,"start_character":38,"end_line":104,"end_character":55},"updated":"2016-06-20 03:26:24.000000000","message":"I don\u0027t think that \u0027delete\u0027 is the same with \u0027create\u0027.When delete,we should return \u0027True\u0027 in except, and return \u0027False\u0027in else.","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"df055d5c743b6d7766df101ad06ef0088f64f67c","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            self.smaug_client.restores.delete(self.id)"},{"line_number":138,"context_line":"        except Exception:"},{"line_number":139,"context_line":"            return"},{"line_number":140,"context_line":"        utils.wait_until_none(self._restore_status, timeout\u003dtimeout, sleep\u003d5)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"class Trigger(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_c51c157a","line":140,"range":{"start_line":140,"start_character":30,"end_line":140,"end_character":50},"updated":"2016-06-20 03:26:24.000000000","message":"ditto","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"df055d5c743b6d7766df101ad06ef0088f64f67c","unresolved":false,"context_lines":[{"line_number":221,"context_line":"            self.nova_client.servers.delete(self.id)"},{"line_number":222,"context_line":"        except Exception:"},{"line_number":223,"context_line":"            return"},{"line_number":224,"context_line":"        utils.wait_until_none(self._server_status, timeout\u003dtimeout, sleep\u003d5)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"class Volume(object):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_60138f5d","line":224,"range":{"start_line":224,"start_character":30,"end_line":224,"end_character":49},"updated":"2016-06-20 03:26:24.000000000","message":"ditto","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"11a2b7e14947545f55688ad4588b8f91ebb7c611","unresolved":false,"context_lines":[{"line_number":255,"context_line":"            name \u003d \"SmaugFullstack-Volume-{id}\".format(id\u003dself._name_id)"},{"line_number":256,"context_line":"            self._name_id +\u003d 1"},{"line_number":257,"context_line":"            self._name \u003d name"},{"line_number":258,"context_line":"            volume \u003d self.cinder_client.volumes.create(size, name\u003dname)"},{"line_number":259,"context_line":"            self.id \u003d volume.id"},{"line_number":260,"context_line":"            utils.wait_until_true(partial(self._volume_status, \u0027available\u0027),"},{"line_number":261,"context_line":"                                  timeout\u003dtimeout, sleep\u003d5)"},{"line_number":262,"context_line":"            return self.id"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"    def close(self, timeout\u003d90):"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_40dad379","line":261,"range":{"start_line":258,"start_character":11,"end_line":261,"end_character":59},"updated":"2016-06-20 05:22:48.000000000","message":"Should be moved forward 4 spaces.","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"df055d5c743b6d7766df101ad06ef0088f64f67c","unresolved":false,"context_lines":[{"line_number":266,"context_line":"            self.cinder_client.volumes.delete(self.id)"},{"line_number":267,"context_line":"        except Exception:"},{"line_number":268,"context_line":"            return"},{"line_number":269,"context_line":"        utils.wait_until_none(self._volume_status, timeout\u003dtimeout, sleep\u003d5)"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a9d85d2_2020679b","line":269,"range":{"start_line":269,"start_character":30,"end_line":269,"end_character":49},"updated":"2016-06-20 03:26:24.000000000","message":"ditto","commit_id":"78f6f07a7f9c4fb47e614e3e7e854299cb50a894"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"db91038db331ba940dc9c61acb4264d8ab94e912","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except Exception:"},{"line_number":111,"context_line":"            return False"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        if status is None or restore.id \u003d\u003d status:"},{"line_number":114,"context_line":"            return True"},{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_ed491ed2","line":113,"range":{"start_line":113,"start_character":36,"end_line":113,"end_character":39},"updated":"2016-06-22 08:51:54.000000000","message":"is \u0027id\u0027 right?","commit_id":"6de9c12a1b711715f0f30444fcbf2a8e8da47a36"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"f5e1e0d014e01f0b4a87981cb141199d18be81b1","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except Exception:"},{"line_number":111,"context_line":"            return False"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        if status is None or restore.id \u003d\u003d status:"},{"line_number":114,"context_line":"            return True"},{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_ede59ea8","line":113,"range":{"start_line":113,"start_character":36,"end_line":113,"end_character":39},"in_reply_to":"3aaa91ec_ed491ed2","updated":"2016-06-22 08:54:08.000000000","message":"Yes. Why not?","commit_id":"6de9c12a1b711715f0f30444fcbf2a8e8da47a36"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"eec64188bf93c8dd0223cf7b35699ed5bafe9d43","unresolved":false,"context_lines":[{"line_number":110,"context_line":"        except Exception:"},{"line_number":111,"context_line":"            return False"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        if status is None or restore.id \u003d\u003d status:"},{"line_number":114,"context_line":"            return True"},{"line_number":115,"context_line":"        else:"},{"line_number":116,"context_line":"            return False"}],"source_content_type":"text/x-python","patch_set":8,"id":"3aaa91ec_30fff902","line":113,"range":{"start_line":113,"start_character":36,"end_line":113,"end_character":39},"in_reply_to":"3aaa91ec_ede59ea8","updated":"2016-06-22 08:58:29.000000000","message":"I am testing it, restore.id failed, but restore.status pass.","commit_id":"6de9c12a1b711715f0f30444fcbf2a8e8da47a36"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"37816c5d3ceab4de01727e51136f5652acceac7b","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def close(self):"},{"line_number":130,"context_line":"        try:"},{"line_number":131,"context_line":"            self.smaug_client.restores.delete(self.id)"},{"line_number":132,"context_line":"        except Exception:"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_7ea2b2af","line":131,"range":{"start_line":131,"start_character":12,"end_line":131,"end_character":54},"updated":"2016-06-23 09:56:01.000000000","message":"We don\u0027t expose the delete interface of the restore API. The restored voulmes maybe need be deleted here.","commit_id":"cf07c31c0f900be7d3f4c65e20099e5c5ec1767d"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"d606d403c057779815bbe32eaa9da551a61fd688","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def close(self):"},{"line_number":130,"context_line":"        try:"},{"line_number":131,"context_line":"            self.smaug_client.restores.delete(self.id)"},{"line_number":132,"context_line":"        except Exception:"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_c0f4725c","line":131,"range":{"start_line":131,"start_character":12,"end_line":131,"end_character":54},"in_reply_to":"3aaa91ec_395a0450","updated":"2016-06-24 02:28:05.000000000","message":"You can discuss it with saggi. Not designing the delete interface of the restore API, we think the restore db data also is the restore action history log.","commit_id":"cf07c31c0f900be7d3f4c65e20099e5c5ec1767d"},{"author":{"_account_id":20883,"name":"Yuval Brik","email":"yuval@brik.org.il","username":"yuvalbr"},"change_message_id":"c5051c3a9bac059e63ff76549dac497d934108e0","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def close(self):"},{"line_number":130,"context_line":"        try:"},{"line_number":131,"context_line":"            self.smaug_client.restores.delete(self.id)"},{"line_number":132,"context_line":"        except Exception:"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_395a0450","line":131,"range":{"start_line":131,"start_character":12,"end_line":131,"end_character":54},"in_reply_to":"3aaa91ec_7ea2b2af","updated":"2016-06-23 10:19:37.000000000","message":"Thanks for noticing. Seems like python-smaugclient does include a \u0027delete\u0027 method for restores, which is not implemented in the RestoresController.\nIn my opinion, we do need a \u0027delete\u0027, in order to clean old restore objects. However, it is beyond the scope of this patch.","commit_id":"cf07c31c0f900be7d3f4c65e20099e5c5ec1767d"},{"author":{"_account_id":21648,"name":"zhangshuai","email":"446077695@qq.com","username":"zhangshuai"},"change_message_id":"0e10aaf0d7f47e5780b1ee2f2195924b8dedc84d","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def close(self):"},{"line_number":130,"context_line":"        try:"},{"line_number":131,"context_line":"            self.smaug_client.restores.delete(self.id)"},{"line_number":132,"context_line":"        except Exception:"},{"line_number":133,"context_line":"            return"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3aaa91ec_60793ec8","line":131,"range":{"start_line":131,"start_character":12,"end_line":131,"end_character":54},"in_reply_to":"3aaa91ec_c0f4725c","updated":"2016-06-24 02:35:17.000000000","message":"I think we can add a restore_volume_id field into response value when restore creating. In this case, we can know which volume is generated by the restore operation.","commit_id":"cf07c31c0f900be7d3f4c65e20099e5c5ec1767d"}]}
