you need to install both packages on the compute nodes, and it seems the error you encounter has something to do with the missing tables from the DB (sql).
how did you install your environment?
Thanks for confirming that "openstack-neutron-ml2 and openstack-neutron-openvswitch" are required to be installed on compute node.
My query/doubt stemmed from the fact that the Mellanox ML2 guide (https://wiki.openstack.org/wiki/Mellanox-Neutron-Icehouse-Redhat) explicitly asks to install openstack-neutron-openvswitch on Network node. But, it doesn't make it explicit for the compute node. Could it be a doc bug?
I am trying to install manually by following the openstack icehouse installcation documentation:
I do not have much experience with openstack. Is there a better way to install?
I will also try to recreate/re-populate the DB.
you are right. there is a hidden assumption you are installing the basic openstack using packstack (see in the wiki).
after that, there are some additional configuration to be made.
I believe that by installing it with packstack (see prerequisites) your DB problem will be solved.
we are working on rewriting the wiki to make it better.
Thanks for clarifying. I have marked your first response as the correct answer.
I was able to make it work by re-creating and repopulating the neutron DB using this command:
su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head" neutron
It was mentioned here:
One more piece of information in this context as per Irena Berezovsky (I validated it):
"if you wish to create VMs with only SR-IOV vNICs, there is no need to install openvswitch agent on compute nodes. There is no relationship between the two agents or mechanism drivers. The openvswithc or linux bridge agent
(depends on chosed Mechanism Driver) should be installed on Network Node to enable L3 and DHCP services."