OpenStack Workflow

1、用户通过Horizon,发起创建VM的HTTP请求到Keystone,AUTH的信息由HTTP Header承载

2、Keystone 返回临时TOKEN给请求源Horizon

3、Horizon向Nova API发起创建VM请求

4、Nova API与keystone交互,完成token的验证

5、Nova API将用户的VM请求写入数据库,并将创建VM虚机的任务发布到MQ

6、Nova Scheduler从MQ中取得消息(包含VM ID)后,通过VM ID在数据库中获得VM详细信息,通过VM的信息调度了一个唯一的Nova Compute主机,并发布任务到该主机订阅的消息队列中

7、指定的Nova Compute从消息队列中获得任务,调用nova-conductor,访问数据库中虚拟机的配置信息

  根据配置信息

  a、Nova Compute调用Neutron Server, Neutron开始配置IP, MAC, DNS, Layer 2连接等

  b、Nova Compute调用cinder-api请求卷的信息,为VM准备卷并连接到VM

  b、nova-compute从虚拟机的信息中获得镜像的ID,并从GlanceAPI获取镜像,glance-api返回镜像的URI给nova-compute,nova-compute根据glance-api返回的镜像URI下载原始镜像

      d、nova-compute请求hypervisor,创建虚机的metadata

  e、nova-compute让nova-conductor更新虚拟机的状态信息

8、Horizon通过poll nova-api,得到VM状态

 

posted @ 2017-03-03 20:21  Jacob_tian  阅读(652)  评论(0编辑  收藏  举报