gpt4 book ai didi

python - Libvirt:更改运行域的网络接口(interface)

转载 作者:行者123 更新时间:2023-12-01 03:32:37 24 4
gpt4 key购买 nike

Virt-Manager 能够修改正在运行的域的网络接口(interface),例如更改连接的网络。

我想使用 libvirt-API 在 python 中编写此脚本。

import libvirt
conn = libvirt.open('qemu:///system')
deb = conn.lookupByName('Testdebian')
xml = deb.XMLDesc()
xml = replace('old-network-name', 'new-network-name')
deb.undefine()
deb = conn.defineXML(xml)

但这行不通。网络没有改变。有人可以告诉我如何使用 libvirt 修改正在运行的域吗?我在文档中找不到任何相关内容。但这一定是可能的,因为 Virt-Manager 可以做到。

感谢您的帮助。

编辑:我设法通过 virsh 执行网络更改:

virsh update-device 16 Testdebian.xml

Testdebian.xml 必须仅包含接口(interface)设备,而不是整个域 XML。

但是我如何通过 libvirt-API 做到这一点?好像没有办法通过API执行update-device....

最佳答案

我终于找到了解决方案:

import libvirt
conn = libvirt.open('qemu:///system')
deb = conn.lookupByName('Testdebian')

deb.updateDeviceFlags(xml)

其中 xml 是包含设备描述的字符串。

我在 Libvirt's JavaDocs 中找到了这个,Python和C文档似乎缺少很多功能。

关于python - Libvirt:更改运行域的网络接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40700192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com