Commit Graph

2217 Commits

Author SHA1 Message Date
Zuul f57beba5ba Merge "docs: Correct 'nova-manage db sync' documentation" 2019-09-27 09:28:34 +00:00
Zuul 16b85a7ade Merge "docs: Note use of 'nova-manage db sync --config-file'" 2019-09-27 09:18:56 +00:00
Zuul e9872e83a2 Merge "doc: attaching virtual persistent memory to guests" 2019-09-26 11:27:53 +00:00
Zuul bd6a3931f1 Merge "Correct link to placement upgrade notes" 2019-09-25 23:11:37 +00:00
Zuul 518aa008b9 Merge "docs: Update CPU topologies guide to reflect the new PCPU world" 2019-09-25 23:11:15 +00:00
Zuul 8e99edbcf1 Merge "docs: Clarify everything CPU pinning" 2019-09-25 23:11:09 +00:00
LuyaoZhong 7ed5d81a36 doc: attaching virtual persistent memory to guests
Add a document for virtual persistent memory

Change-Id: Ieb8040cd51d322b920ba5525322004c76545b494
Partially-Implements: blueprint virtual-persistent-memory
2019-09-25 16:03:51 -05:00
Zuul 9ae3b0c8ed Merge "docs: Scrub available quotas" 2019-09-25 16:36:10 +00:00
Stephen Finucane 50e60401ed docs: Update CPU topologies guide to reflect the new PCPU world
We don't need to do a whole lot here. The key things to note are that
some host level configuration is now necessary, that the 'isolate' CPU
thread policy behaves slightly differently, and that you can request
'PCPU' inventory explicitly instead of using 'hw:cpu_policy=dedicated'
or the image metadata equivalent.

Part of blueprint cpu-resources

Change-Id: Ic1f98ea8a7f6bdc86f2d6b4734774fa380f8cc10
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-09-25 14:30:23 +01:00
Stephen Finucane ca7c595729 docs: Clarify everything CPU pinning
The documentation for emulator threads leaves a lot to be desired, while
the hierarchy of the CPU thread pinning doesn't emphasise the dependency
of this feature on CPU pinning. Resolve both by tweaking or expanding
the wording of key paragraphs and modifying the header levels to nest
the CPU thread pinning and emulator thread pinning docs under the CPU
pinning docs.

Change-Id: Ife32a53b80b770e008dbe2091fbb88e6596d238b
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-09-25 14:29:45 +01:00
Chris Dent 98008e048c Correct link to placement upgrade notes
In the depends-on the upgrade notes in placement are moved to a
different URL. Because the link here in nova was to an anchor, not
a URL, a redirect on the placement side will not catch this, so
explicitly update the link.

Depends-On: https://review.opendev.org/683783
Change-Id: Ib07eacb9150bbb8b0726cfe06ae334c7a764955c
2019-09-25 10:26:44 +01:00
Zuul 0ce66605e1 Merge "Add evacuate vs rebuild contributor doc" 2019-09-24 16:51:23 +00:00
Stephen Finucane 62ca2e7ed2 docs: Correct 'nova-manage db sync' documentation
In change I3fd9fe0317bcd1a59c366e60154b095e8df92327, we deprecated the
'--version' option in favour of a 'VERSION' positional. This was later
removed in change I7795e308497de66329f288b43ecfbf978d67ad75. Update the
docs to reflect this. 'nova-manage api_db sync' were already corrected
in change Ibc49f93b8bd51d9a050acde5ef3dc8aad91321ca and does not need
the same fix, though a minor tweak is included.

Change-Id: I2c0fb04fbc3f6d2074596894782ed3143b0c2338
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-Bug: #1840807
2019-09-24 17:18:31 +01:00
Stephen Finucane de0cd7503e docs: Note use of 'nova-manage db sync --config-file'
I forget this every darn time I'm working on something that requires DB
migrations.

Change-Id: I6ca988793cf2bfc2d5938acc158fd94e61e06a92
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-09-24 17:18:27 +01:00
Zuul 597b34cd87 Merge "Add note about needing noVNC >= v1.1.0 with using ESX" 2019-09-23 17:24:00 +00:00
Matt Riedemann ddd7273ac3 Add evacuate vs rebuild contributor doc
People often get confused about the differences between
evacuate and rebuild operations, especially since the
conductor and compute methods are both called "rebuild_instance".
This change adds a contributor document which explains some
of the high and low level differences between the two operations.

Change-Id: I146fbc65237c4729ce3c28a4614589ba085dfce0
Closes-Bug: #1843439
2019-09-19 17:55:19 -04:00
melanie witt 2b23ee7a30 Add note about needing noVNC >= v1.1.0 with using ESX
As discussed on the following review:

  https://review.opendev.org/674916

this adds a note indicating that the version of noVNC needs to be at
least v1.1.0 in order for the nova-novncproxy to work with ESX/ESXi
hypervisors.

Related-Bug: #1822676

Change-Id: Ia4ba37b6d6a1e4b5c75e38f4bcc2bea1d9ba9560
2019-09-18 16:59:00 +00:00
Zuul 55439643ad Merge "Deprecate the XenAPIDriver" 2019-09-16 17:39:30 +00:00
Zuul 941dc87369 Merge "Deprecate CONF.workarounds.enable_numa_live_migration" 2019-09-16 02:17:52 +00:00
Zuul ca472210ca Merge "Docs for isolated aggregates request filter" 2019-09-15 09:20:03 +00:00
Zuul 9b8a8050d8 Merge "PDF documentation build" 2019-09-14 16:37:57 +00:00
shilpa 1bbef754fb Docs for isolated aggregates request filter
Added reference documentation and release note to explain how filtering
of hosts by isolate aggregates works.

Change-Id: I8d8086973039308f9041a36463a834b5275708e3
Implements: blueprint placement-req-filter-forbidden-aggregates
2019-09-12 16:56:32 -05:00
Artom Lifshitz 083bafc353 Deprecate CONF.workarounds.enable_numa_live_migration
Once a deployment has been fully upgraded to Train, the
CONF.workarounds.enable_numa_live_migration config option is no longer
necessary. This patch changes the conductor check to only apply if the
cell's (cross-cell live migration isn't supported) minimum service
version is old.

Implements blueprint numa-aware-live-migration
Change-Id: If649218db86a04db744990ec0139b4f0b1e79ad6
2019-09-12 17:34:34 -04:00
Thomas Bechtold 341a1fab2d Add nova-status to man-pages list
nova-status was missing in the list of man-pages. So when building the
man-pages with:

sphinx-build -b man doc/source doc/build/man

there is no "nova-status" in doc/build/man.

Also sort the list alphabetically so it's easier to parse for humans.

Closes-Bug: 1843714
Change-Id: I20b73d508bc6341195c991111ac84c3e35905c92
2019-09-12 15:05:41 +02:00
Zuul 5fa49cd0b8 Merge "Fix the incorrect powershell command" 2019-09-11 23:57:36 +00:00
Zuul 22a440e0ed Merge "vCPU model selection" 2019-09-11 22:59:42 +00:00
Zuul 690b3ffd38 Merge "Improve SEV documentation and other minor tweaks" 2019-09-11 20:43:03 +00:00
Zuul 0c2e77a983 Merge "Nova object changes for forbidden aggregates request filter" 2019-09-11 20:11:42 +00:00
Zuul 0575eabffb Merge "Enable booting of libvirt guests with AMD SEV memory encryption" 2019-09-11 08:34:19 +00:00
Alexandra Settle 3a99f8a45f Fixing broken links
backport: stein rocky

Change-Id: I6fd8534473465461effc784a1eaa51c7a6da2b12
2019-09-10 14:08:42 +00:00
Adam Spiers 922d8bf811 Improve SEV documentation and other minor tweaks
This is a follow-up to the previous SEV commit which enables booting
SEV guests (I659cb77f12a3), making some minor improvements based on
nits highlighted during review:

- Clarify in the hypervisor-kvm.rst documentation that the
  num_memory_encrypted_guests option is optional, by rewording and
  moving it to the list of optional steps.

- Make things a bit more concise and avoid duplication of information
  between the above page and the documentation for the option
  num_memory_encrypted_guests, instead relying on appropriate
  hyperlinking between them.

- Clarify that virtio-blk can be used for boot disks in newer kernels.

- Hyperlink to a page explaining vhost-user

- Remove an unneeded mocking of a LOG object.

- A few other grammar / spelling tweaks.

blueprint: amd-sev-libvirt-support
Change-Id: I75b7ec3a45cac25f6ebf77c6ed013de86c6ac947
2019-09-10 14:48:32 +01:00
Adam Spiers 8e5d6767bb Enable booting of libvirt guests with AMD SEV memory encryption
Track compute node inventory for the new MEM_ENCRYPTION_CONTEXT
resource class (added in os-resource-classes 0.4.0) which represents
the number of guests a compute node can host concurrently with memory
encrypted at the hardware level.

This serves as a "master switch" for enabling SEV functionality, since
all the code which takes advantage of the presence of this inventory
in order to boot SEV-enabled guests is already in place, but none of
it gets used until the inventory is non-zero.

A discrete inventory is required because on AMD SEV-capable hardware,
the memory controller has a fixed number of slots for holding
encryption keys, one per guest.  Typical early hardware only has 15
slots, thereby limiting the number of SEV guests which can be run
concurrently to 15.  nova needs to track how many slots are available
and used in order to avoid attempting to exceed that limit in the
hardware.

Work is in progress to allow QEMU and libvirt to expose the number of
slots available on SEV hardware; however until this is finished and
released, it will not be possible for nova to programatically detect
the correct value with which to populate the MEM_ENCRYPTION_CONTEXT
inventory.  So as a stop-gap, populate the inventory using the value
manually provided by the cloud operator in a new configuration option
CONF.libvirt.num_memory_encrypted_guests.

Since this commit effectively enables SEV, also add all the relevant
documentation as planned in the AMD SEV spec[0]:

- Add operation.boot-encrypted-vm to the KVM hypervisor feature matrix.

- Update the KVM section of the Configuration Guide.

- Update the flavors section of the User Guide.

- Add a release note.

[0] http://specs.openstack.org/openstack/nova-specs/specs/train/approved/amd-sev-libvirt-support.html#documentation-impact

blueprint: amd-sev-libvirt-support
Change-Id: I659cb77f12a38a4d2fb118530ebb9de88d2ed30d
2019-09-10 13:59:02 +01:00
shilpa 3c8af001d5 Nova object changes for forbidden aggregates request filter
This patch modifies Nova objects that will allow Destination object to
store list of forbidden aggregates that placement should ignore in
'GET /allocation_candidates' API at microversion 1.32, including the
code to generate the placement querystring syntax from them.

Change-Id: Ic2bcee40b41c97170a8603b27b935113f0633de7
Implements: blueprint placement-req-filter-forbidden-aggregates
2019-09-09 20:16:32 +00:00
Takashi NATSUME b244a02730 doc: Fix a broken reference link
Fix a broken reference link in
contributor/testing/zero-downtime-upgrade.rst

Change-Id: I1c0054175f9d665fecd76a03466663177c49f774
Closes-Bug: #1842985
2019-09-09 07:58:38 +09:00
Matt Riedemann af280ffe30 Deprecate the XenAPIDriver
After three months since the quality warning change merged [1]
there has still been no progress in finding a maintainer for
the xenapi driver or someone to get the third party CI running
again - which has been off/broken for more than a release.

This change formally deprecates the driver, logging a warning
on startup along with providing a release note and warnings
in the docs and [xenserver] config group help.

Note that this does not mean the driver will absolutely be
removed in the Ussuri release, but it leaves the option open
to do so if the nova team decides that should happen.

This was discussed at the 2019-09-05 nova meeting [2] and
also at the Train PTG.

[1] I7f8eb7d5c5a9b1cb0a8d5e607d719b49a22675d3
[2] http://eavesdrop.openstack.org/meetings/nova/2019/nova.2019-09-05-14.01.log.html#l-227

Change-Id: Ie7e66ff64185d9fd4be2265e040e1afc45b95174
2019-09-06 11:36:22 -04:00
ya.wang f80e5f989d vCPU model selection
Rename the exist config attribute: [libvirt]/cpu_model to
[libvirt]/cpu_models, which is an orderded list of CPU models the host
supports. The value in the list can be made case-insensitive.

Change logic of method: '_get_guest_cpu_model_config', if cpu_mode is
custom and cpu_models set. It will parse the required traits
associated with the CPU flags from flavor extra_specs and select the
most appropriate CPU model.

Add new method 'get_cpu_model_names' to host.py. It will return a list
of the cpu models that the CPU arch can support.

Update the docs of hypervisor-kvm.

Change-Id: I06e1f7429c056c4ce8506b10359762e457dbb2a0
Implements: blueprint cpu-model-selection
2019-09-06 14:01:35 +08:00
Matt Riedemann 37164b418e doc: cleanup references to conductor doc
The conductor doc is not really end user material,
so this moves it under reference/, removes it from the
user page and adds it to the reference index for internals.
Also makes the contributor page link to the reference internals
since it's kind of weird to have one contributor section that
only mentions one thing but the internals under reference have
a lot more of that kind of detail. Finally, a todo is added so
we don't forget to update the reference internals about versioned
objects at some point since that's always a point of confusion
for people.

Change-Id: I8d3dbce5334afaa3e1ca309b2669eff9933a0104
2019-09-05 18:37:31 -04:00
Akihiro Motoki 16b9486bf7 PDF documentation build
- Add a new pdf-docs environment to enable PDF build.
- sphinxcontrib-svg2pdfconverter is used to handle SVG properly.
- maxlistdepth=10 in latex_elements is needed to handle
  deeper levels of nesting.
- Sample config/policy files are skipped in the PDF document
  as inline sample files cause LaTeX error [1] and direct links
  in PDF doc is discouraged. Note that sample-config and sample-policy
  need to be excluded to avoid the LaTeX error [1] and
  :orphan: is specified in those files.

[1] https://github.com/sphinx-doc/sphinx/issues/3099

Change-Id: I3aaea1d15a357f550f529beaa84fb1a1a7748358
2019-09-04 17:34:26 +09:00
chenxing 8e06eeee2b Fix the incorrect powershell command
Change-Id: I28fb4ddacd87b6fb98d8da6bc6a5dea69ae51431
backport: stein rocky
Closes-Bug: #1842130
2019-09-02 11:12:21 +08:00
Zuul 3b54979ae0 Merge "Switch some GitHub URLs to point to opendev.org" 2019-08-29 13:52:07 +00:00
Zuul b6d0e55746 Merge "doc: pretty up return code table for sync_aggregates" 2019-08-29 13:45:13 +00:00
Zuul eea4e6b206 Merge "docs: pretty up return code table or heal_allocations" 2019-08-29 13:45:03 +00:00
Zuul 703fb5c73e Merge "Add a "Caveats" section to the eventlet profiling docs" 2019-08-29 13:44:53 +00:00
Zuul 21df56a37a Merge "Docs and functional test for max_local_block_devices" 2019-08-29 13:44:38 +00:00
Zuul 9c2b1be0d6 Merge "nova-manage db archive_deleted_rows is not multi-cell aware" 2019-08-28 20:59:18 +00:00
zhangbailin 27b6c18c66 Specify availability_zone to unshelve
This adds support, in a new microversion, for specifying an availability
zone to the unshelve server action when the server is shelved offloaded.

Note that the functional test changes are due to those tests using the
"latest" microversion where an empty dict is not allowed for unshelve
with 2.77 so the value is changed from an empty dict to None.

Implements: blueprint support-specifying-az-when-restore-shelved-server
Closes-Bug: #1723880

Change-Id: I4b13483eef42bed91d69eabf1f30762d6866f957
2019-08-27 12:57:10 -04:00
Chris Dent 6fa5bd43fb Add a "Caveats" section to the eventlet profiling docs
There are some bits of wisdom and workarounds required to have a
positive experience when profiling in an eventlet environment.

This patch adds a section where such wisdom can accumlate, and
also provides a workaround for a specific problem when profiling
nova-compute.

Change-Id: Id6362f20c831c43e4d3316fe573e28c6b891d459
2019-08-27 11:41:31 +01:00
Kevin_Zheng 97b8cb3f58 nova-manage db archive_deleted_rows is not multi-cell aware
The archive_deleted_rows cmd depend on DB connection config from config
file, and when applying super-conductor mode, there are several config
files for different cells. If so, the command can only archive rows in
cell0 DB as it only reads the nova.conf

This patch added code that provides --all-cells parameter to the
command and read info for all cells from the api_db and then archive
rows across all cells.

The --all-cells parameter is passed on to the purge command when
archive_deleted_rows is called with both --all-cells and --purge.

Co-Authored-By: melanie witt <melwittt@gmail.com>

Change-Id: Id16c3d91d9ce5db9ffd125b59fffbfedf4a6843d
Closes-Bug: #1719487
2019-08-27 06:01:58 +00:00
Zuul 781f47b243 Merge "Document map_instances return codes in table format" 2019-08-26 14:31:23 +00:00
Zuul 5e1de8ac24 Merge "Change nova-manage unexpected error return code to 255" 2019-08-26 14:31:15 +00:00