congress.dse2.dse_node.
DseNode
(messaging_config, node_id, node_rpc_endpoints, partition_id=None)¶Bases: object
Addressable entity participating on the DSE message bus.
The Data Services Engine (DSE) is comprised of one or more DseNode instances that each may run one or more DataService instances. All communication between data services uses the DseNode interface.
Attributes:
CONTROL_TOPIC
= 'congress-control'¶EXCHANGE
= 'congress'¶RPC_VERSION
= '1.0'¶SERVICE_TOPIC_PREFIX
= 'congress-service-'¶broadcast_node_rpc
(method, kwargs=None)¶Invoke RPC method on all DSE Nodes.
Param: | method: The method name to call. |
---|---|
Param: | kwargs: A dict of method arguments. |
Returns: | None Methods are invoked asynchronously and results are dropped. |
Raises: | RemoteError, MessageDeliveryFailure |
broadcast_service_rpc
(service_id, method, kwargs=None)¶Invoke RPC method on all instances of service_id.
Param: | service_id: The ID of the data service on which to invoke the call. |
---|---|
Param: | method: The method name to call. |
Param: | kwargs: A dict of method arguments. |
Returns: | None - Methods are invoked asynchronously and results are dropped. |
Raises: | RemoteError, MessageDeliveryFailure |
create_datasource_service
(datasource)¶Create a new DataService on this node.
Param: | datasource: datsource object. |
---|
delete_missing_driver_datasources
()¶dse_status
()¶Return latest observation of DSE status.
get_datasource
(id_)¶Return the created datasource.
get_datasources
(filter_secret=False)¶Return the created datasources as recorded in the DB.
This returns what datasources the database contains, not the datasources that this server instance is running.
get_driver_info
(driver_name)¶get_driver_schema
(drivername)¶get_drivers_info
()¶get_global_service_names
(hidden=False)¶Return names of all services on all nodes.
get_services
(hidden=False)¶Return all local service objects.
get_subscribers
(service_id)¶List of services subscribed to this service.
get_subscription
(service_id)¶Return publisher/tables subscribed by service: service_id
Return data structure: {publisher_id -> set of tables}
invoke_node_rpc
(node_id, method, kwargs=None, timeout=None)¶Invoke RPC method on a DSE Node.
Param: | node_id: The ID of the node on which to invoke the call. |
---|---|
Param: | method: The method name to call. |
Param: | kwargs: A dict of method arguments. |
Returns: | The result of the method invocation. |
Raises: | MessagingTimeout, RemoteError, MessageDeliveryFailure |
invoke_service_rpc
(service_id, method, kwargs=None, timeout=None, local=False, retry=None)¶Invoke RPC method on a DSE Service.
Param: | service_id: The ID of the data service on which to invoke the call. |
---|---|
Param: | method: The method name to call. |
Param: | kwargs: A dict of method arguments. |
Returns: | The result of the method invocation. |
Raises: | MessagingTimeout, RemoteError, MessageDeliveryFailure, NotFound |
is_valid_service
(service_id)¶load_custom_drivers
()¶load_drivers
()¶Loads all configured drivers
loaded_drivers
= {}¶make_datasource_dict
(req, fields=None)¶node_rpc_target
(namespace=None, server=None, fanout=False)¶publish_table
(publisher, table, data)¶Invoke RPC method on all insances of service_id.
Param: | service_id: The ID of the data service on which to invoke the call. |
---|---|
Param: | method: The method name to call. |
Param: | kwargs: A dict of method arguments. |
Returns: | None Methods are invoked asynchronously and results are dropped. |
Raises: | RemoteError, MessageDeliveryFailure |
publish_table_sequenced
(publisher, table, data, is_snapshot, seqnum)¶Invoke RPC method on all insances of service_id.
Param: | service_id: The ID of the data service on which to invoke the call. |
---|---|
Param: | method: The method name to call. |
Param: | kwargs: A dict of method arguments. |
Returns: | None Methods are invoked asynchronously and results are dropped. |
Raises: | RemoteError, MessageDeliveryFailure |
register_service
(service)¶service_object
(service_id=None, uuid_=None)¶Return the service object requested.
Search by service_id or uuid_ (only one should be supplied). None if not found.
service_rpc_target
(service_id, namespace=None, server=None, fanout=False)¶start
()¶stop
()¶subscribe_table
(subscriber, publisher, table)¶Prepare local service to receives publications from target/table.
table_subscribers
(publisher, table)¶List services on this node that subscribes to publisher/table.
to_set_of_tuples
(snapshot)¶unregister_service
(service_id=None, uuid_=None)¶Unregister service from DseNode matching on service_id or uuid_
Only one should be supplied. No-op if no matching service found.
unsubscribe_table
(subscriber, publisher, table)¶Remove subscription for local service to target/table.
validate_create_datasource
(req)¶wait
()¶congress.dse2.dse_node.
DseNodeEndpoints
(dsenode)¶Bases: object
Collection of RPC endpoints that the DseNode exposes on the bus.
Must be a separate class since all public methods of a given class are assumed to be valid RPC endpoints.
handle_publish
(context, publisher, table, data)¶Function called on the node when a publication is sent.
Forwards the publication to all of the relevant services.
handle_publish_sequenced
(context, publisher, table, data, is_snapshot, seqnum)¶Function called on the node when a publication is sent.
Forwards the publication to all of the relevant services.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.