参考:

http://blog.csdn.net/zhonglinzhang/article/details/74202562

http://blog.csdn.net/wanghuiict/article/details/52757359

http://blog.csdn.net/dingdingwolf/article/details/47272913

状态

@ ENROLL: ironic知道节点存在,并没有进一步的action,一旦一个节点拥有driver和properties,通过manage API调用使节点过度到VERIFYING
@ VERIFYING: ironic验证是否可以通过分配的drivers(例如,电源状态管理)和证书管理节点
@ MANAGEABLE: 用driver和证书验证通过可以管理节点,电源power off可选的,从MANAGEABLE节点过度到

  • MANAGEABLE(从CLEANING)通过clean API调用
  • MANAGEABLE(从INSPECTING)通过inspect API调用
  • AVAILABLE(从CLEANING)通过provide API调用

@ INSPECTING:根据硬件属性变更来更新硬件属性,来反应当前硬件的状态,失败则过度到INSPECTFAIL
@ CLEANING:清理以准备步入AVAILABLE,正确成功的CLEANING包括任务:

  • 擦除驱动器
  • 固件完整性验证
  • 验证节点传入属性是否与实际硬件配置匹配
  • booting到一个长时间运行的deploy ramdisk
 

当一个节点为CLEANING状态,意味着节点执行带外清理步骤,或者准备环境(建立PXE配置文件, 配置DHCP等)来boot randisk
@ CLEANWAIT:与CLEANING不同是conductor等待boot ramdisk, 在带内清理步骤,处于CLEANWAIT状态的节点可以被abort API调用中断
@ AVAILABLE:处于AVAILABLE状态的是已经被清理,重新配置的,准备好的可以用来provisioned,处于AVALIABLE状态节点可以过度:

  • ACTIVE(从DEPLOYING)通过active API调用
  • MANABGEABLE通过manage API调用
@ DEPLOYING:主要包括一系列短任务:

  • 设置适当的BIOS配置
  • 驱动器分区,生成文件系统
  • 创建一些子系统需要的附加资源(网络配置等)
@ DEPLOYWAIT:已经DEPLOYED的,不同的是conductor等待boot ramdisk,或执行部分需要带内运行的部署工作(例如:安装bootloader,当没有使用iscsi写image到disk),处于DEPLOYWAIT状态的节点可以被deleted API调用中断
@ ACTIVE:一句话就是可以正常使用的了!
 
部署流程:
 
  1. 部署物理机的请求通过 Nova API 进入Nova;
  2. Nova Scheduler 根据请求参数中的信息(指定的镜像和硬件模板等)选择合适的物理节点;通过flavor中extra_spec(比如cpu_arch, baremetal:deploy_kerner_id, baremmetal:deploy_ramdisk_id)
  3. Nova 创建一个 spawn 任务,并调用 Ironic API 部署物理节点,Ironic 将此次任务中所需要的硬件资源保留,并更新数据库;
  4. Ironic 与 OpenStack 的其他服务交互,从 Glance 服务获取部署物理节点所需的镜像资源,并调用 Neutron 服务为物理机创建网路端口;
  5. Ironic 开始部署物理节点,PXE driver 准备 tftp bootloader,IPMI driver 设置物理机启动模式并将机器上电;
  6. 物理机启动后,通过 DHCP 获得 Ironic Conductor 的地址并尝试通过 tftp 协议从 Conductor 获取镜像,Conductor 将部署镜像部署到物理节点上后,通过 iSCSI 协议将物理节点的硬盘暴露出来,随后写入用户镜像,成功部署用户镜像后,物理节点的部署就完成了。

ironic state information的更多相关文章

  1. Debug 之 The state information is invalid for this page and might be corrupted

    1.问题描述: 网站部署之后,排序或者搜索之后报错:The state information is invalid for this page and might be corrupted 2.问题 ...

  2. PatentTips - Virtual machine management using processor state information

    BACKGROUND OF THE INVENTION The invention generally relates to virtual machine management, and more ...

  3. --@ui-router——$state服务原版详解

    $state service in module ui.router.state Description $state service is responsible for representing ...

  4. State management(状态管理)

    State management https://en.wikipedia.org/wiki/State_management UI控件的状态管理, 例如按钮的灰化.只读.显示隐藏等. 特殊地一个控件 ...

  5. PatentTips - Zero voltage processor sleep state

    BACKGROUND Embodiments of the invention relate to the field of electronic systems and power manageme ...

  6. PatentTips - Sleep state mechanism for virtual multithreading

    BACKGROUND The present disclosure relates generally to information processing systems and, more spec ...

  7. View State

    如何查看viewstate 鼠标右键页面,然后view page source 源码中搜索viewstate,会找到一个隐藏的字段. <input type="hidden" ...

  8. 如何实现 UITabbarController 的 State Preservation?

    原文链接 最近在看ios programming - the big nerd ranch guide 这本书,其中第24章介绍了如何使用系统接口来实现 State Restoration. 示例部分 ...

  9. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

随机推荐

  1. nginx架构分析之 模块化

    Nginx涉及到的模块分为核心模块.标准HTTP模块.可选HTTP模块.邮件服务模块以及第三方模块等五大类. 核心模块 核心模块是指Nginx服务器正常运行时必不可少的模块,它们提供了Nginx最基本 ...

  2. PHP调试小错误汇总

    1.中文显示乱码 解决:加上header('Content-type:text'); 2.Unable to find the wrapper "https 解决:到php.ini中把ext ...

  3. Spring 注解中@Resource 和 @Authwired 的区别

    @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分 ...

  4. 使用phpExcel将数据批量导出

    if(isset($_POST['export']) && $_POST['export'] == '导出所选数据') { //此处为多选框已勾选的数据 $export_id=$_PO ...

  5. MyString类的实现--基础中的基础C语言

    MyString 类是学习 C++ 的过程中一个很重要的例子,涉及到面向对象的封装.堆内存申请和释放.函数的重载以及 C++ 的 “Big Three”.本例子重点在于复习和理解上述的 C++ 特性, ...

  6. selenium学习总结

    selenium主要用来做web自动化,分1.0和2.0两个版本,1.0包括selenium IDE.selenium Grid.selenium Remote Control,2.0在1.0的基础上 ...

  7. 你们知道SEO每天都在做什么吗?

    医院也有做SEO的,专门负责医院网站优化工作,那么医院的SEO每天都做什么呢?偶然见到一篇文章,转载来分享给大家.感觉写的很实在. 大凡做seo工作的人都知道seo工作者每天都要做大量的外链,像有些个 ...

  8. 转 Ubuntu 下 vim 搭建python 环境 配置

    1. 安装完整的vim# apt-get install vim-gnome 2. 安装ctags,ctags用于支持taglist,必需!# apt-get install ctags 3. 安装t ...

  9. pycharm快捷键一览

    编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P ...

  10. js常用的2中排序方法:冒泡排序和快速排序

    冒泡排序:例如9 4 5 6 8 3 2 7 10 1 首先:9和4比较  4放前   4 9 5 6 8 3 2 7 10 1 4和5比较   4不动   4 9 5 6 8 3 2 7 10 1 ...