Order filters by cost

Albert Braden Albert.Braden at synopsys.com
Thu Nov 14 21:44:11 UTC 2019

I'm working on a list of filters ordered by cost. This is what I have so far. Does this look reasonably correct for Rocky?

Cheap Filters:

AllHostsFilter - does no filtering. It passes all the available hosts.
AvailabilityZoneFilter - filters hosts by availability zone.
AggregateInstanceExtraSpecsFilter - checks aggregate metadata set with aggregate_instance_extra_specs.  All hosts are passed if no extra_specs are specified.
AggregateCoreFilter - filters hosts by CPU core number with per-aggregate cpu_allocation_ratio setting.
AggregateRamFilter - filters hosts by RAM with per-aggregate ram_allocation_ratio setting.
AggregateDiskFilter - filters hosts by disk allocation with per-aggregate disk_allocation_ratio setting.
AggregateNumInstancesFilter - filters hosts by number of instances with per-aggregate max_instances_per_host setting.
AggregateIoOpsFilter - filters hosts by I/O operations with per-aggregate max_io_ops_per_host setting.
AggregateMultiTenancyIsolation - isolate tenants in specific aggregates.
AggregateTypeAffinityFilter - limits instance_type by aggregate.
AggregateImagePropertiesIsolation - isolates hosts based on image properties and aggregate metadata.
DifferentHostFilter - allows the instance on a different host from a set of instances.
SameHostFilter - puts the instance on the same host as another instance in a set of instances.
ComputeFilter - passes all hosts that are operational and enabled.
NumInstancesFilter - filters compute nodes by number of running instances.
IoOpsFilter - filters hosts by concurrent I/O operations.

More Expensive Filters:

ServerGroupAntiAffinityFilter - This filter implements anti-affinity for a server group.
ServerGroupAffinityFilter - This filter works the same way as ServerGroupAntiAffinityFilter. The difference is that when you create the server group, you should specify a policy of 'affinity'.
ImagePropertiesFilter - filters hosts based on properties defined on the instance's image. Doc on setting image properties is here: https://docs.openstack.org/glance/rocky/admin/useful-image-properties.html
IsolatedHostsFilter - filter based on isolated_images, isolated_hosts and restrict_isolated_hosts_to_isolated_images flags.
SimpleCIDRAffinityFilter - allows a new instance on a host within the same IP block.
MetricsFilter - filters hosts based on metrics weight_setting.

Most Expensive Filters:

PciPassthroughFilter - Filter that schedules instances on a host if the host has devices to meet the device requests in the 'extra_specs' for the flavor.
ComputeCapabilitiesFilter - checks that the capabilities provided by the host compute service satisfy any extra specifications associated with the instance type.
NUMATopologyFilter - filters hosts based on the NUMA topology requested by the instance, if any.
JsonFilter - allows simple JSON-based grammar for selecting hosts.

Deprecated Filters:

Please don't use any of these; they are obsolete in Rocky:

RetryFilter - filters hosts that have already been attempted for scheduling. Obsolete since Queens.
RamFilter - filters hosts by their RAM. Obsolete since Pike.
CoreFilter - filters based on CPU core utilization. Obsolete since Pike.
DiskFilter - filters hosts by their disk allocation. Obsolete since Pike.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20191114/f47f1cb8/attachment-0001.html>

More information about the openstack-discuss mailing list