轻量级规范:引入 Glance Taskflow 停止文件功能

问题:

在准备关闭 Glance 节点进行维护或升级时,有必要允许长时间运行的操作完成,同时阻止新的操作开始。Taskflow 引擎没有能力阻止单个执行器启动新的作业,因此尝试将 Glance 节点从 Taskflow 处理池中移除,存在与该执行器在服务终止之前刚好启动作业的竞争条件风险,这可能导致任务处理失败。

解决方案:

为 Glance Taskflow 引入一个 disable_by_file_path 功能,这将阻止节点获取新的作业。这允许操作员或自动化引擎在终止服务之前 touch 相应的文件。此功能应依赖于 oslo healthcheck 中间件配置来禁用 taskflow 引擎。作为额外的影响,这项工作需要 Glance 将单个 taskflow 引擎实例化为单例,并在所有后续 taskflow 操作中重用该引擎实例。

影响:

时间线:

预计在 Pike 周期里程碑 2 之前合并修复。

链接:

https://docs.openstack.org/developer/oslo.middleware/healthcheck_plugins.html

负责人:

打开