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')¶
基类:
objectPlacement 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 – 资源类的名称
- 引发:
PlacementResourceProviderNotFound – 如果未找到资源提供者。
PlacementInventoryNotFound – 未找到该类的库存。
- 返回值:
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 – 要返回的库存的资源类名称。
- 引发:
PlacementResourceProviderNotFound – 如果未找到资源提供者。
PlacementInventoryNotFound – 无法找到资源提供者的库存。
- 返回值:
资源类的库存,以字典形式。
- 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 的分配记录
- 参数:
consumer_uuid – 消费者的 UUID
allocations – 放置 API 参考中描述的字典形式:https://tinyurl.com/yxeuzn6l
- 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(可选)。
- 引发:
PlacementResourceProviderNotFound – 没有找到该资源提供程序。
PlacementResourceProviderNameNotUnique – 与具有相同名称的另一个资源提供程序冲突。
- 返回值:
更新后的资源提供程序。
- 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 – 资源提供程序的生成版本。可选。
- 引发:
PlacementResourceProviderNotFound – 如果未找到资源提供程序。
PlacementResourceProviderGenerationConflict – 如果资源提供程序的生成版本与服务器端不匹配。
- 返回值:
更新后的库存记录集。
- update_resource_provider_inventory(resource_provider_uuid, inventory, resource_class, resource_provider_generation=None)¶
更新资源提供程序库存。
- 参数:
resource_provider_uuid – 资源提供者的 UUID。
inventory – 要为资源类更新的库存。
resource_class – 资源类的名称。
resource_provider_generation – 资源提供程序的生成版本。可选。
- 引发:
PlacementResourceNotFound – 如果未找到资源提供程序或资源类。
PlacementResourceProviderGenerationConflict – 如果资源提供程序生成版本与服务器端不匹配。
- 返回值:
作为字典的资源类的更新后的库存。
- update_resource_provider_traits(resource_provider_uuid, traits, resource_provider_generation=None)¶
替换资源提供程序的所有关联特征。
- 参数:
resource_provider_uuid – 要设置特征的资源提供程序的 UUID
traits – 特征列表。
resource_provider_generation – 资源提供程序的生成版本。可选。如果调用者未提供,则通过重试调用来处理潜在的生成版本冲突。如果提供,我们假设调用者处理生成版本冲突。
- 引发:
PlacementResourceProviderNotFound – 如果未找到资源提供者。
PlacementTraitNotFound – 如果指定的任何特征无效。
PlacementResourceProviderGenerationConflict – 检测到并发冲突更新。
- 返回值:
资源提供程序的新特征以及资源提供程序生成版本。
- 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)