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()
