错误: 创建实例 "RuiyTest23" 失败: 请稍后再试 [错误: Virtual Interface creation failed].
最近在centos6.4上通过devstack搭建OpenStack Icehouse,但是在创建instance时候报错:Virtual Interface creation failed,详细的错误可以从compute节点的log中获得(经过裁剪过的log):
- TRACE nova.compute.manager: Traceback (most recent call last):
- TRACE nova.compute.manager: File "/home/stack/nova/nova/compute/manager.py", line 1754, in _spawn
- TRACE nova.compute.manager: block_device_info)
- TRACE nova.compute.manager: File "/home/stack/nova/nova/virt/libvirt/driver.py", line 2265, in spawn
- TRACE nova.compute.manager: block_device_info)
- TRACE nova.compute.manager: File "/home/stack/nova/nova/virt/libvirt/driver.py", line 3680, in _create_domain_and_network
- raise exception.VirtualInterfaceCreateException()
- 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配置文件,将如下两个配置项改为
- vif_plugging_timeout = 10
- 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的版本,部署过程很顺利,还是不错的。