强制删除资源

https://blueprints.launchpad.net/tacker/+spec/force-delete-resources

提供支持,以强制删除卡在某些状态(例如 pending、error 等)的资源。

问题描述

在当前实现中,如果任何资源(例如 VNFs)卡在异常状态,我们没有机制来清理它们。即使后端删除失败,也需要从数据库中清理这些资源。例如,当由于底层系统或软件错误导致 VNFs 删除失败时,这些 VNFs 会进入 PENDING_DELETE 状态。结果,对这些 PENDING_DELETE VNFs 执行 vnf-delete 操作不起作用,并且这些 VNFs 会永远卡住。我们需要为管理员提供一种“强制”删除 PENDING_DELETE 状态资源的机制。

提议的变更

为资源(例如 VNF、NS & VNFFG)的删除命令添加一个新的参数 –force,并在服务器端添加相应的支持,以强制删除这些资源。

目的是使管理员能够快速删除不再可用且卡在 ERROR 或 PENDING_* 状态的资源。

删除 VNF

openstack vnf delete <VNF name / id> --force

删除 VNFFG

openstack vnf graph delete <VNFFG name / id> --force

删除 NS

openstack ns delete <NS name / id> --force
  • 当正常的删除工作流程失败时,此功能将用于清理 Tacker 数据库。为了避免意外和任何不一致性,我们将将其保留为仅管理员操作。以便管理员可以验证/调试问题并在后端采取适当的措施。

  • 成功消息将包含一些信息,表明资源已使用 –force 删除。例如

ubuntu@nti:~/dk$ openstack vnf delete test_vnf --force
All specified vnf(s) deleted forcefully

备选方案

登录到 Tacker 数据库后,我们可以使用 SQL 命令列出卡在 PENDING_* 状态的资源,然后手动从数据库中删除它们。请记住,我们还需要更新其他相关表。

数据模型影响

REST API 影响

在请求体中添加新的参数(例如 {“force”: true})。

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

开发人员影响

升级影响

实现

负责人

主要负责人

Cong Phuoc Hoang <hoangphuocbk2.07@gmail.com>

其他贡献者

Dharmendra Kushwaha <Dharmendra.kushwaha@india.nec.com>

Nguyen Hai <nguyentrihai93@gmail.com> <nguyentrihai@soongsil.ac.kr>

工作项

  • CLI 对 VNF、VNFFG & NS 的支持。

  • GUI 对 VNF、VNFFG & NS 的支持。

  • 服务器端支持。

  • 添加测试用例

  • 更新这些支持的文档。

依赖项

测试

文档影响

需要更新 Tacker 文档,以显示此新功能以及如何使用它。

参考资料