为特定项目启用已删除堆栈的清除

为 heat-manage purge_deleted 命令添加 project-id 参数,以便能够针对特定项目硬删除数据库条目。

https://blueprints.launchpad.net/heat/+spec/heat-manage-purge-deleted-tenant

问题描述

目前 heat-manage purge_deleted 命令允许操作员清除所有标记为已删除且年龄超过指定时间的数据库条目。

通常,此全局清除过程会在云平台上定期设置运行。但是,对于某些特定项目,云操作员希望使用更小的保留期设置清除过程。一个典型的例子是监控 Heat 服务的监控项目。

提议的变更

为 heat-manage purge_deleted 命令添加 project-id 参数

~ # heat-manage purge_deleted --help
usage: heat-manage purge_deleted [-h] [-g {days,hours,minutes,seconds}]
                                 [-p PROJECT_ID]
                                 [age]

positional arguments:
   age                   How long to preserve deleted data.

optional arguments:
  -h, --help            show this help message and exit
  -g {days,hours,minutes,seconds}, --granularity {days,hours,minutes,seconds}
                        Granularity to use for age argument,
                        defaults to days.
  -p PROJECT_ID, --project-id PROJECT_ID
                        Project ID to purge deleted stacks.

当设置 project-id 参数时,只有该项目的标记为已删除的数据库条目将被清除。给定的 project-id 值将不会被验证,如果输入错误,数据库将保持不变。

备选方案

实现

负责人

主要负责人

Ala Rezmerita <ala.rezmerita@orange.com>

里程碑

完成目标里程碑

newton-2

工作项

  • 实施提议的变更

  • 添加相应的函数测试

依赖项