Commit Graph

418 Commits

Author SHA1 Message Date
Stephen Finucane bcf225daf4 db: Move main DB migrations
We place these in a 'legacy_migrations' directory, as we will soon be
adding alembic-based migrations in a 'migration' directory.

Change-Id: Ib927e4c48f59a467a913875111ffbf64ffe0de90
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-07-05 11:05:04 +01:00
Stephen Finucane 5cf06bf33d docs: Remove duplicate ToC entry
Change-Id: Idf9c2cb27b3421174b686ca97233281ea7168970
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-05-31 15:07:41 +01:00
Zuul fdd96de20d Merge "doc: Use a non-numerical anchor when referencing microversions" 2021-03-31 17:50:35 +00:00
Zuul d44ce25f15 Merge "docs: Add SEV guide" 2021-03-25 13:48:36 +00:00
Zuul f4f0f8eea1 Merge "docs: Remove duplicated PCI passthrough extra spec info" 2021-03-25 13:47:27 +00:00
Zuul 232fa8bca1 Merge "docs: Remove duplicate TPM extra spec info" 2021-03-25 13:46:15 +00:00
Zuul ad6882b45b Merge "docs: Add a real-time guide" 2021-03-25 13:45:03 +00:00
Zuul a086a88cd1 Merge "docs: Add a resource limits guide" 2021-03-24 13:26:39 +00:00
Zuul a337c1de91 Merge "docs: Add note about rescuing bfv instances with the 2.87 microversion" 2021-03-24 13:23:49 +00:00
Lee Yarwood 387a5753de doc: Use a non-numerical anchor when referencing microversions
As called out in the review for
Ib7b9f4fd7673525129c03dc2943deedd0c7ad81f the use of a numerical anchor
causes a sequence id to be used that can change over time in the
document and thus is not stable to reference externally.

This change simply switches to a non-numerical anchor ensuring that
sphinx generates a stable anchor we can always reference.

Change-Id: I550f7fd89a13e58031b0ddfbcb4f6a5239dbf335
2021-03-24 12:18:59 +00:00
Stephen Finucane 49767beaa9 docs: Add SEV guide
This was previously hidden in the hypervisor configuration guide. Make
it a top-level document.

Change-Id: If402522c859c1413f0d90912e357496a0a67c5cf
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:13:34 +00:00
Stephen Finucane c5ebaef610 docs: Remove duplicated PCI passthrough extra spec info
There's also a PCI passthrough guide. Use that instead, allowing us to
remove the sections for various extra specs from the 'user/flavors'
guide:

- hw:pci_numa_affinity_policy
- pci_passthrough:alias

Change-Id: I5701d284c2cfdadf825f8e2f699651b3f8c0c9ab
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:13:01 +00:00
Stephen Finucane 94c03e8d66 docs: Remove duplicate TPM extra spec info
We have a perfectly good TPM guide. Enhance that, allowing us to remove
the special section dedicated to this from the generic flavor docs.

Change-Id: If484074c01595f747f9201b5ec12164779195b61
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:12:29 +00:00
Stephen Finucane 777c02485f docs: Add a real-time guide
This beefy patch closes a long-standing TODO and allows us to move yet
more information out of the flavors guide and into specific documents.
This, combined with existing documentation in place, means we can remove
the sections for various extra specs from the 'user/flavors' guide:

- hw:cpu_realtime            -> doc/source/admin/real-time.rst
- hw:cpu_realtime_mask       -> doc/source/admin/real-time.rst
- hw:emulator_threads_policy -> doc/source/admin/cpu-topologies.rst
- hw:cpu_policy              -> doc/source/admin/cpu-topologies.rst
- hw:cpu_thread_policy       -> doc/source/admin/cpu-topologies.rst
- hw:cpu_sockets             -> doc/source/admin/cpu-topologies.rst
- hw:cpu_cores               -> doc/source/admin/cpu-topologies.rst
- hw:cpu_threads             -> doc/source/admin/cpu-topologies.rst
- hw:cpu_max_sockets         -> doc/source/admin/cpu-topologies.rst
- hw:cpu_max_cores           -> doc/source/admin/cpu-topologies.rst
- hw:cpu_max_threads         -> doc/source/admin/cpu-topologies.rst
- hw:numa_nodes              -> doc/source/admin/cpu-topologies.rst
- hw:numa_cpus.N             -> doc/source/admin/cpu-topologies.rst
- hw:numa_mem.N              -> doc/source/admin/cpu-topologies.rst
- hw:mem_page_size           -> doc/source/admin/huge-pages.rst

Multiple improvements to the libvirt extra spec docs are included here,
for want of a better place to include them.

Change-Id: I02b044f8246f4a42481bb5f00259842692b29b71
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 11:11:52 +00:00
Stephen Finucane 8528eaa602 docs: Add a resource limits guide
This is mostly regurgitated information from the current flavors guide
but we take the opportunity to significantly expand upon what we've
already stated here.

Change-Id: I9ad798427bbc6451fd920d6c08357d6e1eaa5136
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-23 10:37:30 +00:00
Zuul 2dc26edfc5 Merge "docs: Document UEFI secure boot feature" 2021-03-16 11:49:51 +00:00
Stephen Finucane f4c249c692 docs: Document UEFI secure boot feature
Introduce two new guides on UEFI and Secure Boot. In addition, update
the flavors guide to document the secure boot feature (though this doc
should really be removed in near term in favour of the auto-generated
docs, as noted inline).

Note that this change includes our first use of the ':nova:extra-spec:'
cross-reference role and highlights a small bug in that implementation.
This is resolved.

Blueprint: allow-secure-boot-for-qemu-kvm-guests
Change-Id: I4eb370b87ba8d0403c8c0ef038a909313a48d1d6
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-03-12 17:42:02 +00:00
Lee Yarwood ff3fd84636 docs: Add note about rescuing bfv instances with the 2.87 microversion
This was somehow missed when we landed the stable rescue doc updates in
Iaa2f27ccb2a77102fde6b24b76c9d5ae54608cca.

Change-Id: Ib7b9f4fd7673525129c03dc2943deedd0c7ad81f
2021-03-11 09:43:18 +00:00
Artom Lifshitz b2471dd578 pci: implement the 'socket' NUMA affinity policy
This patch enables the 'socket' PCI NUMA affinity policy. The PCI
manager gets a new method to implement it, and the libvirt driver
starts reporting the necessary trait, enabling it to receive
instances with the 'socket' policy.

Implements: blueprint pci-socket-affinity
Change-Id: Ia875c9c3542ef4138d0d7a2c26c0cf49dcca0761
2021-03-10 17:06:03 -05:00
Zuul d92c0740c6 Merge "libvirt: Drop support for Xen" 2021-01-27 13:46:58 +00:00
Zuul b4cf40a07f Merge "libvirt: Drop support for UML" 2021-01-27 02:14:36 +00:00
Stephen Finucane 3a390c2c82 libvirt: Drop support for Xen
This hasn't been validated upstream and there doesn't appear to be
anyone using it. It's time to drop support for this. This is mostly test
and documentation damage, though there is some other cleanup going on,
like the removal of the essentially noop 'pick_disk_driver_name' helper.

Change-Id: I73305e82da5d8da548961b801a8e75fb0e8c4cf1
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-01-22 10:06:40 +00:00
Stephen Finucane d02ce3c4f0 libvirt: Drop support for UML
This has not been tested in the gate for a long time and was only added
to enable CI in the early days of OpenStack. Time to bid adieu.

Change-Id: I7a157f37d2a67e1174a1725fd579c761d81a09b1
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-01-22 10:05:57 +00:00
Lee Yarwood d5420bbb50 docs: Add reference docs for internal block device structures
It's time to shine a light on this area of the codebase ahead of some
much required cleanup. This documentation is based on an email sent
almost 5 years ago but is still accurate today.

Change-Id: I66cc2c5549833f269872748fb1532438f9ba8489
2021-01-22 09:59:27 +00:00
Artom Lifshitz 3cb1215f19 Docs: correct cpu_thread_policy explanation
With the landing of the cpu-resources series in train [1], the
hw:cpu_thread_policy extra spec has a different effect than before.
Correct our documentation.

[1] https://review.opendev.org/q/topic:bp/cpu-resources

Change-Id: I338408b01b1d2328035dd92d2588710a20aba323
2020-12-02 11:46:38 -05:00
Stephen Finucane b32a685595 docs: Make JSON valid
Pygments 2.7.x is stricter in how it validates JSON escapes, aligning it
closer with the spec [1]. Turns out we have some invalid JSON in our
docs, meaning builds are now failing with the following error:

  doc/source/user/metadata.rst:262: WARNING: Could not lex literal_block
  as "json". Highlighting skipped.

Resolve this.

[1] https://github.com/pygments/pygments/commit/9514e794e0c2a5c7c048df97fcfef4a099e05ac3

Change-Id: Ic50e29e9c7817744ad0b4f9de309aa3e96a09505
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-10-23 17:15:43 +01:00
Zuul 5441a76b0e Merge "docs: fix aggregate weight multiplier property names" 2020-09-22 15:27:51 +00:00
Zuul e20f6f412e Merge "docs: Remove references to XenAPI driver" 2020-09-10 12:19:28 +00:00
Zuul fa374dcc88 Merge "doc: Add IPv6 metadata address" 2020-09-04 16:13:50 +00:00
Stephen Finucane 58f7582c63 docs: Remove references to XenAPI driver
Not as many of these as I thought there would be. Also, yes, the change
to 'nova.conf.compute' is a doc change :)

Change-Id: I27626984ce94544bd81d998c5fdf141875faec92
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-08-31 15:53:31 +01:00
Zuul 38a6070e48 Merge "docs: Add docs for vTPM support" 2020-08-26 14:10:41 +00:00
Stephen Finucane 0ed4ec6f26 docs: Add docs for vTPM support
What it is, why you'd want it and how you can configure it.

Part of blueprint add-emulated-virtual-tpm

Change-Id: I8e52a397bca8f09e6aaa6cab44eee7dded529c55
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-08-25 17:55:33 +01:00
Mark Goddard 3a54eec5ef docs: fix aggregate weight multiplier property names
The documentation states that property names for aggregate weight
multipliers should be prefixed with 'filter_scheduler.', however in
reality they should not.

This change fixes this in the documentation.

Change-Id: I3adabb052a859cccf59655c91cc366fbe1cf8386
2020-08-24 10:14:27 +01:00
Sean Mooney 4939d0d1e2 Remove deprecated scheduler filters
The RetryFilter was deprecated in Train.
The Aggregate[core|ram|disk] filters were also deprecated in train.
This change removes all four deprecated filters and their docs.

Change-Id: Idc29c759632850d3d767a261c9f385af71348f65
2020-08-11 13:25:59 +00:00
Bence Romsics e7d3a65ff4 doc: Add IPv6 metadata address
The metadata service is going to be accessible over IPv6 too when
the following Neutron feature merges (still in Victoria, I hope):

https://bugs.launchpad.net/neutron/+bug/1460177

However all end-user facing metadata documentation is in Nova,
so unless we want to refactor/move this, let me propose this doc
change here.

Change-Id: I7e67680090da003e01e106be47b7a807164fecb3
Partial-Bug: #1460177
2020-08-04 09:06:53 +02:00
Zuul 97b0d251f7 Merge "hardware: create 'mixed' instance for realtime CPUs" 2020-07-22 16:09:55 +00:00
Zuul b7a9ff513b Merge "hardware: Enable 'hw:cpu_dedicated_mask' for creating a mixed instance" 2020-07-22 09:37:32 +00:00
Wang Huaqiang 275ea2de36 hardware: create 'mixed' instance for realtime CPUs
Before, realtime CPUs could only be combined with dedicated CPUs
in a 'dedicated' policy instance. This patch supports to create
a type of instance that makes realtime CPUs be mixed with shared
CPUs under the 'mixed' CPU allocation policy.

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: Iad7864bf375341ef065bfec229a059e444c910e2
Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
2020-07-21 15:18:41 +08:00
Wang Huaqiang 5c71ac5e02 hardware: Enable 'hw:cpu_dedicated_mask' for creating a mixed instance
Enable the 'hw:cpu_dedicated_mask' flavor extra spec interface, user
can create CPU mixing instance through a flavor with following
extra spec settings:

 openstack flavor set <flavor_id> \
        --property hw:cpu_policy=mixed \
        --property hw:cpu_dedicated_mask=0-3,7

In a topic coming later, we'll introduce another way to create a
mixed instance through the real-time interface.

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: I2a3311c08a52eb11859c68ef940a0bd755a94c6b
Signed-off-by: Wang Huaqiang <huaqiang.wang@intel.com>
2020-07-21 15:18:41 +08:00
Stephen Finucane 84e8aa717c doc: Correct typo
We're talking mathematical symbols here, not precious metals /o\

Change-Id: Ie47feab31232d100da48be095feeae37c5f51a70
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-07-13 12:14:49 +01:00
Chris Friesen 9fc63c7644 hardware: Tweak the 'cpu_realtime_mask' handling slightly
If the end-user specifies a cpu_realtime_mask that does not begin
with a carat (i.e. it is not a purely-exclusion mask) it's likely
that they're expecting us to use the exact mask that they have
specified, not realizing that we default to all-vCPUs-are-RT.

Let's make nova's behaviour a bit more friendly by correctly
handling this scenario.

Note that the end-user impact of this is minimal/non-existent. As
discussed in bug #1884231, the only way a user could have used this
before would be if they'd configured an emulator thread and purposefully
set an invalid 'hw:cpu_realtime_mask' set. In fact, they wouldn't have
been able to use this value at all if they used API microversion 2.86
(extra spec validation).

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: Id81859186de6fb6b728ad566a532244008fe77d0
Closes-Bug: #1688673
2020-07-09 18:13:51 +01:00
Stephen Finucane f5aa144593 hardware: Allow 'hw:cpu_realtime_mask' to be omitted
By offloading emulator threads to other host cores (via the
'hw:emulator_threads_policy' extra spec), it's possible to allocate all
guest cores to realtime. Enable this.

Part of blueprint use-pcpu-and-vcpu-in-one-instance

Change-Id: I00805cf9cca9657955c7e1ef3a76e384adaa78f1
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-07-09 18:12:53 +01:00
ramboman bf488a8630 replace the "hide_hypervisor_id" to "hw:hide_hypervisor_id"
When we use the flavor extra_specs "hide_hypervisor_id" in
AggregateInstanceExtraSpecsFilter, then will retrun False.
So we need correct the extra_specs.

Change-Id: I9d8d8c3a30cf6da7e8fb48374347e069ab075df2
Closes-Bug: 1841932
2020-05-08 10:18:42 +01:00
Zuul 730eeb5fe0 Merge "Feature matrix: update AArch64 information" 2020-04-29 10:59:41 +00:00
Lee Yarwood 30fcb2ddfd docs: Add stable device rescue docs
Adds the new mode to the existing user rescue docs and highlights some
known limitations.

Change-Id: Iaa2f27ccb2a77102fde6b24b76c9d5ae54608cca
2020-04-21 10:54:18 +01:00
Stephen Finucane 58784943f7 api: Add framework for extra spec validation
Add the validation framework necessary to verify extra specs along with
the definitions for every extra spec we currently recognize in-tree.
None of this is currently used since we don't have the API microversions
wired up, but that will come in a future patch.

Note that we must add the H238 hacking check to the ignore list here,
since this includes our first use of Python 3-type classes without the
explicit 'object' subclass. This can be removed when that check is
removed from hacking.

Part of blueprint flavor-extra-spec-validators

Change-Id: Ib64a1348cce1dca995746214616c4f33d9d664bd
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2020-04-08 12:47:01 +00:00
Marcin Juszkiewicz be810df06f Feature matrix: update AArch64 information
I tested missing entries on Linaro Developer Cloud.

Change-Id: I63267f5a759af52eb9c052cc804e2650c3fe9ef3
2020-03-30 17:22:20 +02:00
Lucian Petrut ca3e14319b hyper-v: update support matrix
This change documents certain hyper-v driver features that are not
included in the driver support matrix.

Change-Id: I29f6d816138bd31ad6bc8d327636b202d718bdff
2020-03-04 15:45:21 +02:00
Zuul 4cf008135f Merge "docs: Improve documentation on writing custom scheduler filters" 2020-02-26 12:08:01 +00:00
Zuul 4f69d8e6c7 Merge "Add JSON schema and test for network_data.json" 2020-02-18 18:57:16 +00:00