如何通过libvirt模块将接口热插拔到python中正在运行的来宾域?

时间:2016-10-07 06:09:01

标签: python libvirt

场景:我正在使用python libvirt模块开发centos 7。我在centos 7中运行来宾域。现在我想使用python脚本将接口附加到此来宾域。最初没有连接到来宾域的接口。来宾域的XML文件不包含任何接口标记和所有。

使用shell命令我能够附加接口。我在说这个

virsh detach-interface --domain link01 --type bridge --mac 96:5c:34:c0:5d:09 --persistent

python脚本中的

命令用于附加接口并且已成功附加 如何在python中实现这一点?

任何与此相关的建议都会有很大的帮助!

1 个答案:

答案 0 :(得分:1)

libvirt.virDomain中有两个执行设备附件的功能:

attachDevice(xml)
attachDeviceFlags(xml, flags=0)

有关详细信息,请参阅其文档。 您可以从域的配置中获取预定义的接口节作为示例,并且应省略或编辑“address”和“mac”标记以避免冲突。

#generate or read your xml
import libvirt
conn = libvirt.open(name)
domain = conn.lookupByName(domain_name)
domain.attachDeviceFlags(xml, libvirt.VIR_DOMAIN_AFFECT_LIVE)
#or
domain.attachDevice(xml)