输出两者 libevirt qos 配置对应的代码的所在位置,分析他们是否有libvirt xml 配置层面的差异。
是的,已经确定两者都支持 libvirt 的 <bandwidth> (带宽/QoS) 配置。具体代码位置如下:
-
KubeVirt (virt-launcher) :
- 结构体定义:
pkg/virt-launcher/virtwrap/api/schema.go,BandWidth、BandwidthParams - 配置生成:
pkg/virt-launcher/virtwrap/converter/network/configurator.go,DomainConfigurator.configureInterface
- 结构体定义:
-
Nova (nova-compute) :
- 结构体与生成:
nova/virt/libvirt/config.py,LibvirtConfigGuestInterface._get_bandwidth_config、to_xml()
- 结构体与生成:
对比分析:
- 两者都支持 inbound/outbound、average、peak、burst,最终生成的 libvirt XML 结构一致 (
<bandwidth>节点及其子节点)。 - 没有本质的 XML 配置层面差异,都是标准 libvirt 配置。差异仅在于实现语言和调用链不同。