Jump to: navigation, search

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