nova修改libvirt.xml及自定义xml文件修改nova代码支持vhost

<interface type='bridge'>
<mac address='00:1a:4a:4d:63:a0'/>
<source bridge='sdcos-vmnet'/>
<model type='virtio'/>
<filterref filter='vdsm-no-mac-spoofing'/>
<link state='up'/>
<bandwidth>
</bandwidth>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
<driver name='qemu'/>
</interface>

<interface type="bridge">
<mac address="fa:16:3e:ea:69:50"/>
<model type="virtio"/>
<source bridge="qbr3bcc4870-b3"/>
<target dev="tap3bcc4870-b3"/>
<driver name='qemu'/> #加上配置文件,则启动的虚拟机参数中就会有vhost=off
def get_config(self,instance,vif,image_Meta,inst_type):
conf = vconfig.LibvirtConfigGuestInterface()
# Default to letting libvirt / the hypervisor choose the model
model = None
driver = None
# If the user has specified a 'vif_model' against the
# image then honour that model
if image_Meta:
vif_model = image_Meta.get('properties',
{}).get('hw_vif_model')
if vif_model is not None:
model = vif_model
# Else if the virt type is KVM/QEMU,use virtio according
# to the global config parameter
if (model is None and
CONF.libvirt.virt_type in ('kvm','qemu') and
CONF.libvirt.use_virtio_for_bridges):
model = "virtio"
# Workaround libvirt bug,where it mistakenly
# enables vhost mode,even for non-KVM guests
if model == "virtio" and CONF.libvirt.virt_type == "qemu":
driver = "qemu"

修改为:
if model == "virtio" and CONF.libvirt.virt_type == "qemu":
driver = "qemu"
driver = "qemu"//增加此句,代表永远为qemu

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念