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

改好的效果

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全华班

SpringBoot学习手册-第一篇开篇(注解篇)

一、SpringBoot是什么 springBoot框架。前段一个月时间我简单总结了一下在学习springcloud中遇到的一些知识点。从今天开始...

3575
来自专栏IT笔记

SpringBoot开发案例之整合日志管理

有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。 ? 00.jpg 概述 参考文档:Logging 这里顺便引用以下部分原文...

5088
来自专栏开发与安全

linux系统编程之文件与I/O(五):文件的内核结构file和dup实现重定向

一、打开文件内核数据结构 1、一个进程打开两个文件 ? 文件状态标志:读、写、追加、同步、非阻塞等 2、一个进程两次打开同一文件 ? 3、两个进程打开同一文...

2269
来自专栏专注研发

jetty服务器原理与maven集成

https://www.ibm.com/developerworks/cn/java/j-lo-jetty/

1933
来自专栏郭少华

Spring Boot 日志(八)

Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4...

4764
来自专栏Linyb极客之路

hazelcast初探

Hazelcast作为一个高度可扩展的数据分发和集群平台,提供了高效的、可扩展的分布式数据存储、数据缓存。Hazelcast是开源的,在分布式技术方面,Haze...

2596
来自专栏Hadoop实操

LDAP用户组信息异常导致Sentry授权失效问题分析

问题起因:“80040151”用户反映在Hue上通过Hive查询表数据出现异常,异常信息为权限拒绝,需要通过Sentry授权。然而通过beeline直连Hive...

3083
来自专栏IT笔记

SpringBoot开发案例之整合日志管理

有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。

4958
来自专栏JMCui

Netty 系列二(传输).

    上一篇文章我们提到 Netty 的核心组件是 Channel、回调、Future、ChannelHandler、EventLoop,这篇文章主要是对 C...

1612
来自专栏BaronTalk

写给 Android 应用工程师的 Binder 原理剖析

这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔。生怕自己理解上还有偏差,对大家造成误解,贻笑大方。又怕自己理解不够透彻,无法用清晰直白的文字...

59410

扫码关注云+社区

领取腾讯云代金券