Xenserver API - 使用本地存储创建VM?

时间:2014-01-28 11:34:00

标签: python citrix xen

我正在使用API​​来创建用于克隆vm模板的实用程序。我从install.py示例中借用了大量代码。

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

1 个答案:

答案 0 :(得分:1)

首先获取SR对象

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

然后获取要克隆的template对象

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

建议要克隆的VM的名称

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