diff --git a/doc/common/section_cli_nova_host_aggregates.xml b/doc/common/section_cli_nova_host_aggregates.xml
index 4d78398d1b..1d466989eb 100644
--- a/doc/common/section_cli_nova_host_aggregates.xml
+++ b/doc/common/section_cli_nova_host_aggregates.xml
@@ -163,7 +163,7 @@
>nova-scheduler service to enable host
aggregates filtering, as well as the other filters that
are typically
- enabled:scheduler_default_filters=AggregateInstanceExtraSpecsFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter
+ enabled:scheduler_default_filters=AggregateInstanceExtraSpecsFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilterExample: Specify compute hosts with SSDs
diff --git a/doc/config-reference/compute/section_compute-scheduler.xml b/doc/config-reference/compute/section_compute-scheduler.xml
index bab7ace354..9e0cae9887 100644
--- a/doc/config-reference/compute/section_compute-scheduler.xml
+++ b/doc/config-reference/compute/section_compute-scheduler.xml
@@ -23,10 +23,10 @@
options in the /etc/nova/nova.conf
file:
scheduler_driver=nova.scheduler.multi.MultiScheduler
-scheduler_driver_task_period=60
-compute_scheduler_driver=nova.scheduler.filter_scheduler.FilterScheduler
-scheduler_available_filters=nova.scheduler.filters.all_filters
-scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
+scheduler_driver_task_period = 60
+scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
+scheduler_available_filters = nova.scheduler.filters.all_filters
+scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter
By default, the scheduler_driver is
configured as a filter scheduler, as described in the next
section. In the default configuration, this scheduler
@@ -56,9 +56,20 @@ scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFi
Satisfy any architecture, hypervisor type, or
virtual machine mode properties specified on the
- instance's image properties.
+ instance's image properties
(ImagePropertiesFilter).
+
+
+ Are on a different host than other instances of a group
+ (if requested)
+ (ServerGroupAntiAffinityFilter).
+
+
+
+ Are in a set of group hosts (if requested)
+ (ServerGroupAffinityFilter).
+ The scheduler caches its list of available hosts; use the
option to
@@ -129,26 +140,44 @@ scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFi
use both the built-in filters and your custom filter, your
nova.conf file would
contain:
- scheduler_available_filters=nova.scheduler.filters.all_filters
-scheduler_available_filters=myfilter.MyFilter
+ scheduler_available_filters = nova.scheduler.filters.all_filters
+scheduler_available_filters = myfilter.MyFilterThe scheduler_default_filters
configuration option in nova.conf
defines the list of filters that are applied by the
nova-scheduler service. The default
filters are:
- scheduler_default_filters=RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
+ scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilterThe following sections describe the available
filters.
-
+ AggregateCoreFilter
- Implements blueprint per-aggregate-resource-ratio.
- AggregateCoreFilter supports per-aggregate
- cpu_allocation_ratio. If the
- per-aggregate value is not found, the value falls back
- to the global setting.
+
+ Filters host by CPU core numbers with a per-aggregate
+ cpu_allocation_ratio value. If the
+ per-aggregate value is not found, the value falls back
+ to the global setting. If the host is in more than one
+ aggregate and more than one value is found, the minimum
+ value will be used. For information about how to use
+ this filter, see . See
+ also .
+
-
+
+ AggregateDiskFilter
+
+ Filters host by disk allocation with a per-aggregate
+ disk_allocation_ratio value. If the
+ per-aggregate value is not found, the value falls back to
+ the global setting. If the host is in more than one
+ aggregate and more than one value is found, the minimum
+ value will be used. For information about how to use this
+ filter, see . See also
+ .
+
+
+ AggregateImagePropertiesIsolationMatches properties defined in an image's metadata
against those of aggregates to determine host
@@ -192,26 +221,38 @@ scheduler_available_filters=myfilter.MyFilter
filter by using the following options in the
nova.conf file:# Considers only keys matching the given namespace (string).
-aggregate_image_properties_isolation_namespace=<None>
+aggregate_image_properties_isolation_namespace = <None>
# Separator used between the namespace and keys (string).
-aggregate_image_properties_isolation_separator=.
+aggregate_image_properties_isolation_separator = .
-
+ AggregateInstanceExtraSpecsFilterMatches properties defined in extra specs for an
- instance type against admin-defined properties on a
- host aggregate. Works with specifications that are
- scoped with
- aggregate_instance_extra_specs.
- For backward compatibility, also works with non-scoped
- specifications; this action is highly discouraged
- because it conflicts with
- ComputeCapabilitiesFilter filter when you
- enable both filters. For information about how to use
- this filter, see the host aggregates section.
+ instance type against admin-defined properties on a host
+ aggregate. Works with specifications that are scoped with
+ aggregate_instance_extra_specs. For
+ backward compatibility, also works with non-scoped
+ specifications; this action is highly discouraged because
+ it conflicts with
+ ComputeCapabilitiesFilter filter when you enable
+ both filters. For information about how to use this
+ filter, see the host
+ aggregates section.
+
+
+ AggregateIoOpsFilter
+
+ Filters host by disk allocation with a per-aggregate
+ max_io_ops_per_host value. If the
+ per-aggregate value is not found, the value falls back to
+ the global setting. If the host is in more than one
+ aggregate and more than one value is found, the minimum
+ value will be used. For information about how to use this
+ filter, see . See
+ also .
+ AggregateMultiTenancyIsolation
@@ -225,14 +266,43 @@ aggregate_image_properties_isolation_separator=.
with the metadata key, the host can create instances
from all tenants.
+
+ AggregateNumInstancesFilter
+
+ Filters host by number of instances with a per-aggregate
+ max_instances_per_host value. If the
+ per-aggregate value is not found, the value falls back to
+ the global setting. If the host is in more than one
+ aggregate and thus more than one value is found, the
+ minimum value will be used. For information about how to
+ use this filter, see . See also .
+
+
- AggregateRamFilter
- Implements blueprint
- per-aggregate-resource-ratio.
- Supports per-aggregate
- ram_allocation_ratio. If
- per-aggregate value is not found, it falls back to the
- default setting.
+ AggregateRamFilter
+
+ Filters host by RAM allocation of instances with a per-aggregate
+ ram_allocation_ratio value. If the
+ per-aggregate value is not found, the value falls back to
+ the global setting. If the host is in more than one
+ aggregate and thus more than one value is found, the
+ minimum value will be used. For information about how to
+ use this filter, see . See also .
+
+
+
+ AggregateTypeAffinityFilter
+
+ Filters host by per-aggregate
+ instance_type value. For information
+ about how to use this filter, see . See also .
+ AllHostsFilter
@@ -258,7 +328,7 @@ aggregate_image_properties_isolation_separator=.
compatibility, also treats the extra specs key as the
key to be matched if no namespace is present; this
action is highly discouraged because it conflicts with
-
+
AggregateInstanceExtraSpecsFilter filter
when you enable both filters.
@@ -278,15 +348,15 @@ aggregate_image_properties_isolation_separator=.
You can configure this filter to enable a fixed
amount of vCPU overcommitment by using the
- Configuration option in
+ configuration option in
nova.conf. The default setting
is:
- cpu_allocation_ratio=16.0
+ cpu_allocation_ratio = 16.0With this setting, if 8 vCPUs are on a node, the
scheduler allows instances up to 128 vCPU to be run on
that node.To disallow vCPU overcommitment set:
- cpu_allocation_ratio=1.0
+ cpu_allocation_ratio = 1.0The Compute API always returns the actual
number of CPU cores available on a compute node
@@ -327,10 +397,10 @@ aggregate_image_properties_isolation_separator=.
You can configure this filter to enable a fixed
amount of disk overcommitment by using the
disk_allocation_ratio
- Configuration option in
+ configuration option in
nova.conf. The default setting
is:
- disk_allocation_ratio=1.0
+ disk_allocation_ratio = 1.0Adjusting this value to greater than 1.0 enables
scheduling instances while over committing disk
resources on the node. This might be desirable if you
@@ -432,8 +502,8 @@ aggregate_image_properties_isolation_separator=.
using the isolated_hosts and
isolated_images configuration
options. For example:
- isolated_hosts=server1,server2
-isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09
+ isolated_hosts = server1, server2
+isolated_images = 342b492c-128f-4a42-8d3a-c5088cf27d13, ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09IoOpsFilter
@@ -483,19 +553,19 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
The filter supports the following variables:
- $free_ram_mb
+ $free_ram_mb
- $free_disk_mb
+ $free_disk_mb
- $total_usable_ram_mb
+ $total_usable_ram_mb
- $vcpus_total
+ $vcpus_total
- $vcpus_used
+ $vcpus_usedUsing the nova
command-line tool, use the --hint
@@ -506,6 +576,14 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
os:scheduler_hints key:
+
+ MetricsFilter
+ Filters hosts based on metrics
+ weight_setting. Only hosts with the
+ available metrics are passed so that the metrics weigher
+ will not fail due to these hosts.
+
+ NumInstancesFilter
@@ -535,7 +613,7 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
configuration option in
nova.conf. The default setting
is:
- ram_allocation_ratio=1.5
+ ram_allocation_ratio = 1.5This setting enables 1.5 GB instances to run on
any compute node with 1 GB of free RAM.
@@ -634,6 +712,23 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
os:scheduler_hints key:
+
+ TrustedFilter
+
+ Filters hosts based on their trust. Only passes hosts that
+ meet the trust requirements specified in the instance
+ properties.
+
+
+
+ TypeAffinityFilter
+
+ Dynamically limits hosts to one instance type. An instance
+ can only be launched on a host, if no instance with
+ different instances types are running on it, or if the
+ host has no running instances at all.
+
+ Weights
@@ -759,14 +854,14 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
For example:[DEFAULT]
-scheduler_host_subset_size=1
-scheduler_weight_classes=nova.scheduler.weights.all_weighers
-ram_weight_multiplier=1.0
+scheduler_host_subset_size = 1
+scheduler_weight_classes = nova.scheduler.weights.all_weighers
+ram_weight_multiplier = 1.0
[metrics]
-weight_multiplier=1.0
-weight_setting=name1=1.0, name2=-1.0
-required=false
-weight_of_unavailable=-10000.0
+weight_multiplier = 1.0
+weight_setting = name1=1.0, name2=-1.0
+required = false
+weight_of_unavailable = -10000.0