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>
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>
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
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
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>
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
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
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>
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
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>
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
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
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
Switch to openstackdocstheme 2.1.2 and reno 3.1.0 versions. Using
these versions will allow parallelizing building of documents.
Update Sphinx version as well.
openstackdocstheme renames some variables, so follow the renames. A
couple of variables are also not needed anymore, remove them.
Set openstackdocs_auto_version to not version the documents.
Set openstackdocs_auto_name to use project as name.
Depends-On: https://review.opendev.org/728432
Change-Id: I4e3ae3ceabe125ea459ed4baabf2e98686268e50
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
In 21.0.0 Ussuri we were completed the nova-cyborg interaction feature,
but there are some issue when multiple create instances.
Creating servers with accelerators provisioned with the Cyborg service,
if a flavor asks for resources that are provided by nested Resource
Provider inventories (eg. VGPU) and the user wants multi-create (ie. say
--max 2) then the scheduler could be returning a NoValidHosts exception
even if each nested Resource Provider can support at least one specific
instance, if the total wanted capacity is not supported by only one
nested RP.
For example,creating servers with accelerators provisioned with the
Cyborg service, if two children RP have 4 VGPU inventories each:
- you can ask for a flavor with 2 VGPU with --max 2
- but you can't ask for a flavor with 4 VGPU and --max 2
Related-Bug: #1874664
Change-Id: I64647a6ba79c47c891134cedb49f03d3c61e8824
There are cases where policy file is re-generated freshly
and end up having the new defaults only but expectation is that
old deprecated rule keep working.
If a rule is present in policy file then, that has priority over
its defaults so either rules should not be present in policy file
or users need to update their token to match the overridden rule
permission.
This issue was always present when any policy defaults were changed
with old defaults being supported as deprecated. This is we have
changed all the policy for new defaults so it came up as broken case.
Adding nova-status upgrade check also to detect such policy file.
Related-Bug: #1875418
Change-Id: Id9cd65877e53577bff22e408ca07bbeec4407f6e
This commit adds the documents to explain the new defaults,
migration plan and releases notes for policies changes in
BP policy-defaults-refresh
Partial implement blueprint policy-defaults-refresh
Change-Id: I00e678858a8e46786f3b69fbba3f5353932de49b
Now that allocations are passed to the methods, we can ask whether we
need to use mediated devices for the instance.
Adding a large functional test for verifying it works.
Change-Id: I018762335b19c98045ad42147080203092b51c27
Closes-Bug: #1778563
The term role has became case sensitive since sphinx 3.0.1.
It causes the following warnings and makes a check job fail.
WARNING: term not in glossary: availability zone
This patch fixes the issue.
Change-Id: I1f993b503ef769da0950afa206d6ac4a54f903b4
Closes-Bug: #1872260