<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 28 March 2016 at 05:21, N Vivekanandan <span dir="ltr"><<a href="mailto:n.vivekanandan@ericsson.com" target="_blank">n.vivekanandan@ericsson.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal">Hi Openstack Team,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We were trying to boot VMs via Openstack Nova (off Liberty release) into DPDK-enabled OVS instances.<u></u><u></u></p>
<p class="MsoNormal">Our OVS is version 2.5  + DPDK 2.2 + Qemu 2.3 + Libvirt 1.2.16.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We followed the guidelines here for installation of OVS Datapath and enable them for DPDK:<u></u><u></u></p>
<p class="MsoNormal"><a href="https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md" target="_blank">https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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.<u></u><u></u></p>
<p class="MsoNormal">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.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b>We got these set of errors in libvirtd.log whenever we booted the VMs:<u></u><u></u></b></p>
<p class="MsoNormal">2016-03-26 13:57:20.535+0000: 7354: error : virSecurityDriverLookup:80 : unsupported configuration: Security driver apparmor not enabled<u></u><u></u></p>
<p class="MsoNormal">2016-03-26 13:57:51.007+0000: 7339: error : virNetSocketReadWire:1520 : End of file while reading data: Input/output error<u></u><u></u></p>
<p class="MsoNormal">2016-03-26 13:58:36.293+0000: 7341: error : qemuMonitorOpenUnix:358 : failed to connect to monitor socket: No such process<u></u><u></u></p>
<p class="MsoNormal">2016-03-26 13:58:36.293+0000: 7341: error : qemuProcessWaitForMonitor:2113 : internal error: process exited while connecting to monitor: 2016-03-<b>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<u></u><u></u></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b><u></u> <u></u></b></p>
<p class="MsoNormal"><b>On the QEMU log:<u></u><u></u></b></p>
<p class="MsoNormal">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)<u></u><u></u></p>
<p class="MsoNormal">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 <a href="http://10.183.254.64:0" target="_blank">10.183.254.64:0</a>
 -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<u></u><u></u></p>
<p class="MsoNormal"><b>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<u></u><u></u></b></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">We verified in our setup that we have given user/group as ‘root/root’ in etc/libvirt/qemu.conf and also
<u></u><u></u></p>
<p class="MsoNormal">affirmed that our ovs-vswitchd runs as ‘root’ with DPDK enabled.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">The ‘vhuxxx’ ports are appearing in /var/lib/libvirt/qemu which is the vsock_host_dir folder that we have configured
<u></u><u></u></p>
<p class="MsoNormal">for ovs-vswitchd as well as in Nova.<u></u><u></u></p>
<p class="MsoNormal">srwxr-xr-x 1 root         root    0 Mar 26 20:12 vhu98c8f690-41<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">But QEMU is not able to complete attaching the VM to the vhostdpdkuser port.<u></u><u></u></p>
<p class="MsoNormal">We included "/var/lib/libvirt/qemu" which is the vhost_sock_dir into cgroup_device_acl as well.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">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
<u></u><u></u></p>
<p class="MsoNormal">didn’t help either.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Highly Appreciate any tips.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">--<u></u><u></u></p>
<p class="MsoNormal">Thanks,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Vivek</p></div></div></blockquote><div><br></div><div>Hello,</div><div><br></div><div>Maybe you're facing this BUG:</div><div><br></div><div>Ownership/Permissions of vhost_user sockets for openvswitch-dpdk make them unusable by libvirt/qemu/kvm:<br></div><div><a href="https://bugs.launchpad.net/ubuntu/+source/openvswitch-dpdk/+bug/1546565">https://bugs.launchpad.net/ubuntu/+source/openvswitch-dpdk/+bug/1546565</a></div><div><br></div><div>-</div><div>Thiago </div></div></div></div>