Repository: libcloud
Updated Branches:
  refs/heads/trunk 106846bf6 -> 9f0178984


Add ex_migrate_node method to the vSphere driver.


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/a8346b05
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/a8346b05
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/a8346b05

Branch: refs/heads/trunk
Commit: a8346b056ca8930f681880204775fc486be6eca0
Parents: 106846b
Author: Tomaz Muraus <[email protected]>
Authored: Thu Jul 31 12:58:05 2014 +0200
Committer: Tomaz Muraus <[email protected]>
Committed: Thu Jul 31 12:58:05 2014 +0200

----------------------------------------------------------------------
 libcloud/compute/drivers/vsphere.py | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/a8346b05/libcloud/compute/drivers/vsphere.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/vsphere.py 
b/libcloud/compute/drivers/vsphere.py
index da40ba9..abf449f 100644
--- a/libcloud/compute/drivers/vsphere.py
+++ b/libcloud/compute/drivers/vsphere.py
@@ -175,6 +175,7 @@ class VSphereNodeDriver(NodeDriver):
         return nodes
 
     @wrap_non_libcloud_exceptions
+    @wrap_non_libcloud_exceptions
     def ex_clone_node(self, node, name, power_on=True, template=False):
         """
         Clone the provided node.
@@ -202,6 +203,34 @@ class VSphereNodeDriver(NodeDriver):
         return new_node
 
     @wrap_non_libcloud_exceptions
+    def ex_migrate_node(self, node, resource_pool=None, host=None,
+                        priority='default'):
+        """
+        Migrate provided node to a new host or resource pool.
+
+        :param node: Node to clone.
+        :type node: :class:`Node`
+
+        :param resource_pool: ID of the target resource pool to migrate the
+                              node into.
+        :type resource_pool: ``str``
+
+        :param host: Target host to migrate the host to.
+        :type host: ``str``
+
+        :param priority: Migration task priority. Possible values: default,
+                         high, low.
+        :type priority: ``str``
+
+        :return: True on success.
+        :rtype: ``bool``
+        """
+        vm = self._get_vm_for_node(node=node)
+        vm.migrate(priority=priority, resource_pool=resource_pool, host=host)
+
+        return True
+
+    @wrap_non_libcloud_exceptions
     def reboot_node(self, node):
         vm = self._get_vm_for_node(node=node)
         vm.reset()

Reply via email to