从一个 XML 文件创建多个 libvirt 卷

从一个 XML 文件创建多个 libvirt 卷

我正在使用 libvirt 的virsh vol-create命令创建多个卷。我开始使用 Jinja2 模板来帮助自动执行特定应用程序的任务。就我而言,如果我可以使用 Jinja2 的循环功能在单个 XML 文件中创建多个“<volume>”部分,这将有助于简化我的工作。然而,一般来说,XML 需要定义一个顶级标签(而不是多个相同的标签),而且无论如何这virsh vol-create都会给我一个错误:

$ virsh vol-create default volumes.xml 
error: Failed to create vol from volumes.xml
error: (storage_volume_definition):16: Extra content at the end of the document
<volume>
^

(文件内容是这里

是否可以将多个“<volume>”定义放在同一个 XML 文件中?

答案1

这不可能。我创建的一个解决方案是创建我自己的“根标记”,名为<volumeCollection>并让我自己的 XML 扫描器查找所有<volume>标记并调用virsh vol-create找到的每个标记。这是一个包装解决方案,但完成了我所需要的。

相关内容