Ironic 服务中的Driver,Hardware Tpye以及Hardware Interfaces

Ironic通过driver管理、部署裸机节点。

节点注册(Enroll)时选择driver类型。

从O版本,Ironic的driver支持两种类型,一种是classic drivers,一种是hardware types,而且以后会 停止支持classtic drivers.

classic drivers和hardware types的关系:

  • 相同点
  1. 从用户角度看,hardware types 和 Classic driver 都是对应 node 表的 driver 字段
  2. 都是由一系列hardware interfaces组成,每个 hardware interface 用来处理特定厂商裸机的某些配置。
  • 不同点
  1. Classic driver 把所有的 hardware interface 都硬编码到了一起,而 hardware types 只申明了兼容哪些 hardware interface

Classic driver类:例如pxe_impi是一个classtic driver,在你创建驱动的时候, 使用的 power, boot, console, management, deploy, raid 等模块都是固定好了

 

 1 class PXEAndIPMIToolDriver(base.BaseDriver):
 2 
 3     def __init__(self):
 4         self.power = ipmitool.IPMIPower()
 5         self.console = ipmitool.IPMIShellinaboxConsole()
 6         self.boot = pxe.PXEBoot()
 7         self.deploy = iscsi_deploy.ISCSIDeploy()
 8         self.management = ipmitool.IPMIManagement()
 9         self.inspect = inspector.Inspector.create_if_enabled(
10             'PXEAndIPMIToolDriver')
11         self.vendor = ipmitool.VendorPassthru()
12         self.raid = agent.AgentRAID()

Hardware types类:例如ipmi,定义了支持哪些hardware interfaces

1 class IPMIHardWare(generic.GenericHardware):
2     @property
3     def supported_console_interfaces(self):
4         return [ipmitool.IPMISocatSonsole, ipmitool.IPMIShellinaboxConsole,
5                 noop.NoConsole]

 

     2. 配置不同。classic drivers仅配置driver就可,hardware types需要配置关联的hardware interfaces,也可以配置默认的interface。

 

P版本官网介绍:

 

 

 

参考:

https://ironic-book.readthedocs.io/zh_CN/latest/install/enabling-drivers.html

https://docs.openstack.org/ironic/pike/install/enabling-drivers.html

 

posted on 2018-09-05 14:39  LysEric  阅读(208)  评论(0编辑  收藏  举报

导航