• 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
  • 相关阅读:
    Effective JavaScript: 编写高质量JavaScript代码的68个有效方法(目录)
    第 13 条:使用立即调用的函数表达式创建局部作用域
    第11条:javascript闭包(Effective JavaScript读书笔记)
    .net各类视频教程
    IIS7视频教程
    快速排序
    冒泡排序
    python骚气的写法:b = lambda i, x: (tf.compat.v1.Print(i + 1, [i]), tf.compat.v1.Print(x + 1, [i], "x:"))
    服务器要放到水下
    keras包含各种内置层
  • 原文地址:https://www.cnblogs.com/gushiren/p/9512801.html
Copyright © 2020-2023  润新知