Commit Graph

84 Commits

Author SHA1 Message Date
Stephen Finucane 00347ca9b7 Remove sphinxcontrib.seqdiag
This was a great tool but it seems it is no longer maintained, with no
commits since late 2021 [1]. Remove it, capturing static copies of the
SVGs it was generating so we don't lose information. The original
"source" is retained in case we ever want to revive our use of the tool
but that seems unlikely at this point.

[1] https://github.com/blockdiag/blockdiag

Change-Id: Ie3f89730128fdb8beca8bb02312d11516affcbbc
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-07-05 15:21:49 +01:00
melanie witt b2398becc3 Amend "Configure max number of volumes to attach" spec
Update the spec to reflect what was actually implemented.

TL;DR is during implementation, we found that the old limit in the
libvirt driver of 26 was a limit on the maximum number of disk
devices allowed to attach to a single instance, including the root
disk (and any other disks). So "volumes" wasn't really correct for
representing what is being limited and the terminology was changed
to "disk devices".

Related to blueprint conf-max-attach-volumes

Change-Id: I3152d0ed64709495ff7f13ff1d75ce62558a8731
2019-09-13 18:50:56 +00:00
Takashi NATSUME 5751824ca3 Fix warnings in the document generation
* Fix warnings when executing 'tox -e docs'.
* Fix consistency for expressions of REST APIs.
* Remove 'json' in some code-blocks
  because the contents include comments
  so they are not in accordance with JSON format.
* Add the '-W' option in the sphinx-build command
  for the docs target.

Change-Id: Iaaa4e2444030622539a61055e114a649466be497
2019-03-25 11:43:43 +09:00
melanie witt b7677c59ac Move Stein implemented specs
This moves the completed Stein specs to the implemented directory and
adds the redirects. This was done using:

  $ tox -e move-implemented-specs stein

This also removes the stein-template symlink from the docs.

And renames the handling-down-cell_new.rst spec to handling-down-cell.rst
to match the blueprint.

Change-Id: Id92bec8c5a2436a4053765f735d252c7c165f019
2019-03-23 03:50:49 +00:00
Zuul 22da2a8021 Merge "Update alloc-candidates-in-tree" 2019-03-22 19:01:13 +00:00
Balazs Gibizer 6604659b71 Update Network Bandwidth resource provider spec
The spec is updated based on what was implemented during the Stein
cycle.

Change-Id: I52424adf73756823aee81a1a32329f6c8f131c22
blueprint: bandwidth-resource-provider
2019-03-21 10:41:33 +01:00
Tetsuro Nakamura 9e665ac6b3 Update alloc-candidates-in-tree
"Filter Allocation Candidates by Provider Tree" spec has been approved
proposing the new "in_tree" queryparm, but it didn't address how it
works with the granular requests using "in_tree<N>" syntax.

This patch updates the spec to clear it out.

Change-Id: I2726b1b1a632ef3627af872c150ed6564e65b108
Blueprint: alloc-candidates-in-tree
2019-02-25 08:55:46 +00:00
Zuul d796b33774 Merge "Amend the detach-boot-volume design" 2019-02-15 16:54:03 +00:00
Zuul 5670aae620 Merge "Add more detail and fix code block formatting" 2019-02-14 15:14:22 +00:00
Zuul c917253eaa Merge "AMD SEV: address final feedback received prior to merge" 2019-02-08 12:25:28 +00:00
melanie witt a41fa6dafb Add more detail and fix code block formatting
This is a followup that addresses comments from change
Ib86a7994d7a577b8e6a2dd32f4fcf12b7f788af8 and fixes the code block
formatting for a pseudocode section.

Related to blueprint count-quota-usage-from-placement

Change-Id: I7c9e490a2f614c5ea6f85d2ed70fa35dd0c81417
2019-02-07 16:36:53 +09:00
Kevin_Zheng acd44e35bc Amend the detach-boot-volume design
As discussed in Berlin Summit, there are some
considerations should be added to the design:

1. Expose ``boot_index`` in this feature could
make it easier for users to detach and attach
volumes[1].

2. As discussed in Maillist[2], we are not going
to allow detach/attach volumes for instance in
states other than STOPPED,SHELVED/SHELVE_OFFLOADED
so we make it clear in the spec.

[1] https://etherpad.openstack.org/p/BER-bfv-improvements
[2] http://lists.openstack.org/pipermail/openstack-discuss/2019-January/001344.html

Change-Id: I0a03d4840e83cd01f3d546ed0517105dcb6e5328
2019-01-28 16:26:00 +08:00
Zuul 7ca97e91c6 Merge "Add spec for sriov live migration" 2019-01-10 23:19:52 +00:00
Sean Mooney 1096a447af Add spec for sriov live migration
- This change introduces a spec to describe
  extension of the nova libvirt driver to
  support live migration of guests with
  SR-IOV interfaces.

blueprint libvirt-neutron-sriov-livemigration

Change-Id: Ic2650ec51f9f97f3db3dbda049863ce2c538af34
2019-01-10 18:37:52 +00:00
Zuul e8f29afe66 Merge "add 'show-server-group' spec" 2019-01-10 14:19:17 +00:00
Yongli He eed8bbf322 add 'show-server-group' spec
This spec present server group info to user in server show API.

APIImpact
Change-Id: I9dceba013f643925aac8e09d95b1306bcb3c4434
bp: show-server-group
2019-01-10 21:55:38 +08:00
Zuul 56768c048a Merge "Spec to implement vRouter HW offloads" 2019-01-10 11:30:15 +00:00
Zuul 870daac5ef Merge "Per-instance serial number (spec)" 2019-01-10 05:55:23 +00:00
Zuul eacde70276 Merge "Propose counting quota usage from placement and API database" 2019-01-10 02:32:35 +00:00
Zuul 73a301ed2b Merge "add spec "show-server-numa-topology"" 2019-01-10 02:20:27 +00:00
Yongli He 19c32e4ee9 add spec "show-server-numa-topology"
This spec present numa information in server diagnostic API.

APIImpact
Change-Id: I36872473a569f3c8bb0f835d0e2c725c7764d69c
bp: show-server-numa-topology
2019-01-10 06:37:52 +08:00
Jack Ding 5861fe488a Fix format flavor-extra-spec-image-property-validation
blueprint: flavor-extra-spec-image-property-validation
Change-Id: I25992fd699bfecb867ae412006be94ef658e115a
Signed-off-by: Jack Ding <jack.ding@windriver.com>
2019-01-08 15:51:32 -05:00
Zuul efc9e6eb6a Merge "Flavor Extra Spec and Image Properties Validation" 2019-01-08 17:51:00 +00:00
Zuul 43879f24bd Merge "Add PENDING vm state" 2019-01-08 17:05:52 +00:00
Jan Gutter ff8ab40706 Spec to implement vRouter HW offloads
SmartNICs allow complex packet processing on the NIC. In order to
support hardware acceleration for them, Nova core needs modifications
to support the combination of VIF and vRouter plugging they support.
This spec proposes a hybrid SR-IOV and vRouter model to enable
acceleration.

Change-Id: If4c2795d33dbd701582bfb8ea5aa4b14f4e69341
Signed-off-by: Jan Gutter <jan.gutter@netronome.com>
blueprint: vrouter-hw-offloads
2019-01-07 17:41:23 +02:00
Zuul 4d4be39199 Merge "Spec for cross-cell resize" 2019-01-07 15:34:52 +00:00
Matt Riedemann f445d49a4b Per-instance serial number (spec)
Add support for providing unique per-instance serial numbers to servers.

Spec for blueprint per-instance-libvirt-sysinfo-serial

Change-Id: I819b888e5c6cae8fc8898489815dbe2254d33fe7
2019-01-04 16:17:37 -05:00
Zuul ddb413110b Merge "Enable rebuild for instances in cell0" 2019-01-04 19:23:16 +00:00
melanie witt 9187328f1d Propose counting quota usage from placement and API database
In Pike, we re-architected the quota system to count actual resource
usage instead of using reservations and tracking quota usages in a
separate database table. We're counting resources like instances, CPU,
and RAM by querying each cell database and aggregating the results per
project and per user. This approach is susceptible to undesirable
behavior if a cell becomes unavailable. If a cell becomes unavailable,
resources in its database cannot be counted and will not be included in
resource usage until the cell returns. Cells could become unavailable
if an operator is performing maintenance on a cell or if a cell
database is experiencing problems and we cannot connect to it.

We can make resource usage counting for quotas resilient to temporary
cell outages by querying placement and the API database for resource
usage instead of reading separate cell databases.

Spec for blueprint count-quota-usage-from-placement

Change-Id: Ib86a7994d7a577b8e6a2dd32f4fcf12b7f788af8
2019-01-04 10:13:05 +00:00
Matt Riedemann c604f43b12 Spec for cross-cell resize
Expand resize (cold migration) support across multiple cells.

Spec for blueprint cross-cell-resize

Change-Id: I3f89324f1876e3313e8dce73057f7aed0396e432
2019-01-03 18:26:18 -05:00
Adam Spiers cd8950459e AMD SEV: address final feedback received prior to merge
The AMD SEV spec was just merged, but there were a few minor nits
outstanding, so address them here.

blueprint: amd-sev-libvirt-support
Change-Id: I93840aa852b837c03ede9e21e720c1e1c1c773f2
2019-01-03 18:21:29 +00:00
Zuul c14b4b1934 Merge "Add spec for libvirt driver launching AMD SEV-encrypted instances" 2019-01-03 16:07:50 +00:00
Jack Ding e3ada6332f Select cpu model from a list of cpu models
Currently we uses cpu_model in nova.conf (when cpu_mode is set to
‘custom’) to specify the CPU model the instance should use on this host.
This could have implications on availability of compute nodes for live
migration if you ended up with an "advanced" CPU model when all you
really cared about was an older feature flag.

To mitigate the problem , we use cpu_models to replace cpu_model, where
cpu_models is an ordered list of CPU models the host supports. The list
is ordered so that the more common and less advanced CPU models are
listed earlier. End users specify CPU features they required through
traits, libvirt driver then select the first one in the list that can
provide the required feature traits. This would make it more likely that
the instance could be live-migrated later on.

blueprint: cpu-model-selection
Change-Id: I546230ac115eb3de14eac25b9dd0c74aafdaccd5
Signed-off-by: Jack Ding <jack.ding@windriver.com>
2018-12-20 12:12:50 -05:00
Zuul b14b135255 Merge "Expose virtual device tags in REST API" 2018-12-20 14:55:47 +00:00
Zuul d881f702e5 Merge "Spec: Support filtering by forbidden aggregate" 2018-12-20 14:30:55 +00:00
Jack Ding c33e1e6c94 Flavor Extra Spec and Image Properties Validation
Validate the combination of the flavor extra-specs and image properties.
If validation failed then synchronously return error to user.

blueprint: flavor-extra-spec-image-property-validation
Change-Id: Ic1c5b28f6f58c07744eb193faef1b52c7ecfe693
Signed-off-by: Jack Ding <jack.ding@windriver.com>
2018-12-18 18:07:28 -05:00
Adam Spiers 3a6c649a04 Add spec for libvirt driver launching AMD SEV-encrypted instances
This spec proposes work required in order for nova's libvirt driver to
support launching of KVM instances which are encrypted using AMD's
SEV (Secure Encrypted Virtualization) technology:

    https://developer.amd.com/sev/

blueprint: amd-sev-libvirt-support
Change-Id: Id7581365941ad40762a4732c33d359cfa75089fa
2018-12-15 01:02:56 +00:00
Zuul b12728fdcd Merge "Spec to implement os-vif generic datapath offloads" 2018-12-14 21:07:13 +00:00
Jan Gutter f33220f5bf Spec to implement os-vif generic datapath offloads
This spec details changes to os-vif to support a more generic datapath
offload model by using composition instead of inheritance.

Change-Id: I9757ffc2429de3a682d1e361ab592eb6eeca173b
Signed-off-by: Jan Gutter <jan.gutter@netronome.com>
blueprint: generic-os-vif-offloads
2018-12-14 20:44:13 +00:00
Theodoros Tsioutsias e1c22713fa Add PENDING vm state
This feature adds support for the PENDING server state. Instead of
setting a server to the ERROR state when the Placement returns no
valid hosts for the requested server, the PENDING state is used if
the operator wishes so. This will allow the execution of subsequent
actions transparently to the end user.

Change-Id: Ie2989dee31a8d7242bf5b78019f016b3bc7e42a3
Implements: blueprint introduce-pending-vm-state
2018-12-08 02:54:18 +00:00
Zuul a1e34cb275 Merge "Per aggregate scheduling weight (spec)" 2018-12-06 14:27:23 +00:00
Kevin_Zheng db6189753e Per aggregate scheduling weight (spec)
Filter Scheduler uses the so-called weights during its work. A weigher
is a way to select the best suitable host from a group of valid hosts by
giving weights to all the hosts in the list.

In the current implementation, the weights are controlled by config
options like [filter_scheduler]/cpu_weight_multiplier.
The total weight of a compute node is calculated by combination of
several weighers:
weight = w1_multiplier * norm(w1) + w2_multiplier * norm(w2) + ...

As it is controlled by config options, the weights are global across the
whole deployment, and this is not efficient enough for operators.

This spec proposes to be able to override the weight configuration
options using aggregate metadata to provide a more fine-grained
control over resource weights.

Change-Id: I8270f3a51260c2e8fbbbb4f9c179729a28d138ef
Implements: blueprint per-aggregate-scheduling-weight
2018-12-05 13:44:23 -05:00
Theodoros Tsioutsias 3c143b8157 Enable rebuild for instances in cell0
Presently, it is allowed to rebuild servers in ERROR state, as long
as they have successfully started up before.

If a user tries to rebuild an instance in cell0, the request fails
with an exception of type InstanceInvalidState.

This spec summarizes the changes needed to enable the rebuilding of
instances that failed during creation.

Change-Id: I3cf92b987da014e8b01f8b1a3f774b03ce3bb0b7
Implements: blueprint enable-rebuild-for-instances-in-cell0
2018-12-03 20:29:38 +00:00
Zuul 4558953da2 Merge "Re-propose numa-aware-live-migration spec" 2018-11-30 10:09:42 +00:00
Stephen Finucane 42054c1747 Re-propose numa-aware-live-migration spec
Continuing the work in Rocky to support NUMA live migration, this
version of the spec changes and clarifies some things related to
placement, claiming resources, and how the destination communicates
with the source.

Part of bp numa-aware-live-migration

Change-Id: I6a90eff7118de3e3f69b8c60da5d8beb38b60970
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2018-11-28 19:36:49 -05:00
ramboman 967737966f Support volume-backed server rebuild
The spec is describing the operation of rebuild the volume-backed
server with a new image.

Spec for blueprint volume-backed-server-rebuild

Change-Id: I646041c872c4172219df2527820a672a0a2cb736
2018-11-28 14:40:36 -05:00
Zuul 6da301304c Merge "Use conductor groups to partition nova-compute services for Ironic" 2018-11-14 12:52:40 +00:00
Jim Rollenhagen 3d285f2ea4 Use conductor groups to partition nova-compute services for Ironic
This spec proposes using ironic's conductor group feature to limit the
subset of nodes which a nova-compute service will manage. This allows
for partitioning nova-compute services to a particular location
(building, aisle, rack, etc), and provides a way for operators to manage
the failure domain of a given nova-compute service.

Change-Id: I62b838ee5fc56d97fdd35d620dd76d50606d0f34
Implements: blueprint ironic-conductor-groups
2018-11-14 11:04:46 +01:00
Zuul 28a137dde4 Merge "Spec: allocation candidates in tree" 2018-11-14 08:22:18 +00:00
Zuul bb0190cbc6 Merge "Add support for emulated virtual TPM" 2018-11-06 14:51:29 +00:00