首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ansible: virt模块XML错误

Ansible: virt模块XML错误
EN

Stack Overflow用户
提问于 2014-09-22 15:14:11
回答 1查看 1.8K关注 0票数 4

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

代码语言:javascript
复制
 - 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 }}"

失败,并显示以下错误:

代码语言:javascript
复制
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

在此过程中:

代码语言:javascript
复制
 - name: Define VM using the XML file
   command: virsh define {{ vm_images_path }}/{{ new_vm_xml }}
   remote_user: root
   delegate_to: "{{ hyperv }}"

XML文件在两种情况下都是一样的,你知道为什么第一个失败了吗?我确实总是喜欢使用模块而不是自定义命令,所以我真的很想让第一个命令起作用。

EN

回答 1

Stack Overflow用户

发布于 2015-03-04 13:57:43

virt模块的xml参数接受XML字符串,而不是文件名。

你可以像这样实现你想要的东西:

代码语言:javascript
复制
- 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控制服务器上(即您运行剧本的位置)。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25968490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档