参考:

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. next_permutation暴力搜索,POJ(3187)

    题目链接:http://poj.org/problem?id=3187 解题报告: #include <stdio.h> #include <iostream> #includ ...

  2. dotNetFx40_Client_x86_x64和dotNetFx40_Full_x86_x64这两个有什么区别?两个都要安装还是安装其中一个?

    这个是NET Framework 4.0的安装文件它是支持生成和运行下一代应用程序和 XML Web Services 的内部 Windows 组件,很多基于此架构的程序需要它的支持才能够运行.简单的 ...

  3. Python 连接、操作数据库

    使用python3+pymysql 一.安装python3 a)         从网上下载安装吧 二.安装pymysql https://pypi.python.org/pypi/PyMySQL h ...

  4. centos install rtl8188ce driver

    1.导入公钥,注意大小写. rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org 2.安装ELRepo库. rpm -Uvh http://elr ...

  5. Java常见加密技术的密钥与加密串长度

    Java常见的Java方式 1.Base64编码 2.十六进制(Hex)编码 3.MD消息摘要 4.DES加密 5.3DES加密 6.AES加密 6.RSA加密

  6. python的**和*

    1.**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8*如果是字符串.列表.元组与一个整数N相乘,返回一个其所有 ...

  7. 前端css样式及选择器

    标题: 1.scc概述 2.行内样式 3.内接样式 4.外接样式(链接式)    推荐使用 5.外接样式(导入式) 6.嵌套规则 7.css选择器 1.scc(Cascading Style Shee ...

  8. django连接mysql数据库配置,出现no module named mysqldb报错

    作为一个菜鸟运维也是要有梦想的,万一学会了python走向人生巅峰了呢.好吧,都是瞎想,今天主要介绍下django配置,最近也开始摸索这个牛b框架了,当然大佬肯定不屑一顾,都是照顾照顾我们这些菜鸟初学 ...

  9. nginx 报错: nginx: [emerg] open() "/etc/nginx/nginx.conf" failed (2: No such file or directory)

    执行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf https://www.cnblogs.com/codingcl ...

  10. TCP_Wrappers & PAM & Nsswitch服务

    cpwrapper:工作在第四层(传输层),能够对有状态连接的服务进行安全检测并实现访问控制的工具.部分功能上跟iptables重叠. 对于进出本主机访问某特定服务的连接基于规则进行检查的一个访问控制 ...