2014-01-28 51 views
0

我正在使用API​​来创建一个克隆虚拟机模板的实用程序。我借用了很多来自install.py示例的代码。Xenserver API - 使用本地存储创建虚拟机?

在我们的部署中,我们使用本地硬盘来存储​​图像。该代码示例查找默认存储库,如果仅使用本地存储,则该存储库不存在。我查看了XAPI参考资料,找不到任何方法列出本地存储 - 这是必要的,因为我需要存储库的UUID以将​​图像保存到。

+0

你应该清楚地指出你的问题。你想知道什么? –

+0

我在问如何使用XenServer API将本地存储而不是共享存储库指定为虚拟机的克隆目标。 –

回答

1

首先获得SR对象

sr_ref = self.session.xenapi.SR.get_by_uuid(local_storage_uuid) 

然后得到你想要克隆

template = self.session.xenapi.VM.get_by_uuid(template_uuid) 

template对象建议将被克隆的虚拟机的名称

vm_id = "Test_Cone_VM" 

现在如果你的template repocloned VM repo是相同的,然后使用Async.VM.clone。而如果回购不同,则使用Async.VM.copy

self.session.xenapi.Async.VM.copy(template, vm_id, sr_ref) 

self.session.xenapi.Async.VM.clone(template, vm_id) 

看一看在Xenserver API以获得更多信息。

相关问题