# 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 a `TypeError`).

    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 super().default(o)

this page last updated: 2026-03-03 11:51:03

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug