DataDriverBase
(conf, cache, control_driver)[source]Interface definition for storage drivers.
Data plane storage drivers are responsible for implementing the core functionality of the system.
Connection information and driver-specific options are loaded from the config file or the pool catalog.
Parameters: |
|
---|
capabilities
Returns storage’s capabilities.
claim_controller
Returns the driver’s claim controller.
close
()[source]Close connections to the backend.
gc
()[source]Perform manual garbage collection of claims and messages.
This method can be overridden in order to provide a trigger that can be called by so-called “garbage collection” scripts that are required by some drivers.
By default, this method does nothing.
health
()[source]Return the health status of service.
is_alive
()[source]Check whether the storage is ready.
message_controller
Returns the driver’s message controller.
subscription_controller
Returns the driver’s subscription controller.
topic_controller
Returns the driver’s topic controller.
ControlDriverBase
(conf, cache)[source]Interface definition for control plane storage drivers.
Storage drivers that work at the control plane layer allow one to modify aspects of the functionality of the system. This is ideal for administrative purposes.
Allows access to the pool registry through a catalogue and a pool controller.
Parameters: |
|
---|
catalogue_controller
Returns the driver’s catalogue controller.
close
()[source]Close connections to the backend.
flavors_controller
Returns storage’s flavor management controller.
pools_controller
Returns storage’s pool management controller.
queue_controller
Returns the driver’s queue controller.
topic_controller
Returns the driver’s topic controller.
Queue
(driver)[source]This class is responsible for managing queues.
Queue operations include CRUD, monitoring, etc.
Storage driver implementations of this class should be capable of handling high workloads and huge numbers of queues.
calculate_resource_count
(project=None)[source]Base method for calculate queues amount.
Parameters: | project – Project id |
---|---|
Returns: | The number of queues. |
create
(name, metadata=None, project=None)[source]Base method for queue creation.
Parameters: |
|
---|---|
Returns: | True if a queue was created and False if it was updated. |
delete
(name, project=None)[source]Base method for deleting a queue.
Parameters: |
|
---|
exists
(name, project=None)[source]Base method for testing queue existence.
Parameters: |
|
---|---|
Returns: | True if a queue exists and False if it does not. |
get
(name, project=None)[source]Base method for queue metadata retrieval.
Parameters: |
|
---|---|
Returns: | Dictionary containing queue metadata |
Raises: | DoesNotExist – if queue metadata does not exist |
get_metadata
(name, project=None)[source]Base method for queue metadata retrieval.
Parameters: |
|
---|---|
Returns: | Dictionary containing queue metadata |
Raises: | DoesNotExist – if queue metadata does not exist |
list
(project=None, kfilter={}, marker=None, limit=10, detailed=False, name=None)[source]Base method for listing queues.
Parameters: |
|
---|---|
Returns: | An iterator giving a sequence of queues and the marker of the next page. |
set_metadata
(name, metadata, project=None)[source]Base method for updating a queue metadata.
Parameters: |
|
---|---|
Raises: | DoesNotExist – if queue metadata can not be updated |
stats
(name, project=None)[source]Base method for queue stats.
Parameters: |
|
---|---|
Returns: | Dictionary with the queue stats |
Message
(driver)[source]This class is responsible for managing message CRUD.
bulk_delete
(queue, message_ids, project=None, claim_ids=None)[source]Base method for deleting multiple messages.
Parameters: |
|
---|
bulk_get
(queue, message_ids, project=None)[source]Base method for getting multiple messages.
Parameters: |
|
---|---|
Returns: | An iterable, yielding dicts containing message details |
delete
(queue, message_id, project=None, claim=None)[source]Base method for deleting a single message.
Parameters: |
|
---|
first
(queue, project=None, sort=1)[source]Get first message in the queue (including claimed).
Parameters: |
|
---|---|
Returns: | First message in the queue, or None if the queue is empty |
get
(queue, message_id, project=None)[source]Base method for getting a message.
Parameters: |
|
---|---|
Returns: | Dictionary containing message data |
Raises: | DoesNotExist – if message data can not be got |
list
(queue, project=None, marker=None, limit=10, echo=False, client_uuid=None, include_claimed=False, include_delayed=False)[source]Base method for listing messages.
Parameters: |
|
---|---|
Returns: | An iterator giving a sequence of messages and the marker of the next page. |
pop
(queue, limit, project=None)[source]Base method for popping messages.
Parameters: |
|
---|
post
(queue, messages, client_uuid, project=None)[source]Base method for posting one or more messages.
Implementations of this method should guarantee and preserve the order, in the returned list, of incoming messages.
Parameters: |
|
---|---|
Returns: | List of message ids |
Claim
(driver)[source]create
(queue, metadata, project=None, limit=10)[source]Base method for creating a claim.
Parameters: |
|
---|---|
Returns: | (Claim ID, claimed messages) |
delete
(queue, claim_id, project=None)[source]Base method for deleting a claim.
Parameters: |
|
---|
get
(queue, claim_id, project=None)[source]Base method for getting a claim.
Parameters: |
|
---|---|
Returns: | (Claim’s metadata, claimed messages) |
Raises: | DoesNotExist – if claimed messages can not be got |
update
(queue, claim_id, metadata, project=None)[source]Base method for updating a claim.
Parameters: |
|
---|
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.