@@ -156,7 +156,7 @@ Filters host by CPU core numbers with a per-aggregate ``cpu_allocation_ratio``
156
156
value. If the per-aggregate value is not found, the value falls back to the
157
157
global setting. If the host is in more than one aggregate and more than one
158
158
value is found, the minimum value will be used. For information about how to
159
- use this filter, see :ref: `host-aggregates `. See also :ref: ` CoreFilter `.
159
+ use this filter, see :ref: `host-aggregates `.
160
160
161
161
Note the ``cpu_allocation_ratio `` :ref: `bug 1804125 <bug-1804125 >` restriction.
162
162
@@ -167,7 +167,7 @@ Filters host by disk allocation with a per-aggregate ``disk_allocation_ratio``
167
167
value. If the per-aggregate value is not found, the value falls back to the
168
168
global setting. If the host is in more than one aggregate and more than one
169
169
value is found, the minimum value will be used. For information about how to
170
- use this filter, see :ref: `host-aggregates `. See also :ref: ` DiskFilter `.
170
+ use this filter, see :ref: `host-aggregates `.
171
171
172
172
Note the ``disk_allocation_ratio `` :ref: `bug 1804125 <bug-1804125 >`
173
173
restriction.
@@ -302,7 +302,7 @@ Filters host by RAM allocation of instances with a per-aggregate
302
302
value falls back to the global setting. If the host is in more than one
303
303
aggregate and thus more than one value is found, the minimum value will be
304
304
used. For information about how to use this filter, see
305
- :ref: `host-aggregates `. See also :ref: ` ramfilter `.
305
+ :ref: `host-aggregates `.
306
306
307
307
Note the ``ram_allocation_ratio `` :ref: `bug 1804125 <bug-1804125 >` restriction.
308
308
@@ -364,50 +364,6 @@ Passes all hosts that are operational and enabled.
364
364
365
365
In general, you should always enable this filter.
366
366
367
- .. _CoreFilter :
368
-
369
- CoreFilter
370
- ----------
371
-
372
- .. deprecated :: 19.0.0
373
-
374
- ``CoreFilter `` is deprecated since the 19.0.0 Stein release. VCPU
375
- filtering is performed natively using the Placement service when using the
376
- ``filter_scheduler `` driver. Furthermore, enabling CoreFilter may
377
- incorrectly filter out `baremetal nodes `_ which must be scheduled using
378
- custom resource classes.
379
-
380
- Only schedules instances on hosts if sufficient CPU cores are available. If
381
- this filter is not set, the scheduler might over-provision a host based on
382
- cores. For example, the virtual cores running on an instance may exceed the
383
- physical cores.
384
-
385
- You can configure this filter to enable a fixed amount of vCPU overcommitment
386
- by using the ``cpu_allocation_ratio `` configuration option in ``nova.conf ``.
387
- The default setting is:
388
-
389
- .. code-block :: ini
390
-
391
- cpu_allocation_ratio = 16.0
392
-
393
- With this setting, if 8 vCPUs are on a node, the scheduler allows instances up
394
- to 128 vCPU to be run on that node.
395
-
396
- To disallow vCPU overcommitment set:
397
-
398
- .. code-block :: ini
399
-
400
- cpu_allocation_ratio = 1.0
401
-
402
- .. note ::
403
-
404
- The Compute API always returns the actual number of CPU cores available on a
405
- compute node regardless of the value of the ``cpu_allocation_ratio ``
406
- configuration key. As a result changes to the ``cpu_allocation_ratio `` are
407
- not reflected via the command line clients or the dashboard. Changes to
408
- this configuration key are only taken into account internally in the
409
- scheduler.
410
-
411
367
DifferentHostFilter
412
368
-------------------
413
369
@@ -442,83 +398,6 @@ With the API, use the ``os:scheduler_hints`` key. For example:
442
398
}
443
399
}
444
400
445
- .. _DiskFilter :
446
-
447
- DiskFilter
448
- ----------
449
-
450
- .. deprecated :: 19.0.0
451
-
452
- ``DiskFilter `` is deprecated since the 19.0.0 Stein release. DISK_GB
453
- filtering is performed natively using the Placement service when using the
454
- ``filter_scheduler `` driver. Furthermore, enabling DiskFilter may
455
- incorrectly filter out `baremetal nodes `_ which must be scheduled using
456
- custom resource classes.
457
-
458
- Only schedules instances on hosts if there is sufficient disk space available
459
- for root and ephemeral storage.
460
-
461
- You can configure this filter to enable a fixed amount of disk overcommitment
462
- by using the ``disk_allocation_ratio `` configuration option in the
463
- ``nova.conf `` configuration file. The default setting disables the possibility
464
- of the overcommitment and allows launching a VM only if there is a sufficient
465
- amount of disk space available on a host:
466
-
467
- .. code-block :: ini
468
-
469
- disk_allocation_ratio = 1.0
470
-
471
- DiskFilter always considers the value of the ``disk_available_least `` property
472
- and not the one of the ``free_disk_gb `` property of a hypervisor's statistics:
473
-
474
- .. code-block :: console
475
-
476
- $ openstack hypervisor stats show
477
- +----------------------+-------+
478
- | Field | Value |
479
- +----------------------+-------+
480
- | count | 1 |
481
- | current_workload | 0 |
482
- | disk_available_least | 14 |
483
- | free_disk_gb | 27 |
484
- | free_ram_mb | 15374 |
485
- | local_gb | 27 |
486
- | local_gb_used | 0 |
487
- | memory_mb | 15886 |
488
- | memory_mb_used | 512 |
489
- | running_vms | 0 |
490
- | vcpus | 8 |
491
- | vcpus_used | 0 |
492
- +----------------------+-------+
493
-
494
- As it can be viewed from the command output above, the amount of the available
495
- disk space can be less than the amount of the free disk space. It happens
496
- because the ``disk_available_least `` property accounts for the virtual size
497
- rather than the actual size of images. If you use an image format that is
498
- sparse or copy on write so that each virtual instance does not require a 1:1
499
- allocation of a virtual disk to a physical storage, it may be useful to allow
500
- the overcommitment of disk space.
501
-
502
- When disk space is overcommitted, the value of ``disk_available_least `` can
503
- be negative. Rather than rounding up to 0, the original negative value is
504
- reported, as this way a user can see the amount by which they are
505
- overcommitting, and the disk weigher can select a host which is less
506
- overcommitted than another host.
507
-
508
- To enable scheduling instances while overcommitting disk resources on the node,
509
- adjust the value of the ``disk_allocation_ratio `` configuration option to
510
- greater than ``1.0 ``:
511
-
512
- .. code-block :: none
513
-
514
- disk_allocation_ratio > 1.0
515
-
516
- .. note ::
517
-
518
- If the value is set to ``>1 ``, we recommend keeping track of the free disk
519
- space, as the value approaching ``0 `` may result in the incorrect
520
- functioning of instances using it at the moment.
521
-
522
401
.. _ImagePropertiesFilter :
523
402
524
403
ImagePropertiesFilter
@@ -709,37 +588,6 @@ PciPassthroughFilter
709
588
The filter schedules instances on a host if the host has devices that meet the
710
589
device requests in the ``extra_specs `` attribute for the flavor.
711
590
712
- .. _RamFilter :
713
-
714
- RamFilter
715
- ---------
716
-
717
- .. deprecated :: 19.0.0
718
-
719
- ``RamFilter `` is deprecated since the 19.0.0 Stein release. MEMORY_MB
720
- filtering is performed natively using the Placement service when using the
721
- ``filter_scheduler `` driver. Furthermore, enabling RamFilter may
722
- incorrectly filter out `baremetal nodes `_ which must be scheduled using
723
- custom resource classes.
724
-
725
- .. _baremetal nodes : https://docs.openstack.org/ironic/latest/install/configure-nova-flavors.html
726
-
727
- Only schedules instances on hosts that have sufficient RAM available. If this
728
- filter is not set, the scheduler may over provision a host based on RAM (for
729
- example, the RAM allocated by virtual machine instances may exceed the physical
730
- RAM).
731
-
732
- You can configure this filter to enable a fixed amount of RAM overcommitment by
733
- using the ``ram_allocation_ratio `` configuration option in ``nova.conf ``. The
734
- default setting is:
735
-
736
- .. code-block :: ini
737
-
738
- ram_allocation_ratio = 1.5
739
-
740
- This setting enables 1.5 GB instances to run on any compute node with 1 GB of
741
- free RAM.
742
-
743
591
RetryFilter
744
592
-----------
745
593
@@ -1436,10 +1284,6 @@ The allocation ratio configuration is used both during reporting of compute
1436
1284
node `resource provider inventory `_ to the placement service and during
1437
1285
scheduling.
1438
1286
1439
- The (deprecated) `CoreFilter `_, `DiskFilter `_ and `RamFilter `_ filters will use
1440
- the allocation ratio from the compute node directly when calculating available
1441
- capacity on a given node during scheduling.
1442
-
1443
1287
The `AggregateCoreFilter `_, `AggregateDiskFilter `_ and `AggregateRamFilter `_
1444
1288
filters allow overriding per-compute allocation ratios by setting an allocation
1445
1289
ratio value using host aggregate metadata. This provides a convenient way to
@@ -1508,6 +1352,41 @@ here.
1508
1352
1509
1353
.. _osc-placement : https://docs.openstack.org/osc-placement/latest/index.html
1510
1354
1355
+ .. _hypervisor-specific-considerations :
1356
+
1357
+ Hypervisor-specific considerations
1358
+ ----------------------------------
1359
+
1360
+ Nova provides three configuration options,
1361
+ :oslo.config:option: `reserved_host_cpus `,
1362
+ :oslo.config:option: `reserved_host_memory_mb `, and
1363
+ :oslo.config:option: `reserved_host_disk_mb `, that can be used to set aside some
1364
+ number of resources that will not be consumed by an instance, whether these
1365
+ resources are overcommitted or not. Some virt drivers may benefit from the use
1366
+ of these options to account for hypervisor-specific overhead.
1367
+
1368
+ HyperV
1369
+ Hyper-V creates a VM memory file on the local disk when an instance starts.
1370
+ The size of this file corresponds to the amount of RAM allocated to the
1371
+ instance.
1372
+
1373
+ You should configure the
1374
+ :oslo.config:option: `reserved_host_disk_mb ` config option to
1375
+ account for this overhead, based on the amount of memory available
1376
+ to instances.
1377
+
1378
+ XenAPI
1379
+ XenServer memory overhead is proportional to the size of the VM and larger
1380
+ flavor VMs become more efficient with respect to overhead. This overhead
1381
+ can be calculated using the following formula::
1382
+
1383
+ overhead (MB) = (instance.memory * 0.00781) + (instance.vcpus * 1.5) + 3
1384
+
1385
+ You should configure the
1386
+ :oslo.config:option: `reserved_host_memory_mb ` config option to
1387
+ account for this overhead, based on the size of your hosts and
1388
+ instances.
1389
+
1511
1390
Cells considerations
1512
1391
~~~~~~~~~~~~~~~~~~~~
1513
1392
0 commit comments