def METHOD_NAME(cls, field, list_of_values, instances_ids=None, since_step=None):
    """
        Migrate infras
        params:
            - field: field name to loopkup
            - list_of_values: array with values
            - instances_ids: array of instances to run if None we get all
            - since_step: specific step to continue
        Ex: RegionMigrationUtil.prepare_by('id', [1,2,3])
            the code will do DatabaseInfra.objects.filter(id__in=list_of_values)
        Ex: RegionMigrationUtil.prepare_by('name', ['infraname 1', 'infraname 2'])
            the code will do DatabaseInfra.objects.filter(name__in=list_of_values)
    """
    infras = cls.get_infras(field, list_of_values)
    resp = cls.confirm('Migrate infras {}\n'.format(infras))
    if resp:
        for infra in infras:
            if instances_ids:
                instances = infra.instances.filter(id__in=instances_ids)
            else:
                instances = infra.instances.all()
            sentinel = len(instances) == 5
            if sentinel:
                instances = [instances[0], instances[2], instances[4]]
            params = dict(
                infra=infra,
                instances=instances,
                **{'since_step': since_step} if since_step else {}
            )
            if cls.dry_run:
                print params
            else:
                region_migration_start.delay(**params)
        print 'Done'
    else:
        print 'GoodBye'