有没有一个API可以清除openstack中的项目?

问题描述 投票:0回答:1

我需要在一个OpenStack项目中轻松地清除我的用户,通过一个 API调用.就像这个CLI命令一样:

neutron purge PROJECT_ID

在Neutron项目中可用 文件但有一个API调用。

我找不到API,所以其实我的问题是:1.是不是有这样一个API,如果没有,2.为什么? 有什么具体的原因吗?

api openstack openstack-neutron
1个回答
1
投票

我检查了客户端和neutron服务器的源代码,但不幸的是,在REST-API中没有专门的端点来实现这个功能。

这个功能只被neutron-client支持,但不被openstack-client支持。当您运行 neutron purge PROJECT_ID neutron-client在客户端的python代码中所做的一切,就是列出所有与给定项目相关的资源,然后遍历这个列表,并为每一个资源向neutron REST-API发送删除信息。因此,它只是客户端 python 代码中的一个简单的自动机制,而不是服务器端的一个特定终端。

具体功能请看这里的代码。https:/github.comopenstackpython-neutronclientblobmasterneutronclientneutronv2_0purge.py#L63。

根据我对openstack及其社区的经验,我认为它是这样做的,因为只在neutron-client中添加新的代码比较容易。当这应该成为一个新的端点时,这个功能也必须在neutron、openstack-client和openstacksdk中实现。每个仓库都有自己的团队。这个清除功能是如此之小,以至于不值得说服所有4个团队。为了一个简单的功能,你想更新的组件越多,难度就越大,因为想把这个功能带到上游的人,要负责把所有所需组件的团队聚集在一起,而当核心团队中只有一个人对你的实现有问题时,你就必须几乎从头开始。所以,当你自己不属于核心团队的时候,要把一个跨组件的功能,比如一个新的端点带到上游,很容易需要一两年以上的时间。所以,与跨项目贡献相比,只把功能引入中子客户端是相当容易的。

这至少是我为什么只在neutron-client中实现这个功能的原因,如果可能的话,也只在openstack-client中实现,而不是在上游添加一个新的端点。

© www.soinside.com 2019 - 2024. All rights reserved.