The nova.cells.manager Module

Cells Service Manager

class CellsManager(*args, **kwargs)

Bases: nova.manager.Manager

The nova-cells manager class. This class defines RPC methods that the local cell may call. This class is NOT used for messages coming from other cells. That communication is driver-specific.

Communication to other cells happens via the messaging module. The MessageRunner from that module will handle routing the message to the correct cell via the communications driver. Most methods below create ‘targeted’ (where we want to route a message to a specific cell) or ‘broadcast’ (where we want a message to go to multiple cells) messages.

Scheduling requests get passed to the scheduler class.

RPC_API_VERSION = '1.6'
action_events_get(ctxt, cell_name, action_id)
action_get_by_request_id(ctxt, cell_name, instance_uuid, request_id)
actions_get(ctxt, cell_name, instance_uuid)
bw_usage_update_at_top(ctxt, bw_update_info)

Update bandwidth usage at top level cell.

compute_node_get(ctxt, compute_id)

Get a compute node by ID in a specific cell.

compute_node_get_all(ctxt, hypervisor_match=None)

Return list of compute nodes in all cells.

compute_node_stats(ctxt)

Return compute node stats totals from all cells.

consoleauth_delete_tokens(ctxt, instance_uuid)

Delete consoleauth tokens for an instance in API cells.

get_cell_info_for_neighbors(_ctxt)

Return cell information for our neighbor cells.

instance_delete_everywhere(ctxt, instance, delete_type)

This is used by API cell when it didn’t know what cell an instance was in, but the instance was requested to be deleted or soft_deleted. So, we’ll broadcast this everywhere.

instance_destroy_at_top(ctxt, instance)

Destroy an instance at the top level cell.

instance_fault_create_at_top(ctxt, instance_fault)

Create an instance fault at the top level cell.

instance_update_at_top(ctxt, instance)

Update an instance at the top level cell.

post_start_hook()

Have the driver start its consumers for inter-cell communication. Also ask our child cells for their capacities and capabilities so we get them more quickly than just waiting for the next periodic update. Receiving the updates from the children will cause us to update our parents. If we don’t have any children, just update our parents immediately.

proxy_rpc_to_manager(ctxt, topic, rpc_message, call, timeout)

Proxy an RPC message as-is to a manager.

run_compute_api_method(ctxt, cell_name, method_info, call)

Call a compute API method in a specific cell.

schedule_run_instance(ctxt, host_sched_kwargs)

Pick a cell (possibly ourselves) to build new instance(s) and forward the request accordingly.

service_get_all(ctxt, filters)

Return services in this cell and in all child cells.

service_get_by_compute_host(ctxt, host_name)

Return a service entry for a compute host in a certain cell.

sync_instances(ctxt, project_id, updated_since, deleted)

Force a sync of all instances, potentially by project_id, and potentially since a certain date/time.

task_log_get_all(ctxt, task_name, period_beginning, period_ending, host=None, state=None)

Get task logs from the DB from all cells or a particular cell.

If ‘host’ is not None, host will be of the format 'cell!name@host‘, with '@host‘ being optional. The query will be directed to the appropriate cell and return all task logs, or task logs matching the host if specified.

‘state’ also may be None. If it’s not, filter by the state as well.

validate_console_port(ctxt, instance_uuid, console_port, console_type)

Validate console port with child cell compute node.

Previous topic

The nova.cells.driver Module

Next topic

The nova.cells.messaging Module

This Page