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 nova.cells.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.

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)
backup_instance(ctxt, instance, image_id, backup_type, rotation)

Backup an instance in its cell.

bdm_destroy_at_top(ctxt, instance_uuid, device_name=None, volume_id=None)

BDM was destroyed for instance in this cell. Tell the API cells.

bdm_update_or_create_at_top(ctxt, bdm, create=None)

BDM was created/updated in this cell. Tell the API cells.

build_instances(ctxt, build_inst_kwargs)

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

bw_usage_update_at_top(ctxt, bw_update_info)

Update bandwidth usage at top level cell.

cell_create(ctxt, values)
cell_delete(ctxt, cell_name)
cell_get(ctxt, cell_name)
cell_update(ctxt, cell_name, values)
compute_node_get(*args, **kwargs)
compute_node_get_all(ctxt, hypervisor_match=None)

Return list of compute nodes in all cells.


Return compute node stats totals from all cells.

confirm_resize(ctxt, instance)

Confirm a resize for an instance in its cell.

consoleauth_delete_tokens(ctxt, instance_uuid)

Delete consoleauth tokens for an instance in API cells.

get_capacities(ctxt, cell_name)

Return cell information for our neighbor cells.

get_host_uptime(ctxt, host_name)

Return host uptime for a compute host in a certain cell

Parameters:host_name – fully qualified hostname. It should be in format of parent!child@host_id
get_keypair_at_top(ctxt, user_id, name)
get_migrations(ctxt, filters)

Fetch migrations applying the filters.

inject_network_info(ctxt, instance)

Inject networking for an instance in its cell.

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.

instance_update_from_api(ctxt, instance, expected_vm_state, expected_task_state, admin_state_reset)

Update an instance in its cell.

live_migrate_instance(ctxt, instance, block_migration, disk_over_commit, host_name)

Live migrate an instance in its cell.

pause_instance(ctxt, instance)

Pause an instance in its cell.


Have the driver start its servers 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(*args, **kwargs)
reboot_instance(ctxt, instance, reboot_type)

Reboot an instance in its cell.

rebuild_instance(ctxt, instance, image_href, admin_password, files_to_inject, preserve_ephemeral, kwargs)
reset_network(ctxt, instance)

Reset networking for an instance in its cell.

resize_instance(ctxt, instance, flavor, extra_instance_updates, clean_shutdown=True)

Resize an instance in its cell.

resume_instance(ctxt, instance)

Resume an instance in its cell.

revert_resize(ctxt, instance)

Revert a resize for an instance in its cell.

run_compute_api_method(ctxt, cell_name, method_info, call)

Call a compute API method in a specific cell.

service_delete(ctxt, cell_service_id)

Deletes the specified service.

service_get_all(ctxt, filters)

Return services in this cell and in all child cells.

service_get_by_compute_host(*args, **kwargs)
service_update(ctxt, host_name, binary, params_to_update)

Used to enable/disable a service. For compute services, setting to disabled stops new builds arriving on that host.

  • host_name – the name of the host machine that the service is running
  • binary – The name of the executable that the service runs as
  • params_to_update – eg. {‘disabled’: True}

the service reference

set_admin_password(ctxt, instance, new_pass)
snapshot_instance(ctxt, instance, image_id)

Snapshot an instance in its cell.

soft_delete_instance(ctxt, instance)

Soft-delete an instance in its cell.

start_instance(ctxt, instance)

Start an instance in its cell.

stop_instance(ctxt, instance, do_cast=True, clean_shutdown=True)

Stop an instance in its cell.

suspend_instance(ctxt, instance)

Suspend an instance in its 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.

target = <Target version=1.37>
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.

terminate_instance(ctxt, instance, delete_type='delete')

Delete an instance in its cell.

unpause_instance(ctxt, instance)

Unpause an instance in its cell.

validate_console_port(ctxt, instance_uuid, console_port, console_type)

Validate console port with child cell compute node.

Previous topic

The nova.cells.filters.target_cell Module

Next topic

The nova.cells.messaging Module

Project Source

This Page