1.为什么要引入nova conductor, nova conductor 为什么接管了nova api RPC调用nova scheduler 的任务?
- nova-conductor:与数据库交互,提高对数据库访问的安全性
2.openstack 中取得虚拟机状态的函数是?
@check_instance_state(vm_state=[vm_states.ACTIVE, vm_states.STOPPED,
vm_states.PAUSED, vm_states.SUSPENDED])通过Libvirt获得虚拟机信息
poll_and_publish
通过novaclient获得现有的所有虚拟机,然后调用`pollandpusblishinstances`
通过pollster.get_counters获得虚拟机的数据,然后通过pipeline将数据转换和传送给publisher,由publisher发送到MQ中去。
inspector要做的就是去获得虚拟机数据了,它可以有多重方式,暂时ceilometer只写了基于libvirt获得的。暂时inspector可以做的内容主要有一下几个:
def inspect_instances(self): def inspect_cpus(self, instance_name): def inspect_vnics(self, instance_name): def inspect_disks(self, instance_name):