From f8eb994cc214b85c537c742987efad9a61153083 Mon Sep 17 00:00:00 2001 From: Guba Sándor <guba.sandor@cloud.bme.hu> Date: Wed, 30 Jul 2014 16:07:01 +0200 Subject: [PATCH] save is_ready on template saving --- circle/storage/models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/circle/storage/models.py b/circle/storage/models.py index 7f4248a..e9a5cbd 100644 --- a/circle/storage/models.py +++ b/circle/storage/models.py @@ -342,6 +342,8 @@ class Disk(TimeStampedModel): if self.is_ready: return True + if self.base and not self.base.is_ready: + raise self.DiskIsNotReady(self, base=self.base) queue_name = self.get_remote_queue_name('storage', priority="fast") disk_desc = self.get_disk_desc() if self.base is not None: @@ -462,7 +464,7 @@ class Disk(TimeStampedModel): disk = Disk.create(datastore=self.datastore, base=new_base, name=self.name, size=self.size, - type=new_type) + type=new_type, dev_num=self.dev_num) queue_name = self.get_remote_queue_name("storage", priority="slow") remote = storage_tasks.merge.apply_async(kwargs={ @@ -479,4 +481,6 @@ class Disk(TimeStampedModel): AbortableAsyncResult(remote.id).abort() disk.destroy() raise Exception("Save as aborted by use.") + disk.is_ready = True + disk.save() return disk -- libgit2 0.26.0