nova/nova/conf
Balazs Gibizer 90c70f04d7 Reserve DISK_GB resource for the image cache
If the nova compute image cache is on the same disk as the instance
directory then the images in the cache will consume the same disk
resource as the nova instances which can lead to disk overallocation.

This patch adds a new config option
[workarounds]/reserve_disk_resource_for_image_cache . If it is set the
libvirt driver will reserve DISK_GB resources in placement for the
actual size of the image cache.

This is a low complexity solution with known limitations:
* Reservation is updated long after the image is downloaded
* This code allows the reservation to push the provider into negative
available resource if the reservation + allocations exceed the total
inventory.

Conflicts:
  nova/conf/workarounds.py due to
  7c7a25aa1e is not in stable/train

  nova/virt/libvirt/driver.py due to
  I52fbbcac9dc386f24ee81b3321dd0d8355e01976 is not in stable/train

Changes in imagechache.py, workarounds.py and test_imagecache.py are
due to I3c49825ac0d70152b6c8ee4c8ca01546265f4b80 not in stable/train

Change-Id: If874f018ea996587e178219569c2903c2ee923cf
Closes-Bug: #1878024
(cherry picked from commit 89fe504abf)
(cherry picked from commit 968981b585)
2020-05-25 09:30:55 +02:00
..
__init__.py conf: Remove cells v1 options, group 2019-05-29 17:14:13 +01:00
api.py Update api-ref location 2019-07-22 19:17:28 +02:00
availability_zone.py Fix default_availability_zone docs 2017-05-31 14:24:07 +01:00
base.py Ensure config regexes match the entire string 2019-02-13 08:16:45 -05:00
cache.py conf: Make list->dict conversion more specific 2016-09-14 12:10:29 +00:00
cinder.py Address nits from I9e30a24a4c0640f282f507d0a96640d3cdefe43c 2019-02-14 14:16:14 +00:00
compute.py libvirt: Start reporting PCPU inventory to placement 2019-09-18 00:19:33 +01:00
conductor.py conf: Remove '[conductor] topic' opt 2018-03-12 13:26:08 +00:00
configdrive.py conf: Rename 'configuration drive' to 'config drive' 2019-06-20 18:23:14 +01:00
console.py conf: remove *_topic config opts 2017-07-17 21:27:02 -07:00
consoleauth.py Remove nova-consoleauth 2019-07-05 15:04:47 +00:00
database.py Add useful error log when _determine_version_cap raises DBNotAllowed 2019-08-07 13:13:06 -04:00
devices.py conf: Resolve Sphinx errors 2018-07-02 14:00:12 +01:00
ephemeral_storage.py Parse algorithm from cipher for ephemeral disk encryption 2017-04-26 11:19:43 -04:00
glance.py Fix typo in enable_certificate_validation config option help 2018-06-04 14:50:45 -04:00
guestfs.py conf: Resolve Sphinx errors 2018-07-02 14:00:12 +01:00
hyperv.py hacking: Resolve W605 (invalid escape sequence) 2019-06-24 14:24:06 -05:00
ironic.py Merge "Remove [ironic]api_endpoint option" 2019-05-03 21:08:38 +00:00
key_manager.py Add secret=true to fixed_key configuration parameter 2018-12-03 14:39:51 -05:00
keystone.py Use ksa adapter for keystone conf & requests 2017-11-30 22:33:01 +00:00
libvirt.py libvirt: Enable driver configuring PMEM namespaces 2019-09-19 23:15:39 +00:00
mks.py Use URIOpt 2017-07-18 00:38:24 +00:00
netconf.py conf: Move additional nova-net opts to 'network' 2017-10-26 14:01:18 +00:00
network.py hacking: Resolve W503 (line break occurred before a binary operator) 2019-06-24 14:24:06 -05:00
neutron.py Add config option for neutron client retries 2020-03-25 17:26:37 +00:00
notifications.py Change the default of notification_format to unversioned 2019-06-04 10:36:45 +02:00
novnc.py Conf options: updated flags for novnc 2016-08-01 15:00:07 -05:00
opts.py conf: Make list->dict conversion more specific 2016-09-14 12:10:29 +00:00
osapi_v21.py Remove config opts for extension black/white list 2017-04-06 08:47:06 +00:00
paths.py Make nova build reproducible 2018-03-09 13:12:39 +01:00
pci.py conf: Call out where pci.alias should be set 2019-02-28 10:44:42 +00:00
placement.py Delete the placement code 2019-04-28 20:06:15 +00:00
powervm.py Powervm configuration cleanup 2018-06-13 11:48:30 -05:00
quota.py Follow up for counting quota usage from placement 2019-05-31 21:23:58 +00:00
rdp.py Use URIOpt 2017-07-18 00:38:24 +00:00
remote_debug.py Use HostAddressOpt for opts that accept IP and hostnames 2017-04-03 16:40:36 +05:30
rpc.py compute: Use long_rpc_timeout in reserve_block_device_name 2019-12-02 20:09:55 +00:00
scheduler.py Add a new request filter to isolate aggregates 2019-09-12 16:56:32 -05:00
serial_console.py hacking: Resolve W605 (invalid escape sequence) 2019-06-24 14:24:06 -05:00
service.py conf: Deprecate 'network_manager' 2018-06-22 15:04:48 +01:00
service_token.py Service token is not experimental 2017-11-21 17:36:32 +00:00
servicegroup.py conf: Use new-style choice values 2018-09-12 09:45:06 -06:00
spice.py conf: Resolve Sphinx errors 2018-07-02 14:00:12 +01:00
upgrade_levels.py Remove nova-consoleauth 2019-07-05 15:04:47 +00:00
utils.py Get auth from context for glance endpoint 2017-11-21 10:26:42 -06:00
vendordata.py Use a service account to make vendordata requests. 2017-01-26 13:39:46 +00:00
vmware.py Switch some GitHub URLs to point to opendev.org 2019-08-19 21:08:27 +01:00
vnc.py Deprecate the nova-xvpvncproxy service 2018-10-15 10:03:13 +01:00
workarounds.py Reserve DISK_GB resource for the image cache 2020-05-25 09:30:55 +02:00
wsgi.py Add missing ws seperator between words 2018-11-26 23:42:18 +00:00
xenserver.py Deprecate the XenAPIDriver 2019-09-06 11:36:22 -04:00
xvp.py flake8: Specify 'nova' as name of app 2017-03-16 13:48:51 -07:00
zvm.py z/VM Driver: Spawn and destroy function of z/VM driver 2018-07-16 11:35:11 +08:00