Jump to: navigation, search

Scheduler Filters

Revision as of 22:00, 13 March 2013 by Matiu (talk | contribs) (List of scheduler filters)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

This is a quick summary of the filters in grizzly:

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