跳转到: 导航, 搜索

领域配额驱动程序的 APIs

简介

Nova 中现有的 DbQuotaDriver 允许在项目/租户和用户级别设置配额。但也有必要在领域级别强制执行配额。一个新的驱动程序,称为“领域配额驱动程序”,可用于在 Nova 中强制执行领域配额。要使用此驱动程序,需要一组新的 APIs 来执行领域、项目和用户级别的配额 CRUD 操作。

Nova 中的配额

当前,OpenStack 服务使用配额来限制项目或用户的资源。例如,“实例”配额表示可以在项目或用户中创建的实例数量。通过领域配额驱动程序,相同的配额选项在领域上下文中可用。要了解有关领域配额驱动程序的更多信息并查看可用的配额选项,请查看 https://wiki.openstack.org/wiki/DomainQuotaDriver

实现

V2 APIs

请查看下表,了解分别管理领域、项目和用户配额的 APIs。这些 APIs 可以由管理员(即具有管理员角色)用来获取任何领域/项目/用户的配额限制。非管理员用户只能使用这些 APIs 来查看其所属的领域的配额或其作为成员的项目中的配额。此外,非管理员用户可以查看其自身的配额限制。为此,需要使用 Keystone V3 身份验证令牌。令牌提供的上下文分别具有 domain_id、project_id 和 user_id。

方式 URI 描述
GET v2/{tenant_id}/os-domain-quota-sets/{domain_id} 显示域的配额
GET v2/{tenant_id}/os-domain-quota-sets/{domain_id}/defaults 显示域的默认配额
GET v2/{tenant_id}/os-domain-quota-sets/{domain_id}?project_id={project_id} 显示项目的配额
GET v2/{tenant_id}/os-domain-quota-sets/{domain_id}?project_id={project_id}&user_id={user_id} 显示项目中用户的配额
DELETE v2/{tenant_id}/os-domain-quota-sets/{domain_id} 删除域的配额以及该域中的所有项目的配额(此外,还删除项目中所有用户的配额)
DELETE v2/{tenant_id}/os-domain-quota-sets/{domain_id}?project_id={project_id} 删除项目的配额以及该项目中的所有用户的配额
DELETE v2/{tenant_id}/os-domain-quota-sets/{domain_id}?project_id={project_id}&user_id={user_id} 删除项目中用户的配额
PUT v2/{tenant_id}/os-domain-quota-sets/{domain_id} 创建或更新域的配额
PUT v2/{tenant_id}/os-domain-quota-sets/{domain_id}?project_id={project_id} 创建或更新项目的配额
PUT v2/{tenant_id}/os-domain-quota-sets/{domain_id}?project_id={project_id}&user_id={user_id} 创建或更新项目中用户的配额

V3 APIs

方式 URI 描述
GET v3/os-domain-quota-sets/{domain_id} 显示域的配额
GET v3/os-domain-quota-sets/{domain_id}/defaults 显示域的默认配额
GET v3/os-domain-quota-sets/{domain_id}?project_id={project_id} 显示项目的配额
GET v3/os-domain-quota-sets/{domain_id}?project_id={project_id}&user_id={user_id} 显示项目中用户的配额
DELETE v3/os-domain-quota-sets/{domain_id} 删除域的配额以及该域中的所有项目的配额(此外,还删除项目中所有用户的配额)
DELETE v3/os-domain-quota-sets/{domain_id}?project_id={project_id} 删除项目的配额以及该项目中的所有用户的配额
DELETE v3/os-domain-quota-sets/{domain_id}?project_id={project_id}&user_id={user_id} 删除项目中用户的配额
PUT v3/os-domain-quota-sets/{domain_id} 创建或更新域的配额
PUT v3/os-domain-quota-sets/{domain_id}?project_id={project_id} 创建或更新项目的配额
PUT v3/os-domain-quota-sets/{domain_id}?project_id={project_id}&user_id={user_id} 创建或更新项目中用户的配额