The cinder.scheduler.flows.create_volume Module

class ExtractSchedulerSpecTask(db_api, **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_id, snapshot_id, image_id)
class ScheduleCreateVolumeTask(db_api, 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)
get_flow(context, db_api, driver_api, request_spec=None, filter_properties=None, volume_id=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. Extracts a scheduler specification from the provided inputs.
  3. Attaches 2 activated only on failure tasks (one to update the db status and one to notify on the MQ of the failure that occurred).
  4. Uses provided driver to then select and continue processing of volume request.

Previous topic

The cinder.scheduler.filters.capacity_filter Module

Next topic

The cinder.scheduler.host_manager Module

This Page