清理长时间处于非最终状态的集群

https://blueprints.launchpad.net/sahara/+spec/periodic-cleanup

本规范旨在引入一个周期性任务,用于清理长时间处于非最终状态的旧集群。

问题描述

目前,由于各种原因(例如,在配置过程中 Sahara 服务重启或 Neutron 无法分配浮动 IP),Sahara 集群可能会卡住。 这可能导致集群长时间占用资源。 这可能会发生在不同的租户中,并且很难手动检查这些情况。

相关 bug: https://bugs.launchpad.net/sahara/+bug/1185909

提议的变更

在配置文件的“periodic”部分添加“cleanup_time_for_nonfinal_clusters”参数。

基于此配置,周期性任务将搜索处于非最终状态且未更新指定时间段的集群。

“非最终”状态包括所有集群状态,除了“Active”(活动)和“Error”(错误)状态。

“cleanup_time_for_nonfinal_clusters”参数将以小时为单位。 非正值将表示禁用清理选项。

默认值将为 0,以保持向后兼容性(用户不希望升级后所有非最终集群都被删除)。

将使用“clusters”表的“updated_at”列来确定上次更改。 这并非 100% 准确,但足够好。 每当集群状态发生变化时,该字段都会更改。

替代方案

将此功能添加到外部服务(例如 Blazar)。

数据模型影响

无。

REST API 影响

无。

其他最终用户影响

无。

部署者影响

无。

开发者影响

无。

Sahara-image-elements impact

无。

Sahara-dashboard / Horizon 影响

无。

实现

负责人

主要负责人

alazarev (Andrew Lazarev)

其他贡献者

工作项

  • 实现该功能

  • 记录该功能

依赖项

无。

测试

手动。

文档影响

需要进行文档说明。

参考资料