The cinder.scheduler.manager Module

Scheduler Service

class SchedulerManager(scheduler_driver=None, service_name=None, *args, **kwargs)

Bases: cinder.manager.CleanableManager, cinder.manager.Manager

Chooses a host to create volumes.

RPC_API_VERSION = '3.5'
create_consistencygroup(context, group, request_spec_list=None, filter_properties_list=None)
create_group(context, group, group_spec=None, group_filter_properties=None, request_spec_list=None, filter_properties_list=None)
create_volume(context, volume, snapshot_id=None, image_id=None, request_spec=None, filter_properties=None)
extend_volume(context, volume, new_size, reservations, request_spec=None, filter_properties=None)
get_pools(context, filters=None)

Get active pools from scheduler’s cache.

NOTE(dulek): There’s no self._wait_for_scheduler() because get_pools is an RPC call (is blocking for the c-api). Also this is admin-only API extension so it won’t hurt the user much to retry the request manually.

init_host_with_rpc()
manage_existing(context, volume, request_spec, filter_properties=None)

Ensure that the host exists and can accept the volume.

migrate_volume(context, volume, backend, force_copy, request_spec, filter_properties)

Ensure that the backend exists and can accept the volume.

migrate_volume_to_host(context, volume, host, force_host_copy, request_spec, filter_properties=None)
notify_service_capabilities(context, service_name, capabilities, host=None, backend=None, timestamp=None)

Process a capability update from a service node.

request_service_capabilities(context)
reset()
retype(context, volume, request_spec, filter_properties=None)

Schedule the modification of a volume’s type.

Parameters:
  • context – the request context
  • volume – the volume object to retype
  • request_spec – parameters for this retype request
  • filter_properties – parameters to filter by
target = <Target version=3.5>
update_service_capabilities(context, service_name=None, host=None, capabilities=None, cluster_name=None, timestamp=None, **kwargs)

Process a capability update from a service node.

upgrading_cloud
work_cleanup(context, cleanup_request)

Process request from API to do cleanup on services.

Here we retrieve from the DB which services we want to clean up based on the request from the user.

Then send individual cleanup requests to each of the services that are up, and we finally return a tuple with services that we have sent a cleanup request and those that were not up and we couldn’t send it.