Scheduler Service
Bases: nova.manager.Manager
Chooses a host to run instances on.
After we start up and can receive messages via RPC, tell all compute nodes to send us their capabilities.
Tries to call schedule_prep_resize on the driver. Sets instance vm_state to ACTIVE on NoHostFound Sets vm_state to ERROR on other exceptions
Tries to call schedule_run_instance on the driver. Sets instance vm_state to ERROR on exceptions
Returns host(s) best suited for this request_spec and filter_properties
Shows the physical/usage resource given by hosts.
Parameters: |
|
---|---|
Returns: | example format is below: {'resource':D, 'usage':{proj_id1:D, proj_id2:D}}
D: {'vcpus': 3, 'memory_mb': 2048, 'local_gb': 2048,
'vcpus_used': 12, 'memory_mb_used': 10240,
'local_gb_used': 64}
|
Process a capability update from a service node.
Scheduler base class that all Schedulers should inherit from
Bases: object
The base class that all Scheduler classes should inherit from.
Return the list of hosts that have VM’s from the group.
Return the list of hosts that have a running service for topic.
Live migration scheduling method.
Parameters: |
|
---|---|
Returns: | The host where instance is running currently. Then scheduler send request that host. |
Must override schedule_prep_resize method for scheduler to work.
Must override schedule_run_instance method for scheduler to work.
Must override select_hosts method for scheduler to work.
Process a capability update from a service node.
Encode locally created instance for return via RPC.
Clear the host and node - set the scheduled_at field of an Instance.
Returns: | An Instance with the updated fields set properly. |
---|
Chance (Random) Scheduler implementation
Bases: nova.scheduler.driver.Scheduler
Implements Scheduler as a random node selector.
Select a target for resize.
Create and run an instance or instances.
Selects a set of random hosts.