openstack-manuals/doc/common/tables/nova-scheduler.xml

181 lines
11 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<para xmlns="http://docbook.org/ns/docbook" version="5.0">
<!-- Warning: Do not edit this file. It is automatically
generated and your changes will be overwritten.
The tool to do so lives in openstack-doc-tools repository. -->
<table rules="all" xml:id="config_table_nova_scheduler">
<caption>Description of scheduler configuration options</caption>
<col width="50%"/>
<col width="50%"/>
<thead>
<tr>
<th>Configuration option = Default value</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<th colspan="2">[DEFAULT]</th>
</tr>
<tr>
<td><option>aggregate_image_properties_isolation_namespace</option> = <replaceable>None</replaceable></td>
<td>(StrOpt) Force the filter to consider only keys matching the given namespace.</td>
</tr>
<tr>
<td><option>aggregate_image_properties_isolation_separator</option> = <replaceable>.</replaceable></td>
<td>(StrOpt) The separator used between the namespace and keys</td>
</tr>
<tr>
<td><option>baremetal_scheduler_default_filters</option> = <replaceable>RetryFilter, AvailabilityZoneFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ExactRamFilter, ExactDiskFilter, ExactCoreFilter</replaceable></td>
<td>(ListOpt) Which filter class names to use for filtering baremetal hosts when not specified in the request.</td>
</tr>
<tr>
<td><option>cpu_allocation_ratio</option> = <replaceable>0.0</replaceable></td>
<td>(FloatOpt) Virtual CPU to physical CPU allocation ratio which affects all CPU filters. This configuration specifies a global ratio for CoreFilter. For AggregateCoreFilter, it will fall back to this configuration value if no per-aggregate setting found. NOTE: This can be set per-compute, or if set to 0.0, the value set on the scheduler node(s) will be used and defaulted to 16.0</td>
</tr>
<tr>
<td><option>disk_allocation_ratio</option> = <replaceable>1.0</replaceable></td>
<td>(FloatOpt) Virtual disk to physical disk allocation ratio</td>
</tr>
<tr>
<td><option>io_ops_weight_multiplier</option> = <replaceable>-1.0</replaceable></td>
<td>(FloatOpt) Multiplier used for weighing host io ops. Negative numbers mean a preference to choose light workload compute hosts.</td>
</tr>
<tr>
<td><option>isolated_hosts</option> = <replaceable></replaceable></td>
<td>(ListOpt) Host reserved for specific images</td>
</tr>
<tr>
<td><option>isolated_images</option> = <replaceable></replaceable></td>
<td>(ListOpt) Images to run on isolated host</td>
</tr>
<tr>
<td><option>max_instances_per_host</option> = <replaceable>50</replaceable></td>
<td>(IntOpt) Ignore hosts that have too many instances</td>
</tr>
<tr>
<td><option>max_io_ops_per_host</option> = <replaceable>8</replaceable></td>
<td>(IntOpt) Tells filters to ignore hosts that have this many or more instances currently in build, resize, snapshot, migrate, rescue or unshelve task states</td>
</tr>
<tr>
<td><option>ram_allocation_ratio</option> = <replaceable>0.0</replaceable></td>
<td>(FloatOpt) Virtual ram to physical ram allocation ratio which affects all ram filters. This configuration specifies a global ratio for RamFilter. For AggregateRamFilter, it will fall back to this configuration value if no per-aggregate setting found. NOTE: This can be set per-compute, or if set to 0.0, the value set on the scheduler node(s) will be used and defaulted to 1.5</td>
</tr>
<tr>
<td><option>ram_weight_multiplier</option> = <replaceable>1.0</replaceable></td>
<td>(FloatOpt) Multiplier used for weighing ram. Negative numbers mean to stack vs spread.</td>
</tr>
<tr>
<td><option>reserved_host_disk_mb</option> = <replaceable>0</replaceable></td>
<td>(IntOpt) Amount of disk in MB to reserve for the host</td>
</tr>
<tr>
<td><option>reserved_host_memory_mb</option> = <replaceable>512</replaceable></td>
<td>(IntOpt) Amount of memory in MB to reserve for the host</td>
</tr>
<tr>
<td><option>restrict_isolated_hosts_to_isolated_images</option> = <replaceable>True</replaceable></td>
<td>(BoolOpt) Whether to force isolated hosts to run only isolated images</td>
</tr>
<tr>
<td><option>scheduler_available_filters</option> = <replaceable>['nova.scheduler.filters.all_filters']</replaceable></td>
<td>(MultiStrOpt) Filter classes available to the scheduler which may be specified more than once. An entry of "nova.scheduler.filters.all_filters" maps to all filters included with nova.</td>
</tr>
<tr>
<td><option>scheduler_default_filters</option> = <replaceable>RetryFilter, AvailabilityZoneFilter, RamFilter, DiskFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter</replaceable></td>
<td>(ListOpt) Which filter class names to use for filtering hosts when not specified in the request.</td>
</tr>
<tr>
<td><option>scheduler_driver</option> = <replaceable>nova.scheduler.filter_scheduler.FilterScheduler</replaceable></td>
<td>(StrOpt) Default driver to use for the scheduler</td>
</tr>
<tr>
<td><option>scheduler_driver_task_period</option> = <replaceable>60</replaceable></td>
<td>(IntOpt) How often (in seconds) to run periodic tasks in the scheduler driver of your choice. Please note this is likely to interact with the value of service_down_time, but exactly how they interact will depend on your choice of scheduler driver.</td>
</tr>
<tr>
<td><option>scheduler_host_manager</option> = <replaceable>nova.scheduler.host_manager.HostManager</replaceable></td>
<td>(StrOpt) The scheduler host manager class to use</td>
</tr>
<tr>
<td><option>scheduler_host_subset_size</option> = <replaceable>1</replaceable></td>
<td>(IntOpt) New instances will be scheduled on a host chosen randomly from a subset of the N best hosts. This property defines the subset size that a host is chosen from. A value of 1 chooses the first host returned by the weighing functions. This value must be at least 1. Any value less than 1 will be ignored, and 1 will be used instead</td>
</tr>
<tr>
<td><option>scheduler_instance_sync_interval</option> = <replaceable>120</replaceable></td>
<td>(IntOpt) Waiting time interval (seconds) between sending the scheduler a list of current instance UUIDs to verify that its view of instances is in sync with nova. If the CONF option `scheduler_tracks_instance_changes` is False, changing this option will have no effect.</td>
</tr>
<tr>
<td><option>scheduler_json_config_location</option> = <replaceable></replaceable></td>
<td>(StrOpt) Absolute path to scheduler configuration JSON file.</td>
</tr>
<tr>
<td><option>scheduler_manager</option> = <replaceable>nova.scheduler.manager.SchedulerManager</replaceable></td>
<td>(StrOpt) Full class name for the Manager for scheduler</td>
</tr>
<tr>
<td><option>scheduler_max_attempts</option> = <replaceable>3</replaceable></td>
<td>(IntOpt) Maximum number of attempts to schedule an instance</td>
</tr>
<tr>
<td><option>scheduler_topic</option> = <replaceable>scheduler</replaceable></td>
<td>(StrOpt) The topic scheduler nodes listen on</td>
</tr>
<tr>
<td><option>scheduler_tracks_instance_changes</option> = <replaceable>True</replaceable></td>
<td>(BoolOpt) Determines if the Scheduler tracks changes to instances to help with its filtering decisions.</td>
</tr>
<tr>
<td><option>scheduler_use_baremetal_filters</option> = <replaceable>False</replaceable></td>
<td>(BoolOpt) Flag to decide whether to use baremetal_scheduler_default_filters or not.</td>
</tr>
<tr>
<td><option>scheduler_weight_classes</option> = <replaceable>nova.scheduler.weights.all_weighers</replaceable></td>
<td>(ListOpt) Which weight class names to use for weighing hosts</td>
</tr>
<tr>
<th colspan="2">[cells]</th>
</tr>
<tr>
<td><option>ram_weight_multiplier</option> = <replaceable>10.0</replaceable></td>
<td>(FloatOpt) Multiplier used for weighing ram. Negative numbers mean to stack vs spread.</td>
</tr>
<tr>
<td><option>scheduler_filter_classes</option> = <replaceable>nova.cells.filters.all_filters</replaceable></td>
<td>(ListOpt) Filter classes the cells scheduler should use. An entry of "nova.cells.filters.all_filters" maps to all cells filters included with nova.</td>
</tr>
<tr>
<td><option>scheduler_retries</option> = <replaceable>10</replaceable></td>
<td>(IntOpt) How many retries when no cells are available.</td>
</tr>
<tr>
<td><option>scheduler_retry_delay</option> = <replaceable>2</replaceable></td>
<td>(IntOpt) How often to retry in seconds when no cells are available.</td>
</tr>
<tr>
<td><option>scheduler_weight_classes</option> = <replaceable>nova.cells.weights.all_weighers</replaceable></td>
<td>(ListOpt) Weigher classes the cells scheduler should use. An entry of "nova.cells.weights.all_weighers" maps to all cell weighers included with nova.</td>
</tr>
<tr>
<th colspan="2">[metrics]</th>
</tr>
<tr>
<td><option>required</option> = <replaceable>True</replaceable></td>
<td>(BoolOpt) How to treat the unavailable metrics. When a metric is NOT available for a host, if it is set to be True, it would raise an exception, so it is recommended to use the scheduler filter MetricFilter to filter out those hosts. If it is set to be False, the unavailable metric would be treated as a negative factor in weighing process, the returned value would be set by the option weight_of_unavailable.</td>
</tr>
<tr>
<td><option>weight_multiplier</option> = <replaceable>1.0</replaceable></td>
<td>(FloatOpt) Multiplier used for weighing metrics.</td>
</tr>
<tr>
<td><option>weight_of_unavailable</option> = <replaceable>-10000.0</replaceable></td>
<td>(FloatOpt) The final weight value to be returned if required is set to False and any one of the metrics set by weight_setting is unavailable.</td>
</tr>
<tr>
<td><option>weight_setting</option> = <replaceable></replaceable></td>
<td>(ListOpt) How the metrics are going to be weighed. This should be in the form of "&lt;name1&gt;=&lt;ratio1&gt;, &lt;name2&gt;=&lt;ratio2&gt;, ...", where &lt;nameX&gt; is one of the metrics to be weighed, and &lt;ratioX&gt; is the corresponding ratio. So for "name1=1.0, name2=-1.0" The final weight would be name1.value * 1.0 + name2.value * -1.0.</td>
</tr>
</tbody>
</table>
</para>