Commit Graph

2447 Commits

Author SHA1 Message Date
Balazs Gibizer 1361ea5ad1 Support SRIOV interface attach and detach
For attach:
* Generates InstancePciRequest for SRIOV interfaces attach requests
* Claims and allocates a PciDevice for such request

For detach:
* Frees PciDevice and deletes the InstancePciRequests

On the libvirt driver side the following small fixes was necessar:
* Fixes PCI address generation to avoid double 0x prefixes in LibvirtConfigGuestHostdevPCI
* Adds support for comparing LibvirtConfigGuestHostdevPCI objects
* Extends the comparison of LibvirtConfigGuestInterface to support
  macvtap interfaces where target_dev is only known by libvirt but not
  nova
* generalize guest.get_interface_by_cfg() to work with both
  LibvirtConfigGuest[Inteface|HostdevPCI] objects

Implements: blueprint sriov-interface-attach-detach

Change-Id: I67504a37b0fe2ae5da3cba2f3122d9d0e18b9481
2020-09-10 18:44:53 +01:00
Zuul beac168f23 Merge "docs: Remove resize, cold migration from vTPM limitations" 2020-09-10 17:08:58 +00:00
Zuul fc77e8a627 Merge "doc: Fix note directives" 2020-09-10 12:19:45 +00:00
Zuul e20f6f412e Merge "docs: Remove references to XenAPI driver" 2020-09-10 12:19:28 +00:00
Ghanshyam Mann ef769443fb [Trivial] Replace ref of policy.json to policy.yaml
policy file default and JSON format 'policy.json' is now
deprecated. Let's replace all the ref and test start using the
policy.yaml.

Change-Id: I78a273576702fb95d831bd9b801b5774fb9fd19e
2020-09-09 16:46:43 +00:00
Stephen Finucane b430036a77 docs: Remove resize, cold migration from vTPM limitations
These are now supported.

Part of blueprint add-emulated-virtual-tpm

Change-Id: I7a6026c157c56fb2f47902e93f83e36d35c91a8e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-09-09 15:28:54 +01:00
Ghanshyam Mann fe545dbe5f Migrate default policy file from JSON to YAML
Default value of 'CONF.oslo_policy.policy_file' config option
has been changed from 'policy.json' to 'policy.yaml'. If new default
file 'policy.yaml' does not exist but old default 'policy.json' exist
then fallback to use old default file.

An upgrade checks is added to check the policy_file format and
fail upgrade checks if it is JSON formatted.

Added a warning in policy doc about JSON formatted file is deprecated,
also removed all the reference to policy.json file in doc as well as
in tests.

Related Blueprint: policy-json-to-yaml

Closes-Bug: #1875418

Change-Id: Ic4d3b998bb9701cb1e3ef12d9bb6f4d91cc19c18
2020-09-09 08:09:38 -05:00
Zuul bbe2adecc7 Merge "libvirt: Remove '[vnc] keymap', '[spice] keymap' options" 2020-09-08 15:50:33 +00:00
Takashi Natsume c6ebfa45e6 doc: Fix note directives
Change-Id: I791656571926134edede9d3784bb92d46125a866
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2020-09-06 20:27:34 +09:00
Zuul fa374dcc88 Merge "doc: Add IPv6 metadata address" 2020-09-04 16:13:50 +00:00
Jiří Suchomel a33f455ec7 Adapt the admin guide to describe the direct RBD export
This documents how to set up nova and glance so the feature
for direct download from Ceph can be used.

Change-Id: I07509c67c65e988fe5149b625007e90e68488cfd
2020-09-03 11:30:34 +01:00
zhangbailin a8b0c6b456 Add note and daxio version to the vPMEM document
Make the spec of virtual persistent memory consistent with
the contents of the admin manual, update the dependency of virtual
persistent memory about daxio, and add NOTE for the tested kernel
version.

Closes-Bug: #1894022

Change-Id: I30539bb47c98a588b95c066a394949d60af9c520
2020-09-03 11:03:06 +08:00
Stephen Finucane 46b1ff4e80 libvirt: Remove '[vnc] keymap', '[spice] keymap' options
These options were deprecated way back in Rocky due to buggy behavior
they introduced. We can remove them now.

Change-Id: I9266edfd4ea6315239c54ff8d91e37d197c760c0
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-09-02 16:55:12 +01: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
Stephen Finucane b5d4804346 doc: Update references to image properties
The 'architecture', 'hypervisor_type', 'hypervisor_version_requires' and
'vm_mode' image metadata properties have had new names for many cycles
now.

The example for the freshly renamed 'img_hv_requested_version' option
has been updated to show a Hyper-V example, since the Xen virt driver is
not tested and will likely be removed in the near future.

Change-Id: I5684d7d462d3f7cecd887216c5618139787ef5d7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-08-31 11:59:14 +01:00
Dustin Cowles 260713dc22 Provider Config File: Enable loading and merging of provider configs
This series implements the referenced blueprint to allow for specifying
custom resource provider traits and inventories via yaml config files.

This fourth commit adds the config option, release notes, documentation,
functional tests, and calls to the previously implemented functions in
order to load provider config files and merge them to the provider tree.

Change-Id: I59c5758c570acccb629f7010d3104e00d79976e4
Blueprint: provider-config-file
2020-08-26 23:18:53 +08:00
Zuul 38a6070e48 Merge "docs: Add docs for vTPM support" 2020-08-26 14:10:41 +00:00
Zuul c5b33b0cfc Merge "Remove deprecated scheduler filters" 2020-08-26 12:14:55 +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
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
Zuul 6557d672b0 Merge "Document nova in tree virt drivers" 2020-08-05 14:22:44 +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
Zuul 866bd309cb Merge "doc: Correct typo" 2020-07-15 03:18:03 +00:00
Zuul 70b70dc17a Merge "hardware: Tweak the 'cpu_realtime_mask' handling slightly" 2020-07-13 15:21:26 +00:00
Zuul 4b1cc4315b Merge "hardware: Allow 'hw:cpu_realtime_mask' to be omitted" 2020-07-13 15:21:19 +00: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
Balazs Gibizer b327b961f6 Document nova in tree virt drivers
In I29c5a678efec4fbc4bd7958ebe6d454ae30701cd we made the libvirt driver
to run only on Linux. However we did not have documentation about what
virt driver runs on what Operating System. This patch starts such
documentation.

Change-Id: Iccf4ab14865ac1694d7b0dad5dcb101f1ba152c8
2020-07-10 10:07:42 +02: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
Zuul f644da10b2 Merge "Update interop repo link" 2020-06-26 17:40:35 +00:00
Zuul 6ed556f4ad Merge "libvirt: Don't allow "reserving" file-backed memory" 2020-06-17 12:41:46 +00:00
Andreas Jaeger 0eb77b0ad2 Update interop repo link
Change I02ac67e333cc1a5133269bd8562f18a8d50bb036 renamed
openstack/interop to osf/interop, follow this change.

Change-Id: I43476fc0cc8f5eb2a93f75e208588f482182f3b2
2020-06-13 16:15:57 +02:00
Ghanshyam Mann b2f07a4959 Fix pdf-docs build failing for TeX over capacity
With the new release of sphinx 3.1.0, nova pdf docs build
started failing with "! Dimension too large." error.
That started failing since 10th June when the requirement added
the new constraint for sphinx.

Seems like somewhere TeX memory is exhausted during the pdf
building (I think we are hitting this open sphinx bug[1]).
While reproducing it locally I found that our giant policy sample
file inclusion in pdf doc causing this error.

- https://zuul.opendev.org/t/openstack/build/9c3e835ad5ee4842a07d77fdbaa6c97d/log/sphinx-build-pdf.log#7661

We did skip the sample policy file for pdf in
doc/source/configuration/index.rst but did not do that
in admin configuration file and it start giving the error now.

With this fix, sample policy file in admin config also is included
in html but not in pdf.

Closes-Bug: #1883200

Change-Id: Iae143997138a5169a1e0fc76a74f9a0f09c03626
2020-06-12 15:34:45 +00:00
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
Zuul 2061ce1125 Merge "[Nova] Add reference to Placement installation guide" 2020-06-08 13:13:44 +00:00
Zuul d9cd0e1f1c Merge "hacking: Modify checks for translated logs" 2020-06-02 14:43:01 +00:00
Zuul 6f6b63ee5f Merge "docs: Remove subtitles, metadata from man pages" 2020-06-02 14:28:33 +00:00
Zuul 2809e082d1 Merge "Fix pygments_style" 2020-05-27 21:04:29 +00:00
Stephen Finucane 45a88f08b4 hacking: Modify checks for translated logs
The N319 check previously asserted that debug-level logs were not
translated. Now that we've removed all log translations, we can
generalize this to all logs. We reuse the same number since these
numbers are really just metadata and not public contracts.

This also allows us to update the N323 and N326 checks, which ensure we
import the translation function, '_', wherever it's used and don't
concatenate translated and non-translated strings. Since we're no longer
translating logs and the '_LE', '_LW' and '_LI' symbols are no longer
provided, we don't need to consider logs in either of these cases.

Change-Id: I64d139ad660bc382e8b9d7c8cd03352b26aadafd
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-05-27 09:41:30 +00:00
Zuul 3f3627b861 Merge "replace the "hide_hypervisor_id" to "hw:hide_hypervisor_id"" 2020-05-26 04:08:54 +00:00
Harshavardhan Metla 58159470bf [Nova] Add reference to Placement installation guide
Placement service has to be installed and configured with user and
endpoints before Nova installation. But in
stein release it is not mentioned in the prerequisites of Nova. Added
reference to Placement installation guide in the prerequisites section
of nova installation guide.

Change-Id: I6af43a24dc5b3575016f092268d98cc720249d93
Closes-Bug: #1829032
2020-05-23 12:40:45 +05:30
Stephen Finucane 79e6d3e135 docs: Remove subtitles, metadata from man pages
These do not render correctly when generating man pages and likely exist
from a time when the pages were built with rst2man (i.e. docutils)
instead of Sphinx. They're not necessary when using Sphinx since that
information is provided via the 'man_pages' config option in 'conf.py',
which are updated here to reflect reality.

Change-Id: I133e7231112cc9025e57a29d43bfa7002ca775e7
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2020-05-21 11:17:26 +01:00
Andreas Jaeger 9e457deba0 Fix pygments_style
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.

Change-Id: Icd9d529dbe66626ac53a9fdca5bc6821998a0b7d
2020-05-20 21:56:41 +02:00
Zuul 4c1b4f8b8a Merge "Add admin doc information about image cache resource accounting" 2020-05-20 16:17:16 +00:00
Dan Smith ab3fab0322 Add admin doc information about image cache resource accounting
This adds some details to the image cache page in the admin docs about
how image cache disk usage is (not) considered in the scheduler disk
space calculation. Workarounds and mitigation strategies are provided.

Change-Id: I7f40f167cea073a73cf249a9adfd73e1187c031b
Related-Bug: #1878024
2020-05-20 10:13:20 +01:00
Andreas Jaeger 2eb2752988 Add link to PDF document
Switch to openstackdocstheme 2.2.0 that can link to PDF document,
enable this with setting openstackdocs_pdf_link.

Note that the link to the published document only works on 
docs.openstack.org where the PDF file is placed in the top-level html
directory. The site-preview places the PDF in a pdf directory.

Depends-On: https://review.opendev.org/728938
Change-Id: I29dddfa06183ecadb8f23feb2ad2e3c1c5a233cc
2020-05-18 18:42:31 +00:00