'Actions that happen during the rescheduling attempt occur here.'

def _reschedule(self, context, cause, request_spec, filter_properties, volume):

    create_volume = self.scheduler_rpcapi.create_volume
    if (not filter_properties):
        filter_properties = {}
    if ('retry' not in filter_properties):
        filter_properties['retry'] = {}
    retry_info = filter_properties['retry']
    num_attempts = retry_info.get('num_attempts', 0)
    request_spec['volume_id'] = volume.id
    LOG.debug('Volume    %(volume_id)s:    re-scheduling    %(method)s    attempt    %(num)d    due    to    %(reason)s', {'volume_id': volume.id, 'method': common.make_pretty_name(create_volume), 'num': num_attempts, 'reason': cause.exception_str})
    if all(cause.exc_info):
        retry_info['exc'] = traceback.format_exception(*cause.exc_info)
    return create_volume(context, volume, request_spec=request_spec, filter_properties=filter_properties)
