'Recovers Instance/volume state from migrating -> running.
:param context: security context
:param instance: nova.objects.instance.Instance object
:param dest:
This method is called from live migration src host.
This param specifies destination host.
:param migrate_data:
if not none, contains implementation specific data.
:param migration_status:
Contains the status we want to set for the migration object'

@wrap_exception()
@wrap_instance_fault
def _rollback_live_migration(self, context, instance, dest, migrate_data=None, migration_status='error'):

    instance.task_state = None
    instance.progress = 0
    instance.save(expected_task_state=[task_states.MIGRATING])
    if isinstance(migrate_data, dict):
        migration = migrate_data.pop('migration', None)
        migrate_data = migrate_data_obj.LiveMigrateData.detect_implementation(migrate_data)
    elif (isinstance(migrate_data, migrate_data_obj.LiveMigrateData) and migrate_data.obj_attr_is_set('migration')):
        migration = migrate_data.migration
    else:
        migration = None
    self.network_api.setup_networks_on_host(context, instance, self.host)
    bdms = objects.BlockDeviceMappingList.get_by_instance_uuid(context, instance.uuid)
    for bdm in bdms:
        if bdm.is_volume:
            self.compute_rpcapi.remove_volume_connection(context, instance, bdm.volume_id, dest)
    self._notify_about_instance_usage(context, instance, 'live_migration._rollback.start')
    compute_utils.notify_about_instance_action(context, instance, self.host, action=fields.NotificationAction.LIVE_MIGRATION_ROLLBACK, phase=fields.NotificationPhase.START)
    (do_cleanup, destroy_disks) = self._live_migration_cleanup_flags(migrate_data)
    if do_cleanup:
        self.compute_rpcapi.rollback_live_migration_at_destination(context, instance, dest, destroy_disks=destroy_disks, migrate_data=migrate_data)
    self._notify_about_instance_usage(context, instance, 'live_migration._rollback.end')
    compute_utils.notify_about_instance_action(context, instance, self.host, action=fields.NotificationAction.LIVE_MIGRATION_ROLLBACK, phase=fields.NotificationPhase.END)
    self._set_migration_status(migration, migration_status)
