OpenStack源码交流群: 538850354
系统环境:
centos6.5 + icehouse多节点部署
问题描述:
使用测试镜像cirros,虚拟机实例可以正常启动,但是不能从IP池中获取IP地址,即DHCP功能不可用
1.首先要检查节点各项服务,以及agent是否启动正常
shell> nova-manage service list
Binary Host Zone Status State Updated_At nova-consoleauth controller internal enabled :-) 2014-11-18 09:23:48 nova-cert controller internal enabled :-) 2014-11-18 09:23:49 nova-conductor controller internal enabled :-) 2014-11-18 09:23:51 nova-scheduler controller internal enabled :-) 2014-11-18 09:23:49 nova-compute network nova enabled XXX 2014-11-13 02:56:41 nova-compute computer nova enabled :-) 2014-11-18 09:23:45
2.检查agent
shell> neutron agent-list
+--------------------------------------+--------------------+------------+-------+----------------+ | id | agent_type | host | alive | admin_state_up | +--------------------------------------+--------------------+------------+-------+----------------+ | 22f6a13a-55a1-4474-a836-62fa9803fe71 | Metadata agent | controller | :-) | True | | bb982be7-1e32-4660-9c7a-d538ed4212a0 | Open vSwitch agent | network | :-) | True | | d96fa846-ff1a-44d0-8e46-2388a2b62a3a | Metadata agent | network | :-) | True | | e2fccee2-1e2e-4e15-b58e-d672da7007cc | L3 agent | network | :-) | True | | e9dd9400-9d2f-4f91-b60e-fa2704cb35b3 | DHCP agent | network | :-) | True | | fd110565-cbf6-4c6b-9984-4c6e2108fc9f | Open vSwitch agent | computer | :-) | True | +--------------------------------------+--------------------+------------+-------+----------------+
注:alive看到XXX说明服务不正常,一种可能原因是各节点时间不同步
3.上述两项服务都正常,实例还是分配不到IP地址,查看一下dhcp-agent日志
shell> tail -f dhcp-agent.log 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent raise RuntimeError(m) 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent RuntimeError: 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Command: ['ip', '-o', 'netns', 'list'] 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Exit code: 255 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Stdout: '' 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent Stderr: 'Object "netns" is unknown, try "ip help".\n' 2014-11-18 11:11:47.831 1959 TRACE neutron.agent.dhcp_agent 2014-11-18 11:11:47.833 1959 INFO neutron.agent.dhcp_agent [-] Synchronizing state complete #错误提示:Stderr: 'Object "netns" is unknown
4.解决办法:
网络节点中yum安装iproute软件包
shell> yum install iproute