Commit Graph

351 Commits

Author SHA1 Message Date
Stephen Finucane da207cc2be docs: Remove 'adv-config', 'system-admin' subdocs
These made things significantly less discoverable from the admin guide
and resulted in some duplication of links. Better to just flatten
things. Things are pretty much copy-pasted save for the removal of a
reference to the long-dead nova-objectstore service and the addition of
a TODO to provide overviews of other services.

Change-Id: Ibf2b6979318cf3f0a0519f66acbc279b2ce80968
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-11-15 16:36:30 +00:00
Zuul 8f341eb4a4 Merge "doc: add troubleshooting guide for cleaning up orphaned allocations" 2019-11-14 10:28:58 +00:00
Matt Riedemann dcd3f516d2 doc: add troubleshooting guide for cleaning up orphaned allocations
While we do not have an automated fix for bug 1849479 this provides
a troubleshooting document for working around that issue where
allocations from a server that was evacuated from a down host need
to be cleaned up manually in order to delete the resource provider
and associated compute node/service.

In general this is also a useful guide for linking up the various
resources and terms in nova and how they are reflected in placement
with the relevant commands which is probably something we should
do more of in our docs.

Change-Id: I120e1ddd7946a371888bfc890b5979f2e19288cd
Related-Bug: #1829479
2019-11-13 15:31:32 -05:00
Eric Fried f7c027db9a Add image caching to the support matrix
Add a section to the support matrix for image caching
(``has_imagecache`` virt driver capability).

Change-Id: I9147c5ea6b276b4fe18a981f4360844009bd3d95
Partial-Bug: #1847302
2019-11-13 11:09:03 -06:00
Eric Fried 828e8047e5 Consolidate [image_cache] conf options
Blueprint image-precache-support added a conf section called
[image_cache], so it makes sense to move all the existing image
cache-related conf options into it.

Old:
[DEFAULT]image_cache_manager_interval
[DEFAULT]image_cache_subdirectory_name
[DEFAULT]remove_unused_base_images
[DEFAULT]remove_unused_original_minimum_age_seconds
[libvirt]remove_unused_resized_minimum_age_seconds

New:
[image_cache]manager_interval
[image_cache]subdirectory_name
[image_cache]remove_unused_base_images
[image_cache]remove_unused_original_minimum_age_seconds
[image_cache]remove_unused_resized_minimum_age_seconds

Change-Id: I3c49825ac0d70152b6c8ee4c8ca01546265f4b80
Partial-Bug: #1847302
2019-11-13 11:09:03 -06:00
Zuul 7be71a860d Merge "Add Aggregate image caching progress notifications" 2019-11-02 01:19:43 +00:00
Zuul 46a02d5eb5 Merge "Default AZ for instance if cross_az_attach=False and checking from API" 2019-11-01 13:04:58 +00:00
Matt Riedemann 07a24dcef7 Default AZ for instance if cross_az_attach=False and checking from API
If we're booting from an existing volume but the instance is not being
created in a requested availability zone, and cross_az_attach=False,
we'll fail with a 400 since by default the volume is in the 'nova'
AZ and the instance does not have an AZ set - because one wasn't requested
and because it's not in a host aggregate yet.

This refactors that AZ validation during server create in the API to
do it before calling _validate_bdm so we get the pre-existing volumes
early and if cross_az_attach=False, we validate the volume zone(s) against
the instance AZ. If the [DEFAULT]/default_schedule_zone (for instances) is
not set and the volume AZ does not match the
[DEFAULT]/default_availability_zone then we put the volume AZ in the request
spec as if the user requested that AZ when creating the server.

Since this is a change in how cross_az_attach is used and how the instance
default AZ works when using BDMs for pre-existing volumes, the docs are
updated and a release note is added.

Note that not all of the API code paths are unit tested because the
functional test coverage does most of the heavy lifting for coverage.
Given the amount of unit tests that are impacted by this change, it is
pretty obvious that (1) many unit tests are mocking at too low a level and
(2) functional tests are better for validating these flows.

Closes-Bug: #1694844

Change-Id: Ib31ba2cbff0ebb22503172d8801b6e0c3d2aa68a
2019-10-31 10:08:46 -04:00
Dan Smith c935377531 Add Aggregate image caching progress notifications
This adds AggregateCacheNotification, related payload, and code in
conductor to emit this per-compute with progress information. This
also adds a "progress" phase to NotificationPhase, which allows for
start..progress..progress..end information for a single operation
(cache_images in this case).

Related to blueprint image-precache-support

Change-Id: I69ae26d4caf4b56ab2c4864455bfe9b5b736dbf3
2019-10-29 08:18:32 -07:00
Dan Smith 829ccbe2bb Add image precaching docs for aggregates
Related to blueprint image-precache-support

Partial-Bug: #1847302
Change-Id: I7a57e5e09b2a1760a9c5aeac402911895dfce07d
2019-10-23 11:12:03 -07:00
Zuul 14f4a0b16b Merge "doc: fix formatting in mitigation-for-Intel-MDS-security-flaws" 2019-10-08 20:31:05 +00:00
Matt Riedemann 1ed2b2ac53 doc: fix formatting in mitigation-for-Intel-MDS-security-flaws
The bullet list was indented too far.

Change-Id: I615c20a6b2b54795dfbd991b0a51dbaaac543f36
2019-10-08 12:16:35 -04:00
Zuul 1983d76d6e Merge "docs: Remove a whole load of unused images, most remainder" 2019-10-08 16:06:49 +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
Zuul 94501c86fa Merge "docs: Document how to revert, confirm a cold migration" 2019-10-03 19:44:51 +00:00
Stephen Finucane c24fbc3dc8 docs: Remove a whole load of unused images, most remainder
Thank God. The majority of the removed images are so crufty, it's
actually funny. I don't want to update them and it's unlikely anyone
else does either. The rest are just moved to be with their comrades in
the '_static/images' directory.

Change-Id: I91b34c85379a68be5e6a09ce48b11c0d3343f12b
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-10-02 17:36:21 +01:00
Zuul 2ec3b73f35 Merge "docs: Rework the PCI passthrough guides" 2019-09-27 09:28:40 +00:00
Zuul e9872e83a2 Merge "doc: attaching virtual persistent memory to guests" 2019-09-26 11:27:53 +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 775d89ed0f docs: Document how to revert, confirm a cold migration
This relies on the recently added 'openstack server migrate confirm' and
'openstack server migrate revert' commands.

Change-Id: I58d0a62aeeb4bb23a7ed3a8e9fe5ddb7f2dd3877
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Depends-On: I0cb6304c794bffaec785add9f7b8cf53ab28cacd
2019-09-25 13: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
Stephen Finucane d5259abfe1 docs: Rework the PCI passthrough guides
Rewrite the document, making the following changes:

- Remove use of bullet points in favour of more descriptive steps
- Cross-reference various configuration options
- Emphasise that ``[pci] alias`` must be set on both controller and
  compute node
- Style nits, such as fixing the header style

Change-Id: I2ac7df7d235f0af25f5a99bc8f6abddbae2cb3af
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-09-24 17:33:31 +01:00
Zuul 597b34cd87 Merge "Add note about needing noVNC >= v1.1.0 with using ESX" 2019-09-23 17:24:00 +00: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
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
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 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
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
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 a55ae413ea Merge "doc: remove confusing docs about aggregate allocation ratios" 2019-08-22 20:13:47 +00:00
Zuul efbe94cd7d Merge "Remove deprecated [neutron]/url option" 2019-08-22 19:57:32 +00:00
Zuul 1ae57fe04d Merge "Deprecate Aggregate[Core|Ram|Disk]Filters" 2019-08-21 22:27:13 +00:00
Matt Riedemann 8f53a051cc Remove deprecated [neutron]/url option
The url option was deprecated in Queens:

  I41724a612a5f3eabd504f3eaa9d2f9d141ca3f69

The same functionality is available in the
endpoint_override option so tests and docs
are updated to use that where they were using
url before.

Note that because the logic in the get_client
method changed, some small changes were made to
the test_withtoken and test_withtoken_context_is_admin
unit tests to differentiate from when there is a
context with a token that is not admin and an
admin context that does not have a token which
was otherwise determined by asserting the default
region name.

Change-Id: I6c068a84c4c0bd88f088f9328d7897bfc1f843f1
2019-08-21 17:55:56 +00:00
Sean Mooney 588194d785 Deprecate Aggregate[Core|Ram|Disk]Filters
The Aggregate[Core|Ram|Disk]Filters have not worked
correctly since ocata, this change deprecates them
for removal next cycle.
http://lists.openstack.org/pipermail/openstack-dev/2018-January/126283.html

Related-Bug: #1804125
Change-Id: Ibfbfdae9e6ec93f772631a84e8969f4e11da8aee
2019-08-20 16:45:23 -04:00
Stephen Finucane aeff4ea738 docs: Scrub available quotas
Reflect the changes introduced in API microversions 2.36 and 2.57. This
was based on 'nova/api/openstack/compute/schemas/quota_sets.py'. Note
that the 'networks' quota, which is referenced in this file, was missing
and is now documented.

Change-Id: Ic4e622ad5ab137f0110a664ba1608767ae6cedf4
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-08-20 17:49:43 +01:00
Matt Riedemann 77efc084fc doc: remove confusing docs about aggregate allocation ratios
Change Ifaf596a8572637f843f47daf5adce394b0365676 added a note
about the behavior change in Ocata where allocation ratios
set on host aggregates was ignored because of placement resource
provider allocation ratios being used.

Later, change I7d8e822cd40dccaf5244e2cd95fa1af43fa9ed87 added
a lot more detail about allocation ratios in the scheduler docs
including the initial* allocation ratio config options. The note
from the previous change was moved and as a result leads to some
confusion since the doc starts by saying essentially, "you can
use these aggregate filters to manage allocation ratios on a set
of hosts" and then the immediate note says essentially, "oh btw
that doesn't work since ocata, sorry!".

To avoid the confusion, this simply removes the part about how
the aggregate filters can be used to manage allocation ratios.

Change-Id: I62710b0b8c098cca3f67020f4a6da5e684115414
Related-Bug: #1804125
2019-08-20 10:07:38 -04:00
Adam Spiers d47f1db49e Switch some GitHub URLs to point to opendev.org
Also update some outdated URLs at the same time, e.g. defcore is now
interop.

Unfortunately unlike GitHub, gitea doesn't yet support URLs with
shortened SHA1s; however this is being worked on:

    https://github.com/go-gitea/gitea/issues/6450

Change-Id: I6e6b63619f1138cc961b61be548453361d01f73c
2019-08-19 21:08:27 +01:00
Matt Riedemann d780216c6a doc: fix physets typo
I'm pretty sure this was meant to be physnets given the
context and this was added with Ide262733ffd7714fdc702b31c61bdd42dbf7acc3
which is about provider physical network affinity to NUMA nodes.

Change-Id: Ia9282325441ec42af6b03cda704b1cc7bac8d9f4
2019-08-05 14:07:59 -04:00