openstack nova-network 的小bug的排错经历

环境是 nova-network +vmware+flatdhcp

错误表现为 开出来的虚拟机有一定几率获取不到dhcp地址,手工赋予ip则正常,用flat模式注入的ip正常,下面是排错过程

1首先找网络

防火墙已经把 dnsmasq对应的端口已经打开

抓包结果:

可以看到虚拟机dhcp 已经发到br100上面,但是br100 没有返回,基本可以排除网络原因

2 找dhcp 原因

首先kill掉 nova启动的 dnsmasq进程,手工去启一个dnsmasq,虚拟机是正常的。

其次 查看 dnsmasq 的日志

有如下 报错

Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 3 of /var/lib/nova/networks/nova-br100.conf

Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 4 of /var/lib/nova/networks/nova-br100.conf

Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 7 of /var/lib/nova/networks/nova-br100.conf

Sep 12 08:32:31 centos-6568 dnsmasq[1947]: bad DHCP host name at line 8 of /var/lib/nova/networks/nova-br100.conf

Sep 12 08:44:41 centos-6568 dnsmasq-dhcp[1947]: DHCPDISCOVER(br100) fa:16:3e:4e:70:42 no address available

谷歌一下,很多人这个问题,但是没解决方案

于是看了下这个这个文件,再对比下同样的环境,使用neutron的文件截图如下

一眼可以看出 出错的行都是hostname 以数字开头的。

知道原因了,在开两台虚拟机 一台以数字开头 一台字母开头 一对比 果然是这个原因:

nova-network +vmware+flatdhcp

这个环境下 nova-network是直接把虚拟机的hostname写进dnsmasq的列表中,但是dnsmaqs不认数字开头的hostname

解决办法: 修改源代码中 这条dhcp插入的方法

vim /usr/lib/python2.7/site-packages/nova/network/linux_net.py

改好的效果

时间: 2024-10-05 04:28:35

openstack nova-network 的小bug的排错经历的相关文章

Openstack Nova network

对于安装设置来说,Openstack就剩下网络这个地方比较复杂. 我的网络水平,也就是只能吧家里的路由器跑起来.所以这个东西对我来说就是有点超出我的能力范围. 现在比较喜欢看图 整理了一下网络的资料 1:Nova 网络HA http://unchainyourbrain.com/openstack/13-networking-in-nova :2:Rackspace推荐的设计架构,这个设计,其实我们上线是可以考虑的. http://www.referencearchitecture.org/ne

申请openstack社区账户和提交bug流程

一.註冊帳號 1.注册Launchpad账户,在国内统一经过launchpad账户关联到openId,BTW在社区中也可以使用注册的email登入 2.设置OpenPGP 密钥,访问 https://launchpad.net/~openId 我的openId帳號是t09sunny,那要訪問的頁面就是 https://launchpad.net/~t09sunny 開啟畫面如下圖所示: 點標黃部分右邊的小筆就可以編輯OpenPGP,點開后裡面有詳細的密钥的設置流程 3.設置Gerrit的SSH賬

Openstack Nova 二次开发之Nova-extend服务实现并启动验证

 Openstack Nova 二次开发之Nova-extend service 扩展 主要是讲如何启动openstack nova-extend services,该服务用于Openstack 二次扩展及部分需求开发,例如 ,节点巡检,动态迁移(基于FUSE 文件系统实现,分布式系统,如MooseFS),文件注入,Nova 服务的自身修复,instances IO 控制,instances CPU 隔离技术实现等其他需求开发 第一章:如何create openstack nova-extend

OpenStack nova VM migration (live and cold) call flow

OpenStack nova compute supports two flavors of Virtual Machine (VM) migration: Cold migration -- migration of a VM which requires the VM to be powered off during the migrate operation during which time the VM is inaccessible. Hot or live migration --

[转] OpenStack — nova image-create, under the hood

I was trying to understand what kind of image nova image-create creates. It's not entirely obvious from its help output, which says - Creates a new image by taking a snapshot of a running server. But what kind of snapshot? let's figure. nova image-cr

深挖Openstack Nova - Scheduler调度策略

深挖Openstack Nova - Scheduler调度策略 一.  Scheduler的作用就是在创建实例(instance)时,为实例选择出合适的主机(host).这个过程分两步:过滤(Fliter)和计算权值(Weight) 1. 过滤: 过滤掉不符合我们的要求,或镜像要求(比如物理节点不支持64bit,物理节点不支持Vmware EXi等)的主机,留下符合过滤算法的主机集合. 2. 计算权值 通过指定的权值计算算法,计算在某物理节点上申请这个虚机所必须的消耗cost.物理节点越不适合

openstack nova neutron cinder节点安装

#关闭selinux.防火墙 systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd --state sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config grep --color=a

【ASP.net控件】DropDownList数据绑定一个小bug

绑定数据出现这种情况,明明在第一项插入了一条数据,却始终在DropDownList中没有显示出来. 代码如下: if (!IsPostBack) { //绑定城市 DataTable dtCity = new HighSearch().GetCitySelect(); DropDownList1.DataSource = dtCity; DropDownList1.DataValueField = "citycode"; DropDownList1.DataTextField = &q

ShardedJedisPool 中可用连接数的小bug

ShardedJedisPool中,returnBrokenResource() 及 returnResource() ,为施放资源.关闭连接的方法,若重复调用,导致 _numActive 当前活动数一直递减,会出现负数的情况. 假如在一个方法中设置了三个jedis连接,在获取第一或第二个连接时出现异常,在抛出异常或者finally中总是施放这三个资源,会导致池中的连接连续施放三次,从而变成负数. 这样会出现连接池最大连接数配置无效的情况. 以下片段代码: public class RedisU