Scheduler base class that all Schedulers should inherit from
-
class Scheduler
Bases: object
The base class that all Scheduler classes should inherit from.
-
assert_compute_node_has_enough_disk(context, instance_ref, dest, disk_over_commit)
Checks if destination host has enough disk for block migration.
Parameters: |
- context – security context
- instance_ref – nova.db.sqlalchemy.models.Instance object
- dest – destination host
- disk_over_commit – if True, consider real(not virtual)
disk size.
|
-
assert_compute_node_has_enough_memory(context, instance_ref, dest)
Checks if destination host has enough memory for live migration.
Parameters: |
- context – security context
- instance_ref – nova.db.sqlalchemy.models.Instance object
- dest – destination host
|
-
assert_compute_node_has_enough_resources(context, instance_ref, dest, block_migration, disk_over_commit)
Checks if destination host has enough resource for live migration.
Parameters: |
- context – security context
- instance_ref – nova.db.sqlalchemy.models.Instance object
- dest – destination host
- block_migration – if true, block_migration.
- disk_over_commit – if True, consider real(not virtual)
disk size.
|
-
create_instance_db_entry(context, request_spec)
Create instance DB entry based on request_spec
-
get_host_list()
Get a list of hosts from the HostManager.
-
get_service_capabilities()
Get the normalized set of capabilities for the services.
-
hosts_up(context, topic)
Return the list of hosts that have a running service for topic.
-
mounted_on_same_shared_storage(context, instance_ref, dest)
Check if the src and dest host mount same shared storage.
At first, dest host creates temp file, and src host can see
it if they mounts same shared storage. Then src host erase it.
Parameters: |
- context – security context
- instance_ref – nova.db.sqlalchemy.models.Instance object
- dest – destination host
|
-
schedule(context, topic, method, *_args, **_kwargs)
Must override schedule method for scheduler to work.
-
schedule_live_migration(context, instance_id, dest, block_migration=False, disk_over_commit=False)
Live migration scheduling method.
Parameters: |
- context –
- instance_id –
- dest – destination host
- block_migration – if true, block_migration.
- disk_over_commit – if True, consider real(not virtual)
disk size.
|
Returns: | The host where instance is running currently.
Then scheduler send request that host.
|
-
schedule_prep_resize(context, request_spec, *_args, **_kwargs)
Must override schedule_prep_resize method for scheduler to work.
-
schedule_run_instance(context, request_spec, *_args, **_kwargs)
Must override schedule_run_instance method for scheduler to work.
-
update_service_capabilities(service_name, host, capabilities)
Process a capability update from a service node.
-
cast_to_compute_host(context, host, method, update_db=True, **kwargs)
Cast request to a compute host queue
-
cast_to_host(context, topic, host, method, update_db=True, **kwargs)
Generic cast to host
-
cast_to_network_host(context, host, method, update_db=False, **kwargs)
Cast request to a network host queue
-
cast_to_volume_host(context, host, method, update_db=True, **kwargs)
Cast request to a volume host queue
-
encode_instance(instance, local=True)
Encode locally created instance for return via RPC