openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #22336
nova calls libvirt but failed:Operation not supported
Hi all:
I use github to install nova and quantum, but when I launch an instance,
nova-compute fails:
2013-04-02 11:00:15 DEBUG [nova.openstack.common.lockutils] Released
file lock "iptables" at /var/lock/nova/nova-iptables for method "_apply"...
2013-04-02 11:00:17 ERROR [nova.compute.manager] Instance failed to spawn
Traceback (most recent call last):
File
"/usr/local/lib/python2.7/dist-packages/nova-2013.2.a89.ge9912c6-py2.7.egg/nova/compute/manager.py",
line 1069, in _spawn
block_device_info)
File
"/usr/local/lib/python2.7/dist-packages/nova-2013.2.a89.ge9912c6-py2.7.egg/nova/virt/libvirt/driver.py",
line 1520, in spawn
block_device_info)
File
"/usr/local/lib/python2.7/dist-packages/nova-2013.2.a89.ge9912c6-py2.7.egg/nova/virt/libvirt/driver.py",
line 2435, in _create_domain_and_network
domain = self._create_domain(xml, instance=instance)
File
"/usr/local/lib/python2.7/dist-packages/nova-2013.2.a89.ge9912c6-py2.7.egg/nova/virt/libvirt/driver.py",
line 2396, in _create_domain
domain.createWithFlags(launch_flags)
File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line
187, in doit
result = proxy_call(self._autowrap, f, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line
147, in proxy_call
rv = execute(f,*args,**kwargs)
File "/usr/local/lib/python2.7/dist-packages/eventlet/tpool.py", line 76,
in tworker
rv = meth(*args,**kwargs)
File "/usr/lib/python2.7/dist-packages/libvirt.py", line 581, in
createWithFlags
if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed',
dom=self)
libvirtError: Unable to add bridge br-int port tap89ed2dc0-2e: Operation
not supported
2013-04-02 11:00:17 DEBUG [nova.openstack.common.lockutils] Got
semaphore "compute_resources" for method "abort"...
2013-04-02 11:00:17 DEBUG [nova.compute.claims] Aborting claim: [Claim:
512 MB memory, 0 GB disk, 1 VCPUS]
Is it because user nova call libvirt to create a port so it has not enough
permission?
note1:I set up sudoer:
root@node1:~# cat /etc/sudoers.d/nova_sudoers
Defaults:nova !requiretty
nova ALL = (root) NOPASSWD: /usr/local/bin/nova-rootwrap
note2:I login as root, execute " ovs-vsctl add-port", and succeed.
root@node1:~# ovs-vsctl add-port br-int tap89ed2dc0-2e
root@node1:~# ovs-vsctl show
f3f4cdc0-1391-45fd-a535-1947d5aea488
Bridge "br0"
Port "eth0"
Interface "eth0"
Port "br0"
Interface "br0"
type: internal
Bridge br-int
Port br-int
Interface br-int
type: internal
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port "tap89ed2dc0-2e"
Interface "tap89ed2dc0-2e"
Bridge br-tun
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "gre-1"
Interface "gre-1"
type: gre
options: {in_key=flow, out_key=flow,
remote_ip="192.168.19.1"}
Port br-tun
Interface br-tun
type: internal
ovs_version: "1.4.0+build0"
Follow ups