diff --git a/circle/vm/models/instance.py b/circle/vm/models/instance.py index 6a9ad6a..72fea58 100644 --- a/circle/vm/models/instance.py +++ b/circle/vm/models/instance.py @@ -822,7 +822,8 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin, def migrate_vm(self, to_node, timeout=120): queue_name = self.get_remote_queue_name('vm', 'slow') return vm_tasks.migrate.apply_async(args=[self.vm_name, - to_node.host.hostname], + to_node.host.hostname, + True], queue=queue_name ).get(timeout=timeout) diff --git a/circle/vm/operations.py b/circle/vm/operations.py index a922f80..a6f7577 100644 --- a/circle/vm/operations.py +++ b/circle/vm/operations.py @@ -250,10 +250,6 @@ class MigrateOperation(InstanceOperation): to_node = self.instance.select_node() sa.result = to_node - # Shutdown networks - with activity.sub_activity('shutdown_net'): - self.instance.shutdown_net() - try: with activity.sub_activity('migrate_vm'): self.instance.migrate_vm(to_node=to_node, timeout=timeout) @@ -262,6 +258,10 @@ class MigrateOperation(InstanceOperation): self.rollback(activity) raise + # Shutdown networks + with activity.sub_activity('shutdown_net'): + self.instance.shutdown_net() + # Refresh node information self.instance.node = to_node self.instance.save()