配额管理

一项提案,旨在将现有的 Quota.update API 从管理 API 暴露给用户,通过非管理 API 进行访问。

Launchpad 蓝图:https://blueprints.launchpad.net/trove/+spec/quota-management

问题描述

管理 API 中存在一个 Quota.update API,允许操作员更改资源的配额分配。不幸的是,没有 CLI 可以访问该调用。

提议的变更

将 v1.Quotas 类添加到 v1.client,以便操作员可以执行命令来更改资源的分配。

配置

没有影响。

数据库

没有影响。

公共 API

无影响(REST API 已经存在)。

公共 API 安全

添加的调用将仅限于管理员用户。

Python API

在 python 客户端中添加 client.quotas.update

def update(self, id, quotas):
    """Set limits for quotas."""

此调用接收一个字典,指示要进行的更改

trove_client.quotas.update(project.id, {‘instances’: 10})

还在 python 客户端中添加 client.quotas.show

def show(self, id):
    """Shows usage information for quota managed resources."""

此调用接收项目的 ID,并返回所有资源及其使用情况

trove_client.quotas.show(project.id)

CLI (python-troveclient)

将添加两个新的 shell 命令

$ trove quota-show <project id>

$ trove quota-update <project id> volumes 50

内部 API

没有影响。

Guest Agent

无影响。

备选方案

Dashboard 影响 (UX)

这将仅通过命令行提供。

实现

负责人

主要负责人

6-morgan

里程碑

完成目标里程碑

Newton

工作项

补丁已提交到 gerrit。

升级影响

无。

依赖项

测试

已经存在针对此功能的测试。

文档影响

参考资料

附录

任何其他技术信息和数据。