I have installed OVS from sources using the installation steps mentioned on this link: http://docs.openvswitch.org/en/latest/intro/install/general/

I had installed libvrt, KVM, QEMU and all the necessary packages using apt-get. My KVM-QEMU hypervisor has been running well.

To add a VM with the port attached to OVS bridge I changed the XML domain file as per the instructions on this page: http://docs.openvswitch.org/en/latest/howto/libvirt/

But the when I start the VM using the Virtual Machine Manager I get the following error: 
Error starting domain: internal error: Unable to add port vnet0 to OVS bridge br0
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 126, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/domain.py", line 1402, in startup
    self._backend.create()
  File "/usr/lib/python2.7/dist-packages/libvirt.py", line 1035, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error: Unable to add port vnet0 to OVS bridge br0

My output for ovs-vsctl show:
3c28f516-dd5c-43cf-bea1-7c068668d1f6
    Bridge "br0"
        Port "enp0s31f6"
            Interface "enp0s31f6"
        Port "br0"
            Interface "br0"
                type: internal
    ovs_version: "2.11.90"

However, when OVS is installed using apt-get rather than installing from source or tarball, all these steps work very well.

Please guide me why this error is occurring. I am using Ubuntu 16.04 LTS as my host machine. Many users are facing this issue and they have reported it on OVS and other mailing lists. But, none is able to give a satisfactory solution.

Regards,
Harsh