强制删除资源¶
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 文档,以显示此新功能以及如何使用它。
参考资料¶
无