Hi Openstack Team,

We were trying to boot VMs via Openstack Nova (off Liberty release) into 
DPDK-enabled OVS instances.
Our OVS is version 2.5  + DPDK 2.2 + Qemu 2.3 + Libvirt 1.2.16.

We followed the guidelines here for installation of OVS Datapath and enable 
them for DPDK:
https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md

Howeve,r we were not able to get the VMs booted successfully via Nova.   When 
we attempted to boot the VMs , they went into error state.
The vhostdpdkuser ports got created in the OVS-DPDK instance, but Libvirt 
Driver invoked by Nova, could not successfully attach this port to the VM.

We got these set of errors in libvirtd.log whenever we booted the VMs:
2016-03-26 13:57:20.535+0000: 7354: error : virSecurityDriverLookup:80 : 
unsupported configuration: Security driver apparmor not enabled
2016-03-26 13:57:51.007+0000: 7339: error : virNetSocketReadWire:1520 : End of 
file while reading data: Input/output error
2016-03-26 13:58:36.293+0000: 7341: error : qemuMonitorOpenUnix:358 : failed to 
connect to monitor socket: No such process
2016-03-26 13:58:36.293+0000: 7341: error : qemuProcessWaitForMonitor:2113 : 
internal error: process exited while connecting to monitor: 
2016-03-26T13:58:36.235874Z qemu-system-x86_64: -chardev 
socket,id=charnet0,path=/var/lib/libvirt/qemu/vhu189ade8e-3b: Failed to connect 
socket: Permission denied


On the QEMU log:
2016-03-26 13:58:35.479+0000: starting up libvirt version: 1.2.16, package: 
1.2.16-2ubuntu11.15.10.4~cloud0, qemu version: 2.3.0 (Debian 
1:2.3+dfsg-5ubuntu9.2~cloud0)
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin 
QEMU_AUDIO_DRV=none /usr/bin/kvm-spice -name instance-0000000c -S -machine 
pc-i440fx-vivid,accel=kvm,usb=off -m 512 -realtime mlock=off -smp 
1,sockets=1,cores=1,threads=1 -uuid dbe34ace-960e-4915-884a-5a30b8ec896d 
-smbios type=1,manufacturer=OpenStack Foundation,product=OpenStack 
Nova,version=12.0.3,serial=00000000-0000-0000-0000-002590883f20,uuid=dbe34ace-960e-4915-884a-5a30b8ec896d,family=Virtual
 Machine -no-user-config -nodefaults -chardev 
socket,id=charmonitor,path=/var/lib/libvirt/qemu/instance-0000000c.monitor,server,nowait
 -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew 
-global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -boot strict=on 
-kernel 
/opt/stack/data/nova/instances/dbe34ace-960e-4915-884a-5a30b8ec896d/kernel 
-initrd 
/opt/stack/data/nova/instances/dbe34ace-960e-4915-884a-5a30b8ec896d/ramdisk 
-append root=/dev/vda console=tty0 console=ttyS0 -device 
piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive 
file=/opt/stack/data/nova/instances/dbe34ace-960e-4915-884a-5a30b8ec896d/disk,if=none,id=drive-virtio-disk0,format=qcow2,cache=none
 -device 
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
 -drive 
file=/opt/stack/data/nova/instances/dbe34ace-960e-4915-884a-5a30b8ec896d/disk.config,if=none,id=drive-ide0-1-1,readonly=on,format=raw,cache=none
 -device ide-cd,bus=ide.1,unit=1,drive=drive-ide0-1-1,id=ide0-1-1 -chardev 
socket,id=charnet0,path=/var/lib/libvirt/qemu/vhu189ade8e-3b -netdev 
type=vhost-user,id=hostnet0,chardev=charnet0 -device 
virtio-net-pci,netdev=hostnet0,id=net0,mac=fa:16:3e:bd:cb:d6,bus=pci.0,addr=0x3 
-chardev 
file,id=charserial0,path=/opt/stack/data/nova/instances/dbe34ace-960e-4915-884a-5a30b8ec896d/console.log
 -device isa-serial,chardev=charserial0,id=serial0 -chardev pty,id=charserial1 
-device isa-serial,chardev=charserial1,id=serial1 -vnc 10.183.254.64:0 -k en-us 
-device cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device 
virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -msg timestamp=on
2016-03-26T13:58:36.235874Z qemu-system-x86_64: -chardev 
socket,id=charnet0,path=/var/lib/libvirt/qemu/vhu189ade8e-3b: Failed to connect 
socket: Permission denied

We verified in our setup that we have given user/group as 'root/root' in 
etc/libvirt/qemu.conf and also
affirmed that our ovs-vswitchd runs as 'root' with DPDK enabled.

The 'vhuxxx' ports are appearing in /var/lib/libvirt/qemu which is the 
vsock_host_dir folder that we have configured
for ovs-vswitchd as well as in Nova.
srwxr-xr-x 1 root         root    0 Mar 26 20:12 vhu98c8f690-41

But QEMU is not able to complete attaching the VM to the vhostdpdkuser port.
We included "/var/lib/libvirt/qemu" which is the vhost_sock_dir into 
cgroup_device_acl as well.

And we also tried to put 'security_driver' to 'None' in qemu.conf to see if 
that helps (just to remove any bearing on SELinux (or) apparmor), but that
didn't help either.

Highly Appreciate any tips.

--
Thanks,

Vivek

_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : [email protected]
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack

Reply via email to