Ansible:virt模块XML错误

Ansible:virt模块XML错误,xml,ansible,libvirt,Xml,Ansible,Libvirt,我试图使用virt模块和XML文件定义一个VM。此任务: - name: Define VM using the XML file virt: command=define name={{ new_vm_name }} xml={{ vm_images_path }}/{{ new_vm_xml }} remote_user: root delegate_to: "{{ hyperv }}" 由于以下错误而失败: failed: [vm-

我试图使用virt模块和XML文件定义一个VM。此任务:

 - name: Define VM using the XML file
   virt: command=define
         name={{ new_vm_name }}
         xml={{ vm_images_path }}/{{ new_vm_xml }}
   remote_user: root
   delegate_to: "{{ hyperv }}"
由于以下错误而失败:

failed: [vm-002 -> nat] => {"failed": true}
msg: (domain_definition):1: Start tag expected, '<' not found
/var/lib/libvirt/images//vm-002-ver1.1.0-00042.xml

XML文件在这两种情况下都是相同的,你知道第一个失败的原因吗?我总是喜欢使用模块而不是自定义命令,所以我真的很想让第一个模块起作用

模块的
xml
参数采用xml字符串,而不是文件名

您可以通过以下方式实现您想要的:

- name: Define VM using the XML file
   virt: command=define
         name={{ new_vm_name }}
         xml={{ lookup('template', './libvirt_create_template.j2') }}
   remote_user: root
   delegate_to: "{{ hyperv }}"
您在查找中引用的文件位于Ansible control服务器上(即运行playbooks的位置)


通过使用模板查找,您可以将特定于VM的设置替换为您正在安装的VM的清单中的值。

您是否尝试引用
xml=
和/或
name=
?很抱歉@Mxx响应太晚,但没有起作用。我也犯了同样的错误!谢谢你的帮助。
- name: Define VM using the XML file
   virt: command=define
         name={{ new_vm_name }}
         xml={{ lookup('template', './libvirt_create_template.j2') }}
   remote_user: root
   delegate_to: "{{ hyperv }}"