'Provision instances, sending instance information to the
scheduler.  The scheduler will determine where the instance(s)
go and will handle creating the DB entries.
Returns a tuple of (instances, reservation_id)'

@hooks.add_hook('create_instance')
def create(self, context, instance_type, image_href, kernel_id=None, ramdisk_id=None, min_count=None, max_count=None, display_name=None, display_description=None, key_name=None, key_data=None, security_groups=None, availability_zone=None, forced_host=None, forced_node=None, user_data=None, metadata=None, injected_files=None, admin_password=None, block_device_mapping=None, access_ip_v4=None, access_ip_v6=None, requested_networks=None, config_drive=None, auto_disk_config=None, scheduler_hints=None, legacy_bdm=True, shutdown_terminate=False, check_server_group_quota=False, tags=None):

    if (requested_networks and (max_count is not None) and (max_count > 1)):
        self._check_multiple_instances_with_specified_ip(requested_networks)
        if utils.is_neutron():
            self._check_multiple_instances_with_neutron_ports(requested_networks)
    if availability_zone:
        available_zones = availability_zones.get_availability_zones(context.elevated(), True)
        if ((forced_host is None) and (availability_zone not in available_zones)):
            msg = _('The    requested    availability    zone    is    not    available')
            raise exception.InvalidRequest(msg)
    filter_properties = scheduler_utils.build_filter_properties(scheduler_hints, forced_host, forced_node, instance_type)
    return self._create_instance(context, instance_type, image_href, kernel_id, ramdisk_id, min_count, max_count, display_name, display_description, key_name, key_data, security_groups, availability_zone, user_data, metadata, injected_files, admin_password, access_ip_v4, access_ip_v6, requested_networks, config_drive, block_device_mapping, auto_disk_config, filter_properties=filter_properties, legacy_bdm=legacy_bdm, shutdown_terminate=shutdown_terminate, check_server_group_quota=check_server_group_quota, tags=tags)
