neutron_lib.placement.client module¶
- class neutron_lib.placement.client.NoAuthClient(url)¶
Bases:
object
Placement NoAuthClient for fullstack testing
- 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')¶
Bases:
object
Client class for placement ReST API.
- associate_aggregates(resource_provider_uuid, aggregates)¶
Associate a list of aggregates with a resource provider.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
aggregates – aggregates to be associated to the resource provider.
- Returns:
All aggregates associated with the resource provider.
- create_resource_class(name)¶
Create a custom resource class
- Parameters:
name – the name of the resource class
- Returns:
None.
- create_resource_provider(resource_provider)¶
Create a resource provider.
- Parameters:
resource_provider – The resource provider. A dict with the uuid (required), the name (required) and the parent_provider_uuid (optional).
- Returns:
The resource provider created.
- delete_resource_class(name)¶
Delete a custom resource class.
- Parameters:
name – The name of the resource class to be deleted.
- Raises:
PlacementResourceClassNotFound – If the resource class is not found.
- Returns:
None.
- delete_resource_provider(resource_provider_uuid)¶
Delete a resource provider.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
- delete_resource_provider_inventories(resource_provider_uuid)¶
Delete all inventory records for the resource provider.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
- Raises:
PlacementResourceProviderNotFound – If the resource provider is not found.
- Returns:
None.
- delete_resource_provider_inventory(resource_provider_uuid, resource_class)¶
Delete inventory of the resource class for a resource provider.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
resource_class – The name of the resource class
- Raises:
PlacementResourceProviderNotFound – If the resource provider is not found.
PlacementInventoryNotFound – No inventory of class.
- Returns:
None.
- delete_resource_provider_traits(resource_provider_uuid)¶
Delete resource provider traits.
- Parameters:
resource_provider_uuid – The UUID of the resource provider for which to delete all the traits.
- Raises:
PlacementResourceProviderNotFound – If the resource provider is not found.
- Returns:
None.
- delete_trait(name)¶
Delete the specified trait.
- Parameters:
name – the name of the trait to be deleted.
- Raises:
PlacementTraitNotFound – If the trait did not exist.
- Returns:
None.
- ensure_resource_provider(resource_provider)¶
Ensure a resource provider exists by updating or creating it.
- Parameters:
resource_provider – The resource provider. A dict with the uuid (required), the name (required) and the parent_provider_uuid (optional).
- Returns:
The Resource Provider updated or created.
Beware, this is not an atomic operation of the API.
- get_inventory(resource_provider_uuid, resource_class)¶
Get resource provider inventory.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
resource_class – Resource class name of the inventory to be returned.
- Raises:
PlacementResourceProviderNotFound – If the resource provider is not found.
PlacementInventoryNotFound – For failure to find inventory for a resource provider.
- Returns:
The inventory of the resource class as a dict.
- get_resource_class(name)¶
Show resource class.
- Parameters:
name – The name of the resource class to show
- Raises:
PlacementResourceClassNotFound – If the resource class is not found.
- Returns:
The name of resource class and its set of links.
- get_resource_provider(resource_provider_uuid)¶
Get resource provider by UUID.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
- Raises:
PlacementResourceProviderNotFound – For failure to find resource
- Returns:
The Resource Provider matching the UUID.
- get_trait(name)¶
Check if a given trait exists
- Parameters:
name – name of the trait to check.
- Raises:
PlacementTraitNotFound – If the trait name not found.
- Returns:
Evaluates to True if the trait exists.
- list_aggregates(resource_provider_uuid)¶
List resource provider aggregates.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
- Raises:
PlacementAggregateNotFound – For failure to the aggregates of a resource provider.
- Returns:
The list of aggregates together with the resource provider generation.
- list_allocations(consumer_uuid)¶
List allocations for the consumer
- Parameters:
consumer_uuid – The uuid of the consumer, in case of bound port owned by a VM, the VM uuid.
- Returns:
All allocation records for the consumer.
- list_resource_classes()¶
List resource classes
- list_resource_provider_traits(resource_provider_uuid)¶
List all traits associated with a resource provider
- Parameters:
resource_provider_uuid – UUID of the resource provider for which the traits will be listed
- Raises:
PlacementResourceProviderNotFound – If the resource provider is not found.
- Returns:
The associated traits of the resource provider together with the resource provider generation.
- list_resource_providers(name=None, member_of=None, resources=None, in_tree=None, uuid=None)¶
Get a list of resource providers.
- Parameters:
name – Name of the resource providers.
member_of – List of aggregate UUID to get those resource providers that are associated with. NOTE: placement 1.3 needed.
resources – Dictionary of resource classes and requested values.
in_tree – UUID of a resource provider that the caller wants to limit the returned providers to those within its ‘provider tree’. The returned list will contain only resource providers with the root_provider_id of the resource provider with UUID == tree_uuid. NOTE: placement 1.14 needed.
uuid – UUID of the resource provider.
- Raises:
PlacementAPIVersionIncorrect – If placement API target version is too low
- Returns:
A list of Resource Provider matching the filters.
- list_traits()¶
List all traits.
- update_allocation(consumer_uuid, allocations)¶
Update allocation record for given consumer and rp
- Parameters:
consumer_uuid – The uuid of the consumer
allocations – Dict in the form described in placement API ref: https://tinyurl.com/yxeuzn6l
- update_qos_allocation(consumer_uuid, alloc_diff)¶
Update allocation for QoS minimum bandwidth consumer
- Parameters:
consumer_uuid – The uuid of the consumer, in case of bound port owned by a VM, the VM uuid.
alloc_diff – A dict which contains RP UUIDs as keys and corresponding fields to update for the allocation under the given resource provider.
- update_resource_class(name)¶
Create or validate the existence of the resource custom class.
- Parameters:
name – the name of the resource class to be updated or validated
- Returns:
None.
- update_resource_provider(resource_provider)¶
Update the resource provider identified by uuid.
- Parameters:
resource_provider – The resource provider. A dict with the uuid (required), the name (required) and the parent_provider_uuid (optional).
- Raises:
PlacementResourceProviderNotFound – No such resource provider.
PlacementResourceProviderNameNotUnique – Conflict with another resource provider with the same name.
- Returns:
The updated resource provider.
- update_resource_provider_inventories(resource_provider_uuid, inventories, resource_provider_generation=None)¶
Replaces the set of inventory records for a resource provider.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
inventories – The inventories. A dict in the format (see: Placement API ref: https://goo.gl/F22mtk) {resource_class(required): {allocation_ratio(required): total(required): max_unit(required): min_unit(required): reserved(required): step_size(required): }}
resource_provider_generation – The generation of the resource provider. Optional.
- Raises:
PlacementResourceProviderNotFound – if the resource provider is not found.
PlacementResourceProviderGenerationConflict – if the generation of the resource provider does not match with the server side.
- Returns:
The updated set of inventory records.
- update_resource_provider_inventory(resource_provider_uuid, inventory, resource_class, resource_provider_generation=None)¶
Update resource provider inventory.
- Parameters:
resource_provider_uuid – UUID of the resource provider.
inventory – The inventory to be updated for the resource class.
resource_class – The name of the resource class.
resource_provider_generation – The generation of the resource provider. Optional.
- Raises:
PlacementResourceNotFound – If the resource provider or the resource class is not found.
PlacementResourceProviderGenerationConflict – If the resource provider generation does not match with the server side.
- Returns:
The updated inventory of the resource class as a dict.
- update_resource_provider_traits(resource_provider_uuid, traits, resource_provider_generation=None)¶
Replace all associated traits of a resource provider.
- Parameters:
resource_provider_uuid – UUID of the resource provider for which to set the traits
traits – a list of traits.
resource_provider_generation – The generation of the resource provider. Optional. If not supplied by the caller, handle potential generation conflict by retrying the call. If supplied we assume the caller handles generation conflict.
- Raises:
PlacementResourceProviderNotFound – If the resource provider is not found.
PlacementTraitNotFound – If any of the specified traits are not valid.
PlacementResourceProviderGenerationConflict – For concurrent conflicting updates detected.
- Returns:
The new traits of the resource provider together with the resource provider generation.
- update_trait(name)¶
Insert a single custom trait.
- Parameters:
name – name of the trait to create.
- Returns:
The Response object so you may access response headers.
- 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)¶
Bases:
JSONEncoder
- default(o)¶
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
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 JSONEncoder.default(self, o)