[libvirt] How to solve this problem---libvirtError: this function is not supported by the connection driver: virNWFilterDefineXML

Dear all: I am trying to deploy openstack on xen hypervisor.Since XenSever or XCP is not available on our customized virtulization platform. We decide to use libvirt on xen as a middleware operating the xen hypervisor. But when I try to boot a instance , xen failed to response and I find the error in my nova.log as follows: 2012-08-24 09:17:25 ERROR nova.compute.manager [req-4b60e9a9-680c-457b-bf93-b71fb6230245 562096602c5e41748dd568d5db0f7553 6bd4a2580bcd4bef890d7ba4da82e925] [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] Instance failed to spawn 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] Traceback (most recent call last): 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/compute/manager.py", line 592, in _spawn 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] self._legacy_nw_info(network_info), block_device_info) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/exception.py", line 114, in wrapped 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] return f(*args, **kw) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/connection.py", line 899, in spawn 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] self.firewall_driver.setup_basic_filtering(instance, network_info) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 231, in setup_basic_filtering 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] self.nwfilter.setup_basic_filtering(instance, network_info) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 102, in setup_basic_filtering 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] self._ensure_static_filters() 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 130, in _ensure_static_filters 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] 'allow-dhcp-server'])) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/nova-2012.1-py2.6.egg/nova/virt/libvirt/firewall.py", line 150, in _define_filter 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] tpool.execute(self._conn.nwfilterDefineXML, xml) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib/python2.6/site-packages/eventlet/tpool.py", line 76, in tworker 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] rv = meth(*args,**kwargs) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] File "/usr/lib64/python2.6/site-packages/libvirt.py", line 2628, in nwfilterDefineXML 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] if ret is None:raise libvirtError('virNWFilterDefineXML() failed', conn=self) 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] libvirtError: this function is not supported by the connection driver: virNWFilterDefineXML 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4] It seems that libvirt doesn't support virNWFilterDefineXML on xen,Is there any good solutions? Or how much work should be done to add this function to libvirt? I would take it into consideration seriously if I could fix this problem

On 08/23/2012 07:39 PM, Zhihong Wang wrote:
Dear all: I am trying to deploy openstack on xen hypervisor.Since XenSever or XCP is not available on our customized virtulization platform. We decide to use libvirt on xen as a middleware operating the xen hypervisor. But when I try to boot a instance , xen failed to response and I find the error in my nova.log as follows:
3645be21-9b5b-4718-9c9f-f6ba3588f7b4] libvirtError: this function is not supported by the connection driver: virNWFilterDefineXML 2012-08-24 09:17:25 TRACE nova.compute.manager [instance: 3645be21-9b5b-4718-9c9f-f6ba3588f7b4]
It seems that libvirt doesn't support virNWFilterDefineXML on xen,
Unfortunately, your analysis is correct - no one has yet contributed a patch to port NWFilter usage to the xen driver.
Is there any good solutions? Or how much work should be done to add this function to libvirt?
You could use the code in the qemu driver as a starting point, if you are interested in adding the functionality yourself. I don't use xen much myself, so I probably won't write such a patch, but I will review any patch posted by others. -- Eric Blake eblake@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
participants (2)
-
Eric Blake
-
Zhihong Wang