OpensStack instance debug

错误: 创建实例 "RuiyTest23" 失败: 请稍后再试 [错误: Virtual Interface creation failed].

最近在centos6.4上通过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的版本,部署过程很顺利,还是不错的。

时间: 2024-08-25 16:51:21

OpensStack instance debug的相关文章

多线程的常见用法详解 --转载

1.多线程:使用多个处理句柄同时对多个任务进行控制处理的一种技术.据博主的理解,多线程就是该应用的主线程任命其他多个线程去协助它完成需要的功能,并且主线程和协助线程是完全独立进行的.不知道这样说好不好理解,后面慢慢在使用中会有更加详细的讲解. 2.多线程的使用: (1)最简单.最原始的使用方法:Thread oGetArgThread = new Thread(new ThreadStart(() =>{});这种用法应该大多数人都使用过,参数为一个ThreadStart类型的委托.将Threa

实例教程Unity3D单例模式(一)通经常使使用方法

unity3d教程 中的单例模式通经常使使用方法 通经常使使用方法是在相关类增加GetInstance()的静态方法,检查实例是否存在.假设存在,则返回.假设不存在.则返回一个"须要用游戏元素类关联"的调试警告错误. public class MyClass { private static MyClass instance; public static MyClass GetInstance() { if (!instance) { instance = GameObject.Fin

C#基础系列——多线程的常见用法详解

前言:前面几节分别介绍了下C#基础技术中的反射.特性.泛型.序列化.扩展方法.Linq to Xml等,这篇跟着来介绍下C#的另一基础技术的使用.最近项目有点紧张,所以准备也不是特别充分.此篇就主要从博主使用过的几种多线程的用法从应用层面大概介绍下.文中观点都是博主个人的理解,如果有不对的地方望大家指正~~ 1.多线程:使用多个处理句柄同时对多个任务进行控制处理的一种技术.据博主的理解,多线程就是该应用的主线程任命其他多个线程去协助它完成需要的功能,并且主线程和协助线程是完全独立进行的.不知道这

Linq to Xml读取复杂xml(带命名空间)

前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C#项目调用不知道是什么语言写的一个WebService,然后添加服务引用总是失败,通过代理的方式动态调用也总是报错,最后没办法,通过发送原始的WebRequest请求直接得到对方返回的一个xml文件.注意过webservice的wsdl文件的朋友应该知道这个是系统生成的xml文件,有点复杂,研究了半

多线程的常见用法详解

前言:此篇就主要从博主使用过的几种多线程的用法从应用层面大概介绍下.文中观点都是博主个人的理解,如果有不对的地方望大家指正~~ 1.多线程:使用多个处理句柄同时对多个任务进行控制处理的一种技术.据博主的理解,多线程就是该应用的主线程任命其他多个线程去协助它完成需要的功能,并且主线程和协助线程是完全独立进行的.不知道这样说好不好理解,后面慢慢在使用中会有更加详细的讲解. 2.多线程的使用: (1)最简单.最原始的使用方法:Thread oGetArgThread = new Thread(new

Log4.net使用配置

开发中经常使用到日志记录功能,Log4.net可以将日志记录到文件中,也可以记录到数据库中,使用非常方便,之前也一直在用,最近也参照了一下网上的资料,想简单总结一下 本文重在通过通用日志类来使用Log4.net, 至于如何配置Log4.Net节点,网上的资料很多,这里没有提到 1.首先创建一个Log4.Net的公共操作类 /// <summary> /// log4net日志专用 /// </summary> public class LogHelper { private sta

C#基础系列——多线程的常见用法

前言:前面几节分别介绍了下C#基础技术中的反射.特性.泛型.序列化.扩展方法.Linq to Xml等,这篇跟着来介绍下C#的另一基础技术的使用.最近项目有点紧张,所以准备也不是特别充分.此篇就主要从博主使用过的几种多线程的用法从应用层面大概介绍下.文中观点都是博主个人的理解,如果有不对的地方望大家指正~~ 1.多线程:使用多个处理句柄同时对多个任务进行控制处理的一种技术.据博主的理解,多线程就是该应用的主线程任命其他多个线程去协助它完成需要的功能,并且主线程和协助线程是完全独立进行的.不知道这

linq 解析 带命名空间的xml

前言:xml的操作方式有多种,但要论使用频繁程度,博主用得最多的还是Linq to xml的方式,觉得它使用起来很方便,就用那么几个方法就能完成简单xml的读写.之前做的一个项目有一个很变态的需求:C#项目调用不知道是什么语言写的一个WebService,然后添加服务引用总是失败,通过代理的方式动态调用也总是报错,最后没办法,通过发送原始的WebRequest请求直接得到对方返回的一个xml文件.注意过webservice的wsdl文件的朋友应该知道这个是系统生成的xml文件,有点复杂,研究了半

在Intellij IDEA中使用Debug

Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码. 所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容: 一.Debug开篇 二.基本用法&快捷键 三.变量查看 四.计算表达式 五.智能步入 六.断点条件设置 七.多线程调试 八.回退断点 九.中断Debug 十.附:JRebel激活 一.Debug开篇 首先