部署OpenStack问题汇总(四)--openstack中nova-compute状态status显示为'XXX'的问题

本博客已经添加"打赏"功能,"打赏"位置位于右边栏红色框中,感谢您赞助的咖啡.

第一次部署openstack的时候就遇见了这个问题,当时的版本是havana,

现在部署essex的时候又遇到了这个问题,经过一番折腾,解决了这个问题,记录下来,以免以后忘记。

===========================================================

 

1.查看/var/log/nova/nova-compute.log文件其中出现了这样的情况:

Domain not found: no domain with matching name 'instance-00000008'

2.备份文档/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py为commection.py.bak

3.编辑/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py

找到这么一行:virt_dom = self._conn.lookupByName(instance['name'])

然后删除这一行

在在删除的位置添加:

# NOTE: In case of no domain up try: virt_dom = self._conn.lookupByName(instance['name']) except Exception, e: virt_dom = None

再找到这一行 xml = virt_dom.XMLDesc(0)进行删除 这一行的上一句:if not xml:

再在删除的地方添加:

if virt_dom: xml = virt_dom.XMLDesc(0) else: xml = self.to_xml(instance, network_info)

最后找到这么一行:

self.destroy(instance, network_info, cleanup=False) 这一行的下一行为( self.plug_vifs(instance, network_info)) 并在其前一行添加

if virt_dom:

进入目录cd /var/lib/nova/instances/instance-00000008

在这个目录下执行命令

virsh define libvirt.xml

然后重启实例。接着重启了nova-compute服务,查看nova-manage service list 发现依然是XXX,并在log中看到这样的情况:

CRITICAL nova [-] invalid syntax (connection.py, line 397) #说明在397行的语法有问题。

然后将

/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py 改名字为connection.py.bak2  (之所以为编号2,因为之前已经创建过connection.py.bak)

这个时候将

/usr/lib/python2.7/dist-packages/nova/virt/libvirt/connection.py.bak改为connection.py

并赋予权限:chmod 777 connection.py

重启nova-compute服务,service nova-compute restart  再查看nova-manage service list 服务都变成了笑脸;

Binary Host Zone Status State Updated_At

nova-consoleauth server1 nova enabled :-)2014-01-08 02:45:57

nova-cert      server1 nova enabled :-) 2014-01-08 02:46:02

nova-scheduler   server1 nova enabled :-) 2014-01-08 02:46:02

nova-compute     server1 nova enabled :-) 2014-01-08 02:46:05

nova-network     server1 nova enabled :-) 2014-01-08 02:46:03

nova-volume      server1 nova enabled :-) 2014-01-08 02:46:03

上一篇:android studio 3.0 集成ijkplayer


下一篇:windows安装MongoDB副本集,通过Java程序实现数据的插入与查询