'Try to re-schedule the resize or re-raise the original error to
error out the instance.'

def _reschedule_resize_or_reraise(self, context, image, instance, exc_info, instance_type, request_spec, filter_properties):

    if (not request_spec):
        request_spec = {}
    if (not filter_properties):
        filter_properties = {}
    rescheduled = False
    instance_uuid = instance.uuid
    try:
        reschedule_method = self.compute_task_api.resize_instance
        scheduler_hint = dict(filter_properties=filter_properties)
        method_args = (instance, None, scheduler_hint, instance_type)
        task_state = task_states.RESIZE_PREP
        rescheduled = self._reschedule(context, request_spec, filter_properties, instance, reschedule_method, method_args, task_state, exc_info)
    except Exception as error:
        rescheduled = False
        LOG.exception('Error    trying    to    reschedule', instance_uuid=instance_uuid)
        compute_utils.add_instance_fault_from_exc(context, instance, error, exc_info=sys.exc_info())
        self._notify_about_instance_usage(context, instance, 'resize.error', fault=error)
    if rescheduled:
        self._log_original_error(exc_info, instance_uuid)
        compute_utils.add_instance_fault_from_exc(context, instance, exc_info[1], exc_info=exc_info)
        self._notify_about_instance_usage(context, instance, 'resize.error', fault=exc_info[1])
    else:
        six.reraise(*exc_info)
