The nova.compute.cells_api Module

Compute API that proxies via Cells Service.

class ComputeCellsAPI(*args, **kwargs)

Bases: nova.compute.api.API

add_fixed_ip(context, instance, *args, **kwargs)
associate_floating_ip(context, target, *args, **kwargs)
create(*args, **kwargs)

We can use the base functionality, but I left this here just for completeness.

delete(context, instance)
delete_instance_metadata(context, instance, *args, **kwargs)
evacuate(context, instance, *args, **kwargs)
force_delete(context, instance)
get_console_output(context, instance, *args, **kwargs)
get_diagnostics(context, instance)

Retrieve diagnostics for the given instance.

get_instance_diagnostics(context, instance)

Retrieve diagnostics for the given instance.

get_migrations(context, filters)
get_rdp_console(context, target, *args, **kwargs)
get_serial_console(context, target, *args, **kwargs)
get_spice_console(context, target, *args, **kwargs)
get_vnc_console(context, target, *args, **kwargs)
remove_fixed_ip(context, instance, *args, **kwargs)
rescue(context, instance, *args, **kwargs)
restore(context, instance, *args, **kwargs)
shelve(context, target, *args, **kwargs)
shelve_offload(context, target, *args, **kwargs)
soft_delete(context, instance)
unrescue(context, instance, *args, **kwargs)
unshelve(context, target, *args, **kwargs)
update_instance_metadata(context, target, *args, **kwargs)
class ComputeRPCAPIRedirect(cells_rpcapi)

Bases: object

cells_compatible = ['start_instance', 'stop_instance', 'reboot_instance', 'suspend_instance', 'resume_instance', 'terminate_instance', 'soft_delete_instance', 'pause_instance', 'unpause_instance', 'revert_resize', 'confirm_resize', 'reset_network', 'inject_network_info', 'backup_instance', 'snapshot_instance', 'set_admin_password']
class ComputeRPCProxyAPI

Bases: nova.compute.rpcapi.ComputeAPI

Class used to substitute Compute RPC API that will proxy via the cells manager to a compute manager in a child cell.

get_client(target, version_cap, serializer)
class ConductorTaskRPCAPIRedirect(cells_rpcapi_obj)

Bases: object

cells_compatible = ['build_instances', 'resize_instance', 'live_migrate_instance', 'rebuild_instance']
class HostAPI

Bases: nova.compute.api.HostAPI

HostAPI() class for cells.

Implements host management related operations. Works by setting the RPC API used by the base class to proxy via the cells manager to the compute manager in the correct cell. Hosts specified with cells will need to be of the format 'path!to!cell@host‘.

DB methods in the base class are also overridden to proxy via the cells manager.

compute_node_get(context, compute_id)

Get a compute node from a particular cell by its integer ID. compute_id should be in the format of 'path!to!cell@ID‘.

compute_node_get_all(context)
compute_node_search_by_hypervisor(context, hypervisor_match)
compute_node_statistics(context)
get_host_uptime(context, host_name)

Returns the result of calling “uptime” on the target host.

host_power_action(context, host_name, action)
instance_get_all_by_host(context, host_name)

Get all instances by host. Host might have a cell prepended to it, so we’ll need to strip it out. We don’t need to proxy this call to cells, as we have instance information here in the API cell.

service_delete(context, service_id)

Deletes the specified service.

service_get_all(context, filters=None, set_zones=False)
service_get_by_compute_host(context, host_name)
service_update(context, 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.

Parameters:
  • 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}
set_host_enabled(context, host_name, enabled)
task_log_get_all(context, task_name, beginning, ending, host=None, state=None)

Return the task logs within a given range from cells, optionally filtering by the host and/or state. For cells, the host should be a path like 'path!to!cell@host‘. If no @host is given, only task logs from a particular cell will be returned.

class InstanceActionAPI

Bases: nova.compute.api.InstanceActionAPI

InstanceActionAPI() class for cells.

action_events_get(context, instance, action_id)
action_get_by_request_id(context, instance, request_id)
actions_get(context, instance)
class RPCClientCellsProxy(target, version_cap)

Bases: object

call(ctxt, method, **kwargs)
can_send_version(version)
cast(ctxt, method, **kwargs)
prepare(**kwargs)

Previous topic

The nova.compute.build_results Module

Next topic

The nova.compute.claims Module

Project Source

This Page