WIP一些openstack bug记录(by quqi99)

作者:张华  发表于:2015-05-07
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明

http://blog.csdn.net/quqi99 )

一,为什么虚机ping不通虚拟所在的tap设

一种可能是虚机的MAC地址和其他的重复了,可使用arp命令查看。
第二种可能就是ebtables, 可使用ebtables -t nat -L命令检查。
# ebtables -t nat -L
Bridge table: nat
Bridge chain: PREROUTING, entries: 1, policy: ACCEPT
-i tapc8f2fe4d-7f -j libvirt-I-tapc8f2fe4d-7f
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
Bridge chain: POSTROUTING, entries: 1, policy: ACCEPT
-o tapc8f2fe4d-7f -j libvirt-O-tapc8f2fe4d-7f
Bridge chain: libvirt-I-tapc8f2fe4d-7f, entries: 1, policy: ACCEPT
-j DROP
Bridge chain: libvirt-O-tapc8f2fe4d-7f, entries: 1, policy: ACCEPT
-j DROP
显然上述的ebtables是由下列的libvirt配置($nova/virt/libvirt/firewall.py)所加(位于/etc/libvirt/nwfilter/目录, 可用virsh nwfilter-list命令查看):
<filterref filter='nova-instance-instance-00000010-fa163ea2e6b8'/>


这是因为没有设置使用neutron security group, 也没有禁止nova security group(在nova.conf中设置firewall_driver = nova.virt.firewall.NoopFirewallDriver), 

这样nova用了默认的iptable firewall driver,而这个驱动刚好又很弱,它使用了libvirt nwfilter做了上面的事情,还因为弱没法做到想用nova security group的功能的同时又禁用掉nwfilter, 见[1], [2].


[1], https://answers.launchpad.net/nova/+question/156184
[2], https://answers.launchpad.net/nova/+question/234365



二,在Icehouse版本上nova evaluate失败后将虚机硬件给删除了
1, 首先是这个bug, nova evaluate时应该设置recreate=true让它不要删除老的虚机,这个patch进入了Icehouse后一些的版本。
   https://git.openstack.org/cgit/openstack/nova/commit/?id=3de3f1066fa47312b8c3075abf790631034d67a3
2, 使用nova evaluate迁移到另外一个host时没有更新binding:host_id从而导致虚机的port无法建立抛 VirtualInterfaceCreateException然后把虚机给删除了。使用vif_plugging_is_fatal = false && vif_plugging_timeout = 10 作为workaround
   https://answers.launchpad.net/ubuntu/+source/nova/+question/257358
3, 对于上面在nova evaluate下的port binding问题仍然无法解决(虽然有patch, https://review.openstack.org/#/c/169827/ , 但不容易backport到icehouose),但可以使用nova migration作为workaround,因为nova migration会最终调用migrate_instance_finish去更新port binding (port_req_body = {'port': {'binding:host_id': migration['dest_compute']}}).
$ nova evacuate --on-shared-storage <instance> <target_host>
$ nova migrate <instance>
$ nova confirm-resize <instance>

更多相关文章
  • 容器是数据中心创新领域最热门的潮流,尽管不是参与讨论的每个人都能准确地阐明具体原因.如果你想知道容器是不是适合自己的数据中心战略,或者如果你知道容器适合数据中心战略,但需要有法子向同行解释容器,那么这篇指南正适合你. 从最基本的层面上来讲,容器让你可以将更多的计算工作负载塞入到单单一台服务器上,并且 ...
  • 首先分享一个最佳实践: 大家开发复杂一些的Android应用的时候常常会写一个BaseActivity或者BaseFragment,里面写上一些基本而公用的方法,比如监听网络状况.弹出对话框.设置actionbar等,然后实现业务的Activity或者Fragment继承自这个基类.这样子可以大幅度 ...
  • 有时候我们会突然发现自己的项目正在走向注定的死亡.下面这些迹象可以让你提早发现项目失败的趋势. 在数月内三次更改项目名称. 项目经理决定,与其写一个国际化的单一版本还不如针对某个国家写一个完全独立的版本. 需求定义发布于开发工作开展 4 个月后. 新聘请的R&D主管纸上谈兵地表示,该项目将比 ...
  • http://edu.51cto.com/course/course_id-379-page-1.html http://edu.51cto.com/course/course_id-379-page-2.html 课时目录 共13课时 1第一章 Linux设备驱动模型[可试看]60分钟 1.1 L ...
  • 点击查看:MWC2014专题报道 易网科技讯 2月24日消息,诺基亚CEO埃洛普在MWC上发布了两款功能机Nokia 220及 Asha 230,Nokia 220支持2G网络,待机长达一个月,售价仅为243元,埃洛普称其为"史上最便宜的上网手机".而搭载新版Asha平台的触屏机 ...
  • 1.队列的链表表示 #include "LinkList.h"   template<class T> class LinkQueue { private: LinkList<T> m_pList; public: void EnQue(T val){m_ ...
一周排行
  • 点击打开杭电2094 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则如下: 如果A打败了B,B又打败了C,而A与C之间没有进行过比赛,那么就认定 ...
  •   1.最简洁的方法   使用类   android.provider.ContactsContract.CommonDataKinds.Phone;  代码如下:   Cursor c = getContentRe ...
  • 易网科技专栏作者 史蒂夫·哈蒙 苹果以2亿美元收购移动搜索公司Siri. 今年早些时候我曾预测移动战争即将在谷歌.苹果和微软间展开.果不其然,iPhone.Android和 Windows Mobile纷纷作出重大举 ...
  •     USHORT checksum (USHORT *buffer,int size)    {        Unsigned long cksum=0;        While (size>1)    ...
  • 这些天来“绿坝”引起了激烈的争论,而且愈演愈烈.不巧今天央视又来了一个大手笔,对Google进行了强烈“谴责”,一分钟的新闻联播加上焦点访谈,直接将谷歌送到了争论的浪尖上. 自从政府对色情网站进行一次一次的打击之后, ...
  • http://www.csdn.net/article/4/2814128  2013大数据  http://www.csdn.net/article/5/2814135-bigd ...
  • AIX 安装 RAC 无法发现节点(再续) 在节点上运行root.sh 时,出现以下错误: [[email protected] /]#/u01/crs_1/root.sh WARNING: directory '/u01' i ...
  • 转自:http://www.cnblogs.com/hoojo/archive/2011/07/21/2112559.html SQL Server 数据库设计      一.数据库设计的必要性      二.什么是 ...
  • 外星生命肯定是有的,因为C,H,O,N四种死党元素,外加一些微量元素(硫磷钙铁等),就构成了生命所需的基本元素,而这些元素在宇宙中虽然不是普遍存在,但存在确实比较普遍,在更高层次上的所谓生命有机分子--氨基酸,在很多 ...
  • ,不过在linux下安装readline-6.2.4.1的时候却报了下面2个错.(环境是centos6.2,python2.7) wget https://pypi.python.org/packages/sourc ...