diff --git a/circle/vm/models/network.py b/circle/vm/models/network.py index cc0c8b2..4ca96b0 100644 --- a/circle/vm/models/network.py +++ b/circle/vm/models/network.py @@ -138,6 +138,13 @@ class Interface(Model): return iface def deploy(self, user=None, task_uuid=None): + if self.destroyed: + from .instance import Instance + raise Instance.InstanceDestroyedError(self.instance, + "The associated instance " + "(%s) has already been " + "destroyed" % self.instance) + net_tasks.create.apply_async( args=[self.get_vmnetwork_desc()], queue=self.instance.get_remote_queue_name('net')) @@ -148,6 +155,9 @@ class Interface(Model): queue=self.instance.get_remote_queue_name('net')) def destroy(self, user=None, task_uuid=None): + if self.destroyed: + return + self.shutdown(user, task_uuid) if self.host is not None: self.host.delete()