在openstack的测试中,经常发现虚拟机状态不匹配的情况。一般情况下dashboard上和数据库中的信息是一致的,在虚拟机所在的计算节点使用virsh查看到的状态会和数据库中的不一致。
请帮忙讲解一下这个里面有什么机制,或者虚拟机信息在数据库中的更新这块如何在源码里面追踪OpenStack虚拟机
请帮忙讲解一下这个里面有什么机制,或者虚拟机信息在数据库中的更新这块如何在源码里面追踪OpenStack虚拟机
调试欢乐多
openstack里面应该也是直接调用libvirt库的python实现来维护自己的数据库的。至于dashboard,那就是使用openstack的api,自然就是从opentack自己的数据库里面取数据的。这个是我的理解,因为不是搞开发的,没读过太多openstack源代码,只是从经验上来猜测。
代码在 nova.compute.manager.ComputeVirtAPI._sync_power_states