ironic inspect流程介绍

  

  

ironic的inspect功能是指为裸金属提供自检功能,主要是为了获取裸金属服务器的一些基础的硬件信息,如CPU、内存、磁盘、网卡等。这些信息会随着nova-compute的周期任务,上报到nova中,存储在nova为裸金属node创建的相应的hypervisor中,用于在发放裸金属实例的时候,nova-scheduler可以根据这些信息,基于用户选择的规格(flavor)进行调度,选择符合条件的裸金属服务器用于部署。其中网卡信息主要是在发放过程中通过neutron提供给SDN的,包括网卡的mac地址,以及上联交换机信息等。

查看ironic代码中的setup.cfg,可以看到目前ironic支持的inspect工具有以下几种:

 

以目前裸金属最常用的inspector(ironic-inspector组件)为例,则裸金属的自检流程如:

 

  • 首先管理员通过ironic客户端执行裸金属inspect,将请求发送给ironic-api
ironic node-set-provision-state <node_uuid> inspect
  • ironic-api收到请求后,通过RPC将任务转发给ironic-conductor
  • ironic-conductor通过api调用ironic-inspector执行裸金属自检
  • ironic-inspector通过ironicclient调用ironic-api设置裸金属pxe重启
  • 裸金属从pxe启动,从DHCP-Server(这里为ironic的dnsmasq提供dhcp服务)处获取inspect 网络的ip,从tftp服务器上获取并加载inspect的小镜像
  • 在裸金属内存中运行ironic-python-agent服务,然后开始收集硬件信息,包括cpu、内存、磁盘、网卡(包括收集LLDP信息)等
  • 收集完信息后,ironic-python-agent调用ironic-inspector的接口,进行信息上报
  • ironic-inspector通过ironicclient调用ironic-api,进行node和port、portgroup的更新或者创建。注:创建为自发现流程,不需要事先创建node,只需要设置裸金属从pxe启动即可
  • 最后ironic-inspector通过ironicclient调用ironic-api,让裸金属关机

 

 以上~

 

posted @ 2020-08-25 17:59  逐浪子  阅读(68)  评论(0)    收藏  举报