Commit Graph

6 Commits

Author SHA1 Message Date
Stephen Finucane 3b99747b42 libvirt: Don't allow "reserving" file-backed memory
When file-backed memory is configured, it is the only "memory" reported
by nova and used by instances, with RAM used in caching capacity. We
should be warning users of this and insisting they explicitly configure
the '[DEFAULT] reserved_host_memory_mb' config option to 0. However,
doing so now would be breaking change. Instead, start logging a warning
instead, failing only for the truly broken combination of reserving more
file-backed memory than we have allocated.

Change-Id: I9619338ad0f60253b628d96543f8ce3ac86242e3
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Closes-Bug: #1882821
2020-06-10 10:40:59 +00:00
Stephen Finucane 5c5927a3d2 docs: Rewrite host aggregate, availability zone docs
These closely related features are the source of a disproportionate
number of bugs and a large amount of confusion among users. The spread
of information around multiple docs probably doesn't help matters.

Do what we've already done for the metadata service and remote consoles
and clean these docs up. There are a number of important changes:

- All documentation related to host aggregates and availability zones is
  placed in one of three documents, '/user/availability-zones',
  '/admin/aggregates' and '/admin/availability-zones'. (note that there
  is no '/user/aggregates' document since this is not user-facing)

- References to these features are updated to point to the new location

- A glossary is added. Currently this only contains definitions for host
  aggregates and availability zones

- nova CLI commands are replaced with their openstack CLI counterparts

- Some gaps in related documentation are closed

Change-Id: If847b0085dbfb4c813d4a8d14d99346f8252bc19
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-10-07 17:26:35 +01:00
Zack Cornelius b1fdb2ee0c Fix nits from change Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34
Change-Id: I05f0791d41c65115c9153f301b387dfdf9065007
Implements: blueprint libvirt-file-backed-memory
2018-06-21 17:43:05 -05:00
Zack Cornelius e9683f1432 Implement discard for file backed memory
Add the discard flag to libvirt XML when supported by libvirt and qemu,
and when using file backed memory.

The discard flag causes qemu to discard allocated memory via calling
madvise with MADV_REMOVE when using file backed memory, to prevent
writing out dirty instance memory. This is a significant performance
improvement for shutting down instances that have recently written to
significant portions of their memory.

As qemu and libvirt do not guarantee the discard is run, this cannot be
used for security purposes.

Change-Id: Ia7cf4414feb335b3c2e863b4c8b4ff559b275c34
Implements: blueprint libvirt-file-backed-memory
2018-06-21 11:45:31 -05:00
Zack Cornelius 8566dcfef4 Fix nits from change I676291ec0faa1dea0bd5050ef8e3426d171de4c6
Change-Id: If6ea6701d73a4a8abb6a75c54308a386eec7a4b2
Implements: blueprint libvirt-file-backed-memory
2018-06-21 11:13:44 -05:00
Zack Cornelius cbc28f0d15 Implement file backed memory for instances in libvirt
File backed memory is enabled per Nova compute host. When enabled, host
will report 'file_backed_memory_capacity' for available memory.

When enabled, instances will create memory backing files in the
directory specified in libvirt's qemu.conf file 'memory_backing_dir'
config option.

This feature is not compatible with memory overcommit, and requires
'ram_allocation_ratio' to be set to 1.0

Change-Id: I676291ec0faa1dea0bd5050ef8e3426d171de4c6
Implements: blueprint libvirt-file-backed-memory
2018-06-20 11:25:06 -05:00