ironic rescue standard rescue and unrescue process
翻译官网救援/取消救援标准流程
1、用户在节点上调用Nova rescue
2、Nova ComputeManager调用virt驱动程序的rescue()方法,传入rescue_password作为参数
3、Virt驱动程序调用node.set_provision_state(RESCUE),并以rescue_password作为参数
4、Virt驱动程序在等待provision_state更改时循环,并根据需要更新Nova状态
5、Ironic API接收set_provision_state调用,并执行do_node_rescue RPC调用(ACTIVE - > RESCUING)
6、Ironic conductor在instance_info中设置了救援密码并将通知给相应的驱动
7、驱动程序使用配置的启动驱动程序启动救援虚拟磁盘(RESCUING - > RESCUEWAIT)。作为这个过程的一部分,Ironic将把节点放到rescue_network上,如ironic.conf配置
8、ramdisk启动,执行查找(/v1/lookup in ironic-api,获取节点信息,并开始心跳(/v1/heartbeat in ironic-api)
9、在收到心跳信号后,conductor 使用配置驱动器和救援密码(RESCUEWAIT - > RESCUING)调用finalize_rescue(/v1/commands),并从instance_info中删除救援密码,因为它不再需要
10、agent设置密码,从配置驱动器中的信息配置网络,并停止代理服务
11、conductor 将节点放回租户网络的网络端口,并将状态设置为RESCUE。
Standard rescue process
1、用户在节点上调用Nova unrescue
2、Nova称为Ironic unrescue()virt驱动程序。
3、Virt驱动程序调用node.set_provision_state(ACTIVE)。
4、Virt驱动程序在等待provision_state更改时循环,并根据需要更新Nova状态。
5、Ironic API接收set_provision_state调用,并执行do_node_unrescue RPC调用。
6、ironic conductor通知合适的驱动
7、驱动程序执行正常启动节点所需的操作,并将提供状态设置为ACTIVE。
Standard Unrescue process
ACTIVE -> RESCUING (initiate rescue)
RESCUING -> RESCUE (rescue succeeds)
RESCUING -> RESCUEWAIT (optionally, wait on external callback)
RESCUING -> RESCUEFAIL (rescue fails)
RESCUEWAIT -> RESCUING (callback succeeds)
RESCUEWAIT -> RESCUEFAIL (callback fails or abort issued)
RESCUEWAIT -> DELETING (delete instance without waiting)
RESCUE -> RESCUING (re-rescue node)
RESCUE -> DELETING (delete rescued instance)
RESCUE -> UNRESCUING (unrescue node)
UNRESCUING -> UNRESCUEFAIL (unrescue fails)
UNRESCUING -> ACTIVE (unrescue succeeds)
UNRESCUEFAIL -> RESCUING (re-rescue node after failed unrescue)
UNRESCUEFAIL -> UNRESCUING (re-unrescue node after failed unrescue)
UNRESCUEFAIL -> DELETING (delete instance that failed unrescuing)
RESCUEFAIL -> RESCUING (re-rescue after rescue failed)
RESCUEFAIL -> UNRESCUING (unrescue after failed rescue)
RESCUEFAIL -> DELETING (delete instance after failed rescue)
state machine impact
ironic rescue standard rescue and unrescue process的更多相关文章
- ironic baremetal node rescue/unrescue mode
环境ironic-api ironic-conductor,ironicclient均升级为Queens版本 官网说明API版本为1.38才支持rescue/unrescue,所以修改下openrc文 ...
- Nova Suspend/Rescue 操作详解 - 每天5分钟玩转 OpenStack(35)
本节我们讨论 Suspend/Resume 和 Rescue/Unrescue 这两组操作. Suspend/Resume 有时需要长时间暂停 instance,可以通过 Suspend 操作将 in ...
- openstack虚拟机rescue模式
nova rescue vm_instance es.ops 20190426 linux虚拟机在出现类似kernel panic后,根据panic信息以及故障前的操作,定位问题的发生点,进行修复 n ...
- 原创 齐天大圣老司机亲传rescue恢复磁盘分区
老葵花哥哥课堂开课了本文档秉承爱看不看的原则 一不要钱 二服务大众的高尚情操咱们今天讲一讲rescue恢复磁盘分区 首先咱们搭建环境搞起来 (parted) mkpart #创建分区 Partitio ...
- Architecture Design Process
Architecture Design Process The architecture design process focuses on the decomposition of a system ...
- The Go Programming Language. Notes.
Contents Tutorial Hello, World Command-Line Arguments Finding Duplicate Lines A Web Server Loose End ...
- Servers
Servers¶ Server interface. class novaclient.v1_1.servers.Server(manager, info, loaded=False) Bases: ...
- CentOS 7下关于systemd的一些唠叨话一:systemd的特点和使用
摘要 近年来,Linux 系统的 init 进程经历了两次重大的演进,传统的 sysvinit 已经逐渐淡出历史舞台,新的 UpStart 和 systemd 各有特点,越来越多的 Linux 发行版 ...
- 浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd
浅析 Linux 初始化 init 系统,第 1 部分: sysvinit 第 2 部分: UpStart 第 3 部分: Systemd http://www.ibm.com/developerw ...
随机推荐
- vuejs生命周期函数
生命周期函数就是vue实例在某一个时间点会自动执行的函数 当我们创建一个实例的时候,也就是我们调用 new Vue() 这句话的时候,vue会帮助我们去创建一个实例,创建过程其实并不像我们想的那么简单 ...
- Zabbix3.0部署实践
Zabbix3.0部署实践 Zabbix3整个web界面做了一个全新的设计. 1.1Zabbix环境准备 [root@linux-node1 ~]# cat /etc/redhat-release ...
- 中期ppt制作
陀螺仪的使用解释:https://zhuanlan.zhihu.com/p/29244429 手机坐标轴的图片:http://jcjs.siat.ac.cn/ch/reader/create_pdf. ...
- Linux利用i节点删除乱码文件
Linux删除乱码文件 当文件名为乱码的时候,无法通过键盘输入文件名,所以在终端下就不能直接利用rm,mv等命令管理文件了. 但是我们知道每个文件都有一个i节点号,我们可以考虑通过i节点号来管理文件. ...
- C#接口定义
C#接口定义 C#不支持多重继承,但是客观世界出现多重继承的情况又比较多.为了避免传统的多重继承给程序带来的复杂性等问题,C# 提出了接口的概念.通过接口可以实现多重继承的功能. 继承该接口的类或结 ...
- virtual base classes
virtual base classes用来实现菱形继承解决多个重复subobject的问题 //: C09:VirtualBase.cpp // Shows a shared subobject v ...
- java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重
package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...
- LeetCode106. Construct Binary Tree from Inorder and Postorder Traversal
题目 根据一棵树的中序遍历与后序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9, ...
- What is EJB
What is EJB 0.什么是EJB? 答:EJB是用于构建企业应用程序模块托管的.服务器端组件架构.EJB技术加速并简化了开发基于Java技术的分布式.事务性.安全和便携的应用程序. 先看一下E ...
- Tomcat的部署+第一个Servlet
Tomcat部署 1.下载tomcat,添加到eclipse 2.配置环境变量(path) 3.win+r,输入Startup(如果没用,就管理员启动命令) 或者找到tomcat安装包,在bin目录找 ...