The cinder.scheduler.flows.create_volume Module

class ExtractSchedulerSpecTask(**kwargs)

Bases: cinder.flow_utils.CinderTask

Extracts a spec object from a partial and/or incomplete request spec.

Reversion strategy: N/A

default_provides = set(['request_spec'])
execute(context, request_spec, volume, snapshot_id, image_id)
class ScheduleCreateVolumeTask(driver_api, **kwargs)

Bases: cinder.flow_utils.CinderTask

Activates a scheduler driver and handles any subsequent failures.

Notification strategy: on failure the scheduler rpc notifier will be activated and a notification will be emitted indicating what errored, the reason, and the request (and misc. other data) that caused the error to be triggered.

Reversion strategy: N/A

FAILURE_TOPIC = 'scheduler.create_volume'
execute(context, request_spec, filter_properties, volume)
get_flow(context, driver_api, request_spec=None, filter_properties=None, volume=None, snapshot_id=None, image_id=None)

Constructs and returns the scheduler entrypoint flow.

This flow will do the following:

  1. Inject keys & values for dependent tasks.
  2. Extract a scheduler specification from the provided inputs.
  3. Use provided scheduler driver to select host and pass volume creation request further.