OpenStack Icehouse error: Virtual Interface creation failed解决方法


    最近在ubuntu 14.04上通过devstack搭建OpenStack Icehouse,但是在创建instance时候报错:Virtual Interface creation failed,详细的错误可以从compute节点的log中获得(经过裁剪过的log):
  1. TRACE nova.compute.manager: Traceback (most recent call last):
  2. TRACE nova.compute.manager: File "/home/stack/nova/nova/compute/manager.py", line 1754, in _spawn
  3. TRACE nova.compute.manager: block_device_info)
  4. TRACE nova.compute.manager: File "/home/stack/nova/nova/virt/libvirt/driver.py", line 2265, in spawn
  5. TRACE nova.compute.manager: block_device_info)
  6. TRACE nova.compute.manager: File "/home/stack/nova/nova/virt/libvirt/driver.py", line 3680, in _create_domain_and_network
  7.   raise exception.VirtualInterfaceCreateException()
  8. VirtualInterfaceCreateException: Virtual Interface creation failed
    主要问题就是在创建instance的virtual interface的时候产生了exception导致create instance的流程失败。
    网上可以搜到一些解决方法,比如修改neutron.conf配置文件,将nova_url = http://127.0.0.1:8774改为nova_url = http://127.0.0.1:8774/v2,其实这些bug在master分支中已经被fixed掉了。
    
    解决方法: 修改nova.conf配置文件,将如下两个配置项改为
  1. vif_plugging_timeout = 10
  2. vif_plugging_is_fatal = False
    简单分析了下源码,导致此问题的原因应该是近期这次commit: Change I41771244: Notify nova when ports are ready,即增加了neutron会在port ready之后向nova发送一个event,通知nova请求的port已经创建好。此feature的具体内容参见:https://review.openstack.org/#/c/75253/
   但是具体的原因还没有分析清楚,在这里也恳请网络大牛不吝赐教。

   另外,ubuntu 14.04的官方源中已经默认支持了openstack icehouse,不需添加额外的源,而且ovs也采用了2.0的版本,部署过程很顺利,还是不错的。


---------------------------------------------------
微博:@Marshal-Liu
Email: ustcdylan@gmail.com
         欢迎交流!
 
-------------------------------------------------    

相关内容