neutron_lib.placement.client 模块

class neutron_lib.placement.client.NoAuthClient(url)

基类: object

用于完整栈测试的 Placement NoAuthClient

delete(url, endpoint_filter, **kwargs)
get(url, endpoint_filter, **kwargs)
post(url, json, endpoint_filter, **kwargs)
put(url, json, endpoint_filter, **kwargs)
request(url, method, body=None, headers=None, **kwargs)
class neutron_lib.placement.client.PlacementAPIClient(conf, openstack_api_version='placement 1.37')

基类: object

Placement REST API 的客户端类。

associate_aggregates(resource_provider_uuid, aggregates)

将一系列聚合与资源提供者关联。

参数:
  • resource_provider_uuid – 资源提供者的 UUID。

  • aggregates – 要与资源提供者关联的聚合。

返回值:

与资源提供者关联的所有聚合。

create_resource_class(name)

创建自定义资源类

参数:

name – 资源类的名称

返回值:

None。

create_resource_provider(resource_provider)

创建资源提供者。

参数:

resource_provider – 资源提供者。一个字典,包含 uuid(必需)、name(必需)和 parent_provider_uuid(可选)。

返回值:

创建的资源提供者。

delete_resource_class(name)

删除自定义资源类。

参数:

name – 要删除的资源类的名称。

引发:

PlacementResourceClassNotFound – 如果未找到资源类。

返回值:

None。

delete_resource_provider(resource_provider_uuid)

删除资源提供者。

参数:

resource_provider_uuid – 资源提供者的 UUID。

delete_resource_provider_inventories(resource_provider_uuid)

删除资源提供者的所有库存记录。

参数:

resource_provider_uuid – 资源提供者的 UUID。

引发:

PlacementResourceProviderNotFound – 如果未找到资源提供者。

返回值:

None。

delete_resource_provider_inventory(resource_provider_uuid, resource_class)

删除资源提供者的资源类的库存。

参数:
  • resource_provider_uuid – 资源提供者的 UUID。

  • resource_class – 资源类的名称

引发:
返回值:

None。

delete_resource_provider_traits(resource_provider_uuid)

删除资源提供者特性。

参数:

resource_provider_uuid – 要删除所有特性的资源提供者的 UUID。

引发:

PlacementResourceProviderNotFound – 如果未找到资源提供者。

返回值:

None。

delete_trait(name)

删除指定的特性。

参数:

name – 要删除的特性的名称。

引发:

PlacementTraitNotFound – 如果该特性不存在。

返回值:

None。

ensure_resource_provider(resource_provider)

通过更新或创建来确保资源提供者存在。

参数:

resource_provider – 资源提供者。一个字典,包含 uuid(必需)、name(必需)和 parent_provider_uuid(可选)。

返回值:

更新或创建的资源提供者。

注意,这不是 API 的原子操作。

get_inventory(resource_provider_uuid, resource_class)

获取资源提供者的库存。

参数:
  • resource_provider_uuid – 资源提供者的 UUID。

  • resource_class – 要返回的库存的资源类名称。

引发:
返回值:

资源类的库存,以字典形式。

get_resource_class(name)

显示资源类。

参数:

name – 要显示的资源类的名称

引发:

PlacementResourceClassNotFound – 如果未找到资源类。

返回值:

资源类的名称及其链接集。

get_resource_provider(resource_provider_uuid)

按 UUID 获取资源提供者。

参数:

resource_provider_uuid – 资源提供者的 UUID。

引发:

PlacementResourceProviderNotFound – 无法找到资源

返回值:

与 UUID 匹配的资源提供者。

get_trait(name)

检查给定的特性是否存在

参数:

name – 要检查的特性的名称。

引发:

PlacementTraitNotFound – 如果未找到特性名称。

返回值:

如果该特性存在,则返回 True。

list_aggregates(resource_provider_uuid)

列出资源提供者聚合。

参数:

resource_provider_uuid – 资源提供者的 UUID。

引发:

PlacementAggregateNotFound – 无法获取资源提供者的聚合。

返回值:

资源提供者生成一起列出的聚合。

list_allocations(consumer_uuid)

列出消费者的分配

参数:

consumer_uuid – 消费者的 UUID,对于由 VM 拥有的绑定端口,为 VM UUID。

返回值:

消费者的所有分配记录。

list_resource_classes()

列出资源类

list_resource_provider_traits(resource_provider_uuid)

列出与资源提供者关联的所有特性

参数:

resource_provider_uuid – 要列出特性的资源提供者的 UUID

引发:

PlacementResourceProviderNotFound – 如果未找到资源提供者。

返回值:

资源提供者及其生成一起关联的特性。

list_resource_providers(name=None, member_of=None, resources=None, in_tree=None, uuid=None)

获取资源提供者列表。

参数:
  • name – 资源提供者的名称。

  • member_of – 要获取这些资源提供者的聚合 UUID 列表。注意:需要 placement 1.3。

  • resources – 资源类和请求值的字典。

  • in_tree – 要将返回的提供者限制为其“提供者树”内的那些提供者的资源提供者的 UUID。返回的列表将仅包含根提供者 ID 为 UUID == tree_uuid 的资源提供者。注意:需要 placement 1.14。

  • uuid – 资源提供者的 UUID。

引发:

PlacementAPIVersionIncorrect – 如果 placement API 目标版本过低

返回值:

与过滤器匹配的资源提供者列表。

list_traits()

列出所有特性。

update_allocation(consumer_uuid, allocations)

更新给定消费者和 rp 的分配记录

参数:
update_qos_allocation(consumer_uuid, alloc_diff)

更新 QoS 最小带宽消费者的分配

参数:
  • consumer_uuid – 消费者的 UUID,对于由 VM 拥有的绑定端口,为 VM UUID。

  • alloc_diff – 一个字典,其中键是 RP UUID,对应的值是给定资源提供程序下要更新的分配字段。

update_resource_class(name)

创建或验证资源自定义类的存在。

参数:

name – 要更新或验证的资源类名称

返回值:

None。

update_resource_provider(resource_provider)

更新由 UUID 标识的资源提供程序。

参数:

resource_provider – 资源提供者。一个字典,包含 uuid(必需)、name(必需)和 parent_provider_uuid(可选)。

引发:
返回值:

更新后的资源提供程序。

update_resource_provider_inventories(resource_provider_uuid, inventories, resource_provider_generation=None)

替换资源提供程序的一组库存记录。

参数:
  • resource_provider_uuid – 资源提供者的 UUID。

  • inventories – 库存。一种格式的字典(请参阅:Placement API 参考:https://goo.gl/F22mtk){resource_class(必需): {allocation_ratio(必需): total(必需): max_unit(必需): min_unit(必需): reserved(必需): step_size(必需): }}

  • resource_provider_generation – 资源提供程序的生成版本。可选。

引发:
返回值:

更新后的库存记录集。

update_resource_provider_inventory(resource_provider_uuid, inventory, resource_class, resource_provider_generation=None)

更新资源提供程序库存。

参数:
  • resource_provider_uuid – 资源提供者的 UUID。

  • inventory – 要为资源类更新的库存。

  • resource_class – 资源类的名称。

  • resource_provider_generation – 资源提供程序的生成版本。可选。

引发:
返回值:

作为字典的资源类的更新后的库存。

update_resource_provider_traits(resource_provider_uuid, traits, resource_provider_generation=None)

替换资源提供程序的所有关联特征。

参数:
  • resource_provider_uuid – 要设置特征的资源提供程序的 UUID

  • traits – 特征列表。

  • resource_provider_generation – 资源提供程序的生成版本。可选。如果调用者未提供,则通过重试调用来处理潜在的生成版本冲突。如果提供,我们假设调用者处理生成版本冲突。

引发:
返回值:

资源提供程序的新特征以及资源提供程序生成版本。

update_trait(name)

插入单个自定义特征。

参数:

name – 要创建的特征名称。

返回值:

响应对象,以便您可以访问响应头。

class neutron_lib.placement.client.UUIDEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)

基类: JSONEncoder

default(o)

在子类中实现此方法,以便为 o 返回可序列化的对象,或调用基本实现(以引发 TypeError)。

例如,要支持任意迭代器,您可以这样实现 default

def default(self, o):
    try:
        iterable = iter(o)
    except TypeError:
        pass
    else:
        return list(iterable)
    # Let the base class default method raise the TypeError
    return super().default(o)