--------------- 紧接上篇 nova实例创建(4) --------------------
继续深入_provision_instances
方法:
3》在循环中,实例创建时需发送状态更新通知
# 为实例的初始化建立发送一个状态更新通知,表示实例状态从不存在到建立 # send_update_with_states: # 在一个实例中,发送compute.instance.update来通知实例的任何改变信息 notification.send_update_with_states(context, instance, None, vm_states.BUILDING, None, None, service='api')
深入分析send_update_with_states
方法,对应的是/nova/notifications.py
文件
3.1》设置发送状态
# notify_on_state_change:发送compute.instance.update通知实例状态的变化 # 默认参数为None:不通知实例状态的变化 # 参数为vm_state:只通知虚拟机状态的变化 # 参数为vm_and_task_state:通知虚拟机和任务状态的变化 if not CONF.notify_on_state_change: return