Commit Graph

240 Commits (master)

Author SHA1 Message Date
Zuul 404a9f0ab8 Merge "doc: Remove crud from file" 2023-12-05 12:56:37 +00:00
Sean Mooney df0a99a29a fix sphinx-lint issues in api guide
as with the previous commit this change is simply correcting the
usage of backticks for inline literals

Change-Id: Icbfd168266dc1348ee15f7347ed673d220989ceb
2023-10-02 22:20:01 +01:00
Stephen Finucane c2ab7918e4 doc: Remove crud from file
Change-Id: Ie8078739d077a903e3ad83d27b178eda416b0859
Signed-off-by: Stephen Finucane <>
2023-10-02 11:11:23 +01:00
Zuul 9d0b55b70b Merge "Fix link to Cyborg device profiles API" 2022-12-20 15:03:28 +00:00
Zuul 5ff11fe6e2 Merge "Correct wrong reference in docs" 2022-11-02 13:25:30 +00:00
Rajesh Tailor b1958b7cfa Correct doc references
This changes corrects wrong doc references in nova docs.

Change-Id: I6a94e14dd7efafad65a0074b57b9eff1b6822e02
2022-10-18 17:09:41 +05:30
Rajesh Tailor e35c2e1d51 Correct wrong reference in docs
This change fixes the wrong url in nova compute admin doc [1]
in projects-users-and-roles section.


Closes-Bug: #1992139
Change-Id: Iee3546845bb37ad08f394ec710f7302d37ffd99b
2022-10-11 15:53:45 +05:30
Jan Klippel 045125c291
Fix link to Cyborg device profiles API
Signed-off-by: Jan Klippel <>
Change-Id: Ia14c2a433e31aa3685f68abfefaed5caad0a70ea
2022-09-28 14:53:08 +02:00
Amit Uniyal 1495d802c6 Updated Suspend definition in server concepts doc
Closes-Bug: #1943881
Change-Id: Icb8de13f665c340cd5d863654f8ad981de21293d
2022-08-02 04:18:10 +00:00
Balazs Gibizer 22d4057a16 [doc] port-resource-request-groups not landed in Xena
This patches adjusts the nova documentation about the extended port
resource request support in nova as the neutron API extension did not
land in Xena.

Change-Id: I3b961426745084bdb4a6d04468f5a3c762be4cfa
blueprint: qos-minimum-guaranteed-packet-rate
2021-09-06 13:03:22 +02:00
Balazs Gibizer 44309c419f Support interface attach / detach with new resource request format
The interface attach and detach logic is now fully adapted to the new
extended resource request format, and supports more than one request
group in a single port.

blueprint: qos-minimum-guaranteed-packet-rate
Change-Id: I73e6acf5adfffa9203efa3374671ec18f4ea79eb
2021-09-01 15:51:47 +02:00
Balazs Gibizer 191bdf2069 Support move ops with extended resource request
Nova re-generates the resource request of an instance for each server
move operation (migrate, resize, evacuate, live-migrate, unshelve) to
find (or validate) a target host for the instance move. This patch
extends the this logic to support the extended resource request from

As the changes in the neutron interface code is called from nova-compute
service during the port binding the compute service version is bumped.
And a check is added to the compute-api to reject the move operations
with ports having extended resource request if there are old computes
in the cluster.

blueprint: qos-minimum-guaranteed-packet-rate
Change-Id: Ibcf703e254e720b9a6de17527325758676628d48
2021-08-27 17:59:18 +02:00
Balazs Gibizer c3886c3ca7 Support boot with extended resource request
This adds the final missing pieces to support creating servers with
ports having extended resource request. As the changes in the neutron
interface code is called from nova-compute service during the port
binding the compute service version is bumped. And a check is added to
the compute-api to reject such server create requests if there are old
computes in the cluster.

Note that some of the negative and SRIOV related interface attach
tests are also started to pass as they are not dependent on any of the
interface attach specific implementation. Still interface attach is
broken here as the failing of the positive tests show.

blueprint: qos-minimum-guaranteed-packet-rate

Change-Id: I9060cc9cb9e0d5de641ade78c5fd7e1cc77ade46
2021-08-27 15:51:12 +02:00
Balazs Gibizer e357ad3c23 Reject server create with extended resource req
To prepare for the unlikely event that Neutron merges and an operator
enables the port-resource-request-groups neutron API extension before
nova adds support for it, this patch rejects server creation if such
extension is enabled in Neutron. Enabling that extension has zero
benefits without nova support hence the harsh but simple rejection.

A subsequent patch will reject server lifecycle operations in a more
sophisticated way and as soon as we support some operations, like
boot, the deployer might rightfully choose to enable the Neutron

Change-Id: I2c55d9da13a570efbc1c862116cea31aaa6aa02e
blueprint: qos-minimum-guaranteed-packet-rate
2021-08-21 09:49:54 +02:00
Yongli He 2226ec4e3b Accelerator smartnic SRIOV support
Since Xena release, nova supports creating servers with
SRIOV provisioned with the Cyborg service.

Change-Id: I59afef70b2b38c61b3c58ac90a1a405532b92832
2021-08-17 10:25:20 +08:00
songwenping 8e5515c1fa Trival change: spell error of Shelve
Change-Id: I3ff89b84f6c8caab952dcc0b85836744565f1372
2021-04-07 02:10:19 +00:00
Balazs Gibizer 5af28c4de5 Support interface attach with QoS ports
The following logic is added to the ComputeManager attach_interface

* gather the resource request of the port from neutron
* query allocation candidates restricted to the current compute node
  from placement
* extend the existing allocation of the instance with one of the
  allocation candidates in placement
* update the InstancePCIRequest (if any) to ensure that the PCI claim
  only allocates VF from the PF the placement resources are allocated from
* ensure that during port binding neutron gets the RP UUID, the resources
  are allocated from, in the allocation key of the binding profile

This patch bumps the compute service version to indicate that QoS
interface attach is supported. Also the check that was so far rejected
such attach is now updated to only reject it if the compute service
version is too old.

The "scheduling" during interface attach for PCI backed ports has the
same limitation as normal scheduling for such ports. It always selects
the first allocation candidate returned by placement even if later in
the process it turns out that such allocation candidate points to a PCI
PF that has no free VFs left.

Blueprint: support-interface-attach-with-qos-ports

Change-Id: Id4684093e8bdf3b61667490443e3d2f6ed65f4b3
2021-02-11 16:43:17 +01:00
zhangbailin 7fbd787b1b Cyborg shelve/unshelve support
This change extends the conductor manager to append the cyborg
resource request to the request spec when performing an unshelve.

On shelve offload an instance will be deleted the instance's ARQs
binding info to free up the bound ARQs in Cyborg service.
And this change passes the ARQs to spawn during unshelve an instance.

This change extends the ``shelve_instance``, ``shelve_offload_instance``
and ``unshelve_instance`` rpcapi function to carry the arq_uuids.

Co-Authored-By: Wenping Song <>

Implements: blueprint cyborg-shelve-and-unshelve
Change-Id: I258df4d77f6d86df1d867a8fe27360731c21d237
2021-01-15 03:21:17 +00:00
Balazs Gibizer 1c056c384d Fallback to same-cell resize with qos ports
The cross-cell resize code does not consider neutron ports with resource
request. To avoid migration failures this patch makes nova to fall back
to same cell resize if the instance has neutron ports with resource

Change-Id: Icaad4b2375b491c8a7e87fb6f4977ae2e13e8190
Closes-Bug: #1907522
2020-12-16 17:01:49 +01:00
Balazs Gibizer 048250a4b7 Disable qos resize tempest test for nova-multi-cell job
It turned out that during the qos resize work we did not implemented
support of cross cell resize with qos ports. Tempest test coverage for
the resize and migrate is landed recently that made the nova-multi-cell
job to fail.

So this patch disables the qos resize and migrate tempest tests for the
nova-multi-cell job to unblock the gate.

Related-Bug: #1907522

[1] I8c573c4a11a76932057d8415d76114a03269b9f3

Change-Id: I95bc22f7d65454cd9e7b54a0e6d9516f2f204978
2020-12-10 14:51:19 +01:00
Takashi Natsume e3cfcb0b37 doc: Fix rendering in the accelerator support doc
Fix list rendering in the accelerator support document.

Change-Id: Ic58c5604b2e63daab7a30a95ad6a3481d96f6f63
Signed-off-by: Takashi Natsume <>
2020-09-18 09:03:15 +00:00
Sean Mooney 1356ef5b57 Cyborg evacuate support
This change extends the conductor manager
to append the cyborg resource request to the
request spec when performing an evacuate.

This change passes the ARQs to spawn during rebuild
and evacuate. On evacuate the existing ARQs will be deleted
and new ARQs will be created and bound, during rebuild the
existing ARQs are reused.

This change extends the rebuild_instance compute rpcapi
function to carry the arq_uuids. This eliminates the
need to lookup the uuids associated with the arqs assinged
to the instance by quering cyborg.

Co-Authored-By: Wenping Song <>
Co-Authored-By: Brin Zhang <>

Implements: blueprint cyborg-rebuild-and-evacuate
Change-Id: I147bf4d95e6d86ff1f967a8ce37260730f21d236
2020-09-01 08:41:45 +00: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
Andreas Jaeger 6c963e7712 Switch to newer openstackdocstheme and reno versions
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.

Change-Id: I4e3ae3ceabe125ea459ed4baabf2e98686268e50
2020-05-15 18:14:20 +02:00
zhangbailin c19de075e1 Add nested resource providers limit for multi create
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
2020-05-02 01:10:06 +00:00
Takashi Natsume d10f4169c9 Fix list rendering in the accelerator support doc
List bullets in the top level have to be left justified,
otherwise we get "<blockquote>" html tags inserted.

Change-Id: I35e80c23c7a6421a648c93767ab954e9a6d1e997
2020-04-27 16:27:46 +00:00
Sundar Nadathur 0a795a3b64 Add release notes for Cyborg-Nova integration.
Change-Id: I4b630d755f99863faf6a432b086608d494ef3cc3
Blueprint: nova-cyborg-interaction
2020-04-03 17:13:04 +08:00
Zuul df9195de72 Merge "Non-Admin user can filter their instances by more filters" 2020-03-26 14:29:46 +00:00
Balazs Gibizer a4c3260f56 Enable unshelve with qos ports
Previous patches in the blueprint implemented the support for unshelve
with qos ports and added functional test coverage for the
various scenarios. So this patch changes the API check
that rejected such operation to check for the service version and therefore
conditionally enable the feature.

Change-Id: Iaf70ee41f1bfb1a4964da3f59cd3a0b4b5e20d36
blueprint: support-move-ops-with-qos-ports-ussuri
2020-03-18 17:38:55 +01:00
Victor Coutellier 4018d6fb71 Non-Admin user can filter their instances by more filters
Microversion bump to allow non-admin user to use more filters key
when listing instances.

In order to stay coherent, all existing instance filters who are
related to a field readable by default to non admin users when showing
instance details, should be allowed by default without policy

Implements: blueprint non-admin-filter-instance-by-az

Change-Id: Ia66d3a1ceb74ed521cf44922929b2a502f3ee935
2020-03-15 17:35:49 +01:00
Balazs Gibizer 64cdb82b99 Enable live migration with qos ports
Previous patches in the blueprint implemented the support for live
migraton with qos ports and added functional test coverage for the
various live migration scenarios. So this patch removes the API check
that rejected such operation and document the new feature.

Change-Id: Ib9ef18fff28c463c9ffe3607d93428b689dc89fb
blueprint: support-move-ops-with-qos-ports-ussuri
2020-02-03 11:43:12 +01:00
Zuul 67d9b5114e Merge "Fix typos in nova doc" 2020-01-10 23:27:11 +00:00
zhufl ea172ef85f Fix typos in nova doc
This is to fix the following typos:

Change-Id: If47adefa59f01b7f2ebcee5b7e07e0260df113e4
2020-01-09 15:49:49 +08:00
Zuul 1fed6bd934 Merge "Remove 'nova-xvpvncproxy'" 2020-01-08 06:27:03 +00:00
zhufl b608d6bfb4 Fix duplicated words issue like "during during boot time"
This is to fix the duplicated words issue like
"if it was specified during during boot time".

Change-Id: I0ffedb8c40399a4b0ecd83b142bdeaf556d1568f
2020-01-06 14:19:03 +08:00
Stephen Finucane 02eb9cffe6 Remove 'nova-xvpvncproxy'
This legacy service is no longer used and was deprecated during the
Stein cycle [1]. It's time to say adios and remove them in their
entirety. This is pretty straightforward, with the sole exception of
schema for the 'remote-consoles' API, which has to continue supporting
requests for type 'xvpvnc' even if we can't fulfil those requests now.


Part of blueprint remove-xvpvncproxy

Change-Id: I2f7f2379d0cd54e4d0a91008ddb44858cfc5a4cf
Signed-off-by: Stephen Finucane <>
2019-12-23 14:20:28 +00:00
Matt Riedemann a4966b8ee9 api-guide: flesh out the server actions section
The API guide on faults has a section on server actions
but just links to the API reference. There is also the
"Asynchronous faults" section at the bottom which refers
to the server actions API but does not go into details.

This fleshes that section on server actions out a bit more
and includes a walkthrough on the command line of a failed
resize due to NoValidHost. I chose this example since the
server status does not change to ERROR so there is no fault
to see in the server details when the resize action fails.

Change-Id: I95130eeeac1ef8f4676925fe6c0e2d386d88259c
2019-12-02 15:13:48 -05:00
Stephen Finucane c56a635de1 nova-net: Remove 'nova-network' binary
Get excited, people. It's finally dying, for real. There is a lot more
doc work needed here, but this is a start. No need for a release note
modification since we've already said that nova-network has been
removed, so there's no point in saying that the service itself has been
removed since that's implicit.

Change-Id: I18d73212f9d98bc75974a024cf6fd872fdfb1ca4
Signed-off-by: Stephen Finucane <>
2019-11-27 09:36:17 +00:00
Matt Riedemann 1319931f46 api-guide: remove empty sections about inter-service interactions
The todos here are just kind of embarrassing so rather than try
to flesh these out we should just remove them.

The alternative would be writing something at a very high level
like 'the compute service works with the image service to get
the guest operating system image and create snapshots', 'the
compute service works with the block storage service to use
persistent volumes as root volumes with an operating
system image or data volumes', 'the compute service works with
the networking service to provide network access to the server
and firewall rules using security groups' and then link to the
glance, cinder and neutron docs, but I'm not sure it's worth it.

Change-Id: I7f7ca4cc5781a93c0b7b508b5c29e1f6f28194ad
2019-11-25 09:19:24 -05:00
Matt Riedemann b7c6da3074 api-guide: flesh out todos in user doc
This is pretty basic. As for the todo about using named
personas I've just removed that since I don't think at
this point anyone is going to work on assigning names like
Bob and Sally to roles in the guide and consistently use them.

Change-Id: I88dfb23c0e2750dc37d32dfc431b62baed7238b6
2019-11-25 09:19:24 -05:00
Matt Riedemann ce7649e468 api-guide: flesh out networking concepts
This just gives a high level about how the compute and network
service interact along with the most important networking
resources (ports, networks, security groups and floating IPs).

Change-Id: I05da918c7c7edcca34f54afe80786e8f25f9a029
2019-11-25 09:19:24 -05:00
Matt Riedemann ee41dc9ff9 api-guide: flesh out flavor extra specs and image properties
This adds high level details and links to more detailed docs
in both nova and glance.

This also un-hides the document so it shows up in the table of
contents on the main page. Previously it was being linked from
the general info page and some typos in there are fixed as well.

Change-Id: I495b9ae7855d36cb2597272bcae7ec00360bbed4
2019-11-25 09:19:24 -05:00
Matt Riedemann e49433d2cd api-guide: fix the file injection considerations drift
When these docs were initially imported [1] the "Considerations"
section was after "Server personality" but [2] refactored the
latter and forgot about the former. This fixes that so
"Considerations" is now just nested into the "Server personality"

[1] I6d5ba6b96772e0f17fc7484312222110ec103bbf
[2] Ibbffdb00d1529a386f338da4776eb614891731c8

Change-Id: Ife6acefd42b9b2f5910fe8f0b1b001eeec80ff06
2019-11-22 16:41:18 -05:00
Matt Riedemann 15011fc13b api-guide: flesh out BUILD and ACTIVE server create transitions
Change-Id: I14df54db9864e6df8a8bbc0fcc50e2cbb0ba6793
2019-11-22 16:36:10 -05:00
Matt Riedemann 2d91a8463f docs: update SUSPENDED server status wrt supported drivers
Two things here:

1. The API guide was missing the hyper-v driver which supports
   the suspend operation. Rather than hard-code a list of supported
   drivers in the doc, this change just links to the entry in the
   feature support matrix.

2. The supported hypervisors mention in the API reference is removed
   because the end user using the API should not need to know or care
   what backend hypervisor on which their server is running. They can
   either suspend or not, but we don't need to mention the supporting
   drivers for that in the API reference.

Change-Id: Ib76779a8e34b2c68b0f4af190f71576180360d0f
Related-Bug: #1815403
2019-11-14 10:25:06 -05:00
Zuul bd0eab8ff5 Merge ""SUSPENDED" description changed in server_concepts guide and API REF" 2019-11-14 03:08:11 +00:00
Sharat Sharma 3badb674f6 "SUSPENDED" description changed in server_concepts guide and API REF
The description of "SUSPENDED" server status was misguiding. Rewording
it to make it more accurate.

Change-Id: Ie93b3b38c2000f7e9caa3ca89dea4ec04ed15067
Closes-Bug: #1815403
2019-11-13 17:11:27 +00:00
Balazs Gibizer f06ff5949f Enable evacuation with qos ports
Previous patch [1] implemented support for evacuation of servers with
neutron ports having resource request. So this patch removes the API
check that rejected such operations and document the new feature.

[1] Id9ed7a82d42be8ffe760f03e6610b9e6f5a4287b

Change-Id: Id5f2f4f22b856c989e2eef8ed56b9829d1bcefb6
blueprint: support-move-ops-with-qos-ports-ussuri
2019-10-25 16:14:22 +00:00
Takashi NATSUME 9a5da92524 api-guide: Fix available info in handling down cells
Add the 'security_groups' parameter as available infomation
in the "List Servers Detailed" API (GET /servers/detail)
when there is a down cell.

Change-Id: I9653a46478c80b343a5a5f8d6b1607688538b1d5
CLoses-Bug: #1846559
2019-10-10 21:28:02 +00:00
Balazs Gibizer a412d72dec Allow resizing server with port resource request
This patch adds functional coverage for such resize. No extra code
changes were needed on top of the migrate patches to make resize work.

Now that the nova code supports the resize this patch removes the
check from the API that rejected the operation.

Note that in the spec [1] we agreed not to introduce new microversion
for this change but treat it as a bugfix. The current change also makes
it possible to accept the resize of these servers with _any_


blueprint: support-move-ops-with-qos-ports

Change-Id: Id0ee10e8d323786f4d79c82e3f05b48e76bd0956
2019-09-12 10:35:22 -04:00