From 803c78217d6de454bc06600fe3e184afe90d9ac4 Mon Sep 17 00:00:00 2001 From: Bach Dániel <bd@ik.bme.hu> Date: Mon, 29 Sep 2014 21:25:43 +0200 Subject: [PATCH] vm: fix MigrateOperation (Unhandled exception: 'NoneType' object has no attribute 'host') --- circle/vm/models/instance.py | 7 +++++++ circle/vm/operations.py | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/circle/vm/models/instance.py b/circle/vm/models/instance.py index bad9d54..1c9de51 100644 --- a/circle/vm/models/instance.py +++ b/circle/vm/models/instance.py @@ -920,6 +920,13 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin, delete_dump.apply_async(args=[self.mem_dump['path']], queue=queue_name).get(timeout=timeout) + def reallocate_node(self, activity): + with activity.sub_activity( + 'scheduling', + readable_name=ugettext_noop("schedule")) as sa: + sa.result = node = self.select_node() + return node + def allocate_node(self, activity): if self.node is not None: return None diff --git a/circle/vm/operations.py b/circle/vm/operations.py index 53d5e8c..9628720 100644 --- a/circle/vm/operations.py +++ b/circle/vm/operations.py @@ -398,7 +398,7 @@ class MigrateOperation(InstanceOperation): def _operation(self, activity, to_node=None, timeout=120): if not to_node: - self.instance.allocate_node(activity) + to_node = self.instance.reallocate_node(activity) try: with activity.sub_activity( 'migrate_vm', readable_name=create_readable( @@ -418,6 +418,7 @@ class MigrateOperation(InstanceOperation): # Refresh node information self.instance.node = to_node self.instance.save() + # Estabilish network connection (vmdriver) with activity.sub_activity( 'deploying_net', readable_name=ugettext_noop( -- libgit2 0.26.0