我正在使用API来创建用于克隆vm模板的实用程序。我从install.py
示例中借用了大量代码。
在我们的部署中,我们使用本地硬盘来存储VM
图像。代码示例查找默认存储库,如果仅使用本地存储,则不存在该存储库。我查看了XAPI
引用,但我找不到列出本地存储的方法 - 这是必要的,因为我需要UUID
存储库来保存VM
图像
答案 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 repo
和cloned 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。