Scheduler Filters

The nova scheduler has a bunch of filters. See here: http://docs.openstack.org/developer/nova/devref/filter_scheduler.html

This is a quick summary of the filters in grizzly:


 * affinity_filter - Don't put instances in a set on the same host
 * aggregate_instance_extra_specs - Only build on hosts that support the desired instance type
 * aggregate_multitenancy_isolation - This host is reserved for 'tenant_id'; only his vms can go here
 * all_hosts_filter - All hosts are good, yippee!
 * availability_zone_filter - Can only build in hosts that are in the desired 'availability_zone'
 * compute_capabilities_filter - Check that vm's 'extra_specs' match hosts 'capabilities'
 * compute_filter - Only build on active compute nodes
 * core_filter - Only if we have enough cpu cores free
 * disk_filter - Only if we have enough disk space free
 * extra_specs_ops - NOT A FILTER - defines operators for compute_capabilities_filter, like >=
 * image_props_filter - Checks the requirement of the VM image on architecture, hypervisor type, or virtual machine mode properties
 * io_ops_filter - Don't build on hosts that are doing too much disk IO right now
 * isolated_hosts_filter - Lets you specify a list of 'isolated' images and 'isolated' hosts. If image is in the list, host has to be in the list too, and vice versa.
 * json_filter - Lets you make up your own filter using JSON in the configuration options
 * num_instances_filter - Don't build if host has > X instances
 * ram_filter - Don't build if there isn't enough free RAM
 * retry_filter - Don't try to build if we already tried on this host
 * trusted_filter - Only build in trusted compute pools
 * type_filter - Only allow one instance type per host, eg. All VMs must be 512 MB size