Dec 24, 2014

NovaException: Unexpected vif_type=binding_failed - Openstack

Some time you may face and error
"NovaException: Unexpected vif_type=binding_failed
in the compute log of nova compute node while trying to deploy a virtual machine. The detailed log is looks like below.

INFRASTRUCTURE
Centos 6.5 in All the nodes with Kernel 2.6.32-504.1.3 (64B)
Centos 6.5 in Compute node with Kernel 3.18.1 (64B). RBD module is not loaded automatically in 2.6.2, thats why i am using 3.18.1 in Compute node.
Openstack Icehouse.

TRACE nova.compute.manager [instance: 84ff8ab0-7bc1-41ac-b7a7-d5a86fceaa0e] NovaException: Unexpected vif_type=binding_failed

This is normally happens because of a wrong configuration parameter in the Layer2 plugin configuration in the Neutron node and Compute node. You can change it like below.

Edit /etc/neutron/plugins/ml2/ml2_conf.ini  on both compute and network node

Change ‘tunnel_type = gre’ to ‘tunnel_types = gre’

And Restart the services.

COMPUTE NODE
service openvswitch  restart
service neutron-openvswitch-agent restart

NEUTRON NODE
service neutron-openvswitch-agent restart
service neutron-l3-agent restart
service neutron-dhcp-agent restart
service neutron-metadata-agent restart

Everything will be fine after this. 


Dec 21, 2014


When you want to use CEPH as the backend of Openstack, you may face this error in ceph admin while MAP your newly created volume.

    ERROR: modinfo: could not find module rbd
    FATAL: Module rbd not found.
    rbd: modprobe rbd failed! (256)


This is because RBD module is not loaded in the Kernel. I have searched a lot in internet on how to enable RBD module in the Kernel. I am summarise my finding here.



CURRENT SYSTEM

COMPONENT      CINDER

OPENSTACK        ICEHOUSE

OS                       CENTOS 6.6

KERNEL              3.18.0 (64)


I had updated kernel to the latest build using the following way.

#rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org
#rpm -Uvh http://elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
#yum --enablerepo=elrepo-kernel install kernel-ml # will install 3.11.latest, stable, mainline


After finishing the installation, change the default boot kernel to newly installed one

#vim /etc/grub.cfg

Change the following 1 TO 0

default=0

Reboot the system, now you will have new kernel with 3.18.1-1

#uname -r

3.18.1-1

Try to search for RBD Module.

[root@cinder ~]# lsmod | grep rbd
rbd                    57971  0
libceph               166955  1 rbd
[root@cinder ~]#