diff options
author | Sean Mooney <work@seanmooney.info> | 2023-04-12 19:24:35 +0000 |
---|---|---|
committer | Sean Mooney <work@seanmooney.info> | 2023-04-20 18:33:55 +0000 |
commit | e38d6a356b8238038f11565662eaacff2ec2c2df (patch) | |
tree | 30f576519e49c9f5f3ab43a36aad13431a95b2e7 /doc | |
parent | 01ffb6df85ad895bfe94cc46a3be958dbd266a7a (diff) | |
download | nova-e38d6a356b8238038f11565662eaacff2ec2c2df.tar.gz |
add hypervisor version weigher
implements: blueprint weigh-host-by-hypervisor-version
Change-Id: I36b16a388383c26bdf432030bc9e28b2fd75d120
Diffstat (limited to 'doc')
-rw-r--r-- | doc/source/admin/scheduling.rst | 31 | ||||
-rw-r--r-- | doc/source/reference/isolate-aggregates.rst | 2 |
2 files changed, 33 insertions, 0 deletions
diff --git a/doc/source/admin/scheduling.rst b/doc/source/admin/scheduling.rst index 9071c92ac9..353514ab55 100644 --- a/doc/source/admin/scheduling.rst +++ b/doc/source/admin/scheduling.rst @@ -1049,6 +1049,37 @@ Otherwise, it will fall back to the more than one value is found for a host in aggregate metadata, the minimum value will be used. +``HypervisorVersionWeigher`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. versionadded:: 28.0.0 (Bobcat) + +Weigh hosts by their relative hypervisor version reported by the virt driver. + +While the hypervisor_version filed for all virt drivers is an int, +each nova virt driver uses a different algorithm to convert the hypervisor-specific +version sequence into an int. As such the values are not directly comparable between +hosts with different hypervisors. + +For example, the ironic virt driver uses the ironic API micro-version as the hypervisor +version for a given node. The libvirt driver uses the libvirt version +i.e. Libvirt `7.1.123` becomes `700100123` vs Ironic `1.82` becomes `1` +Hyper-V `6.3` becomes `6003`. + +If you have a mixed virt driver deployment in the ironic vs non-ironic +case nothing special needs to be done. ironic nodes are scheduled using custom +resource classes so ironic flavors will never match non-ironic compute nodes. + +If a deployment has multiple non-ironic virt drivers it is recommended to use aggregates +to group hosts by virt driver. While this is not strictly required, it is +desirable to avoid bias towards one virt driver. +see :ref:`filtering_hosts_by_isolating_aggregates` and :ref:`AggregateImagePropertiesIsolation` +for more information. + +The default behavior of the HypervisorVersionWeigher is to select newer hosts. +If you prefer to invert the behavior set the +:oslo.config:option:`filter_scheduler.hypervisor_version_weight_multiplier` option +to a negative number and the weighing has the opposite effect of the default. Utilization-aware scheduling ---------------------------- diff --git a/doc/source/reference/isolate-aggregates.rst b/doc/source/reference/isolate-aggregates.rst index f5487df912..7b493f4db9 100644 --- a/doc/source/reference/isolate-aggregates.rst +++ b/doc/source/reference/isolate-aggregates.rst @@ -13,6 +13,8 @@ License for the specific language governing permissions and limitations under the License. +.. _filtering_hosts_by_isolating_aggregates: + Filtering hosts by isolating aggregates ======================================= |