nova/doc/api_samples
Ildiko Vancsa 7e6ae9afd9 [api] Allow multi-attach in compute api
This change introduces a new microversion which must be used
to create a server from a multiattach volume or attach a multiattach
volume to an existing server instance.

Attaching a multiattach volume to a shelved offloaded instance is not
supported since an instance in that state does not have a compute host
so we can't tell if the compute would support the multiattach volume
or not. This is consistent with the tagged attach validation with 2.49.

When creating a server from a multiattach volume, we'll check to see
if all computes in all cells are upgraded to the point of even supporting
the compute side changes, otherwise the server create request fails with
a 409. We do this because we don't know which compute node the scheduler
will pick and we don't have any compute capability filtering in the
scheduler for multiattach volumes (that may be a future improvement).

Similarly, when attaching a multiattach volume to an existing instance,
if the compute isn't new enough to support multiattach or the virt
driver simply doesn't support the capability, a 409 response is returned.
Presumably, operators will use AZs/aggregates to organize which hosts
support multiattach if they have a mixed hypervisor deployment, or will
simply disable multiattach support via Cinder policy.

The unit tests are covering error conditions with the new flow. A new
functional scenario test is added for happy path testing of the new boot
from multiattach volume flow and attaching a multiattach volume to more
than one instance.

Tempest integration testing for multiattach is added in change
I80c20914c03d7371e798ca3567c37307a0d54aaa.

Devstack support for multiattach is added in change
I46b7eabf6a28f230666f6933a087f73cb4408348.

Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>

Implements: blueprint multi-attach-volume
Change-Id: I02120ef8767c3f9c9497bff67101e57e204ed6f4
2018-01-22 10:45:13 -05:00
..
consoles Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
extension-info "nova list-extensions" not showing summary for all 2016-07-26 16:45:30 +00:00
flavor-access Enable all extension for Flavor API sample tests 2016-06-09 10:25:21 +09:00
flavor-extra-specs Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
flavor-manage Add microversion to allow setting flavor description 2017-11-15 22:10:39 +00:00
flavors Add microversion to allow setting flavor description 2017-11-15 22:10:39 +00:00
images Drop the use of magic openstack project_id 2016-03-08 19:34:56 +00:00
keypairs Simple tenant usage pagination 2016-12-14 03:33:50 +00:00
limits Deprecate file injection 2017-12-12 09:22:21 -05:00
os-admin-actions Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-admin-password Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-agents api-ref: Example verification for os-agents.inc 2016-06-27 21:29:26 +09:00
os-aggregates Revert "Revert "Fix AZ related API docs"" 2017-09-10 13:51:47 -06:00
os-assisted-volume-snapshots Fix wrong JSON format in API samples 2016-07-08 10:15:29 +09:00
os-attach-interfaces API support for tagged device attachment 2017-06-30 09:05:34 +03:00
os-availability-zone remove processing of blacklist/whitelist/corelist extensions 2016-06-10 11:37:09 -04:00
os-baremetal-nodes Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-cells Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-certificates Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-cloudpipe Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-console-auth-tokens Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-console-output Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-create-backup 2.45: Remove Location header from createImage and createBackup responses 2017-04-25 15:52:14 -04:00
os-deferred-delete Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-evacuate API change for verifying the scheduler when evacuating 2016-06-02 15:03:39 +02:00
os-fixed-ips Drop the use of magic openstack project_id 2016-03-08 19:34:56 +00:00
os-floating-ip-dns Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-floating-ip-pools Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-floating-ips Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-floating-ips-bulk Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-fping Drop the use of magic openstack project_id 2016-03-08 19:34:56 +00:00
os-hide-server-addresses Enable all extension for remaining server API tests 2016-06-09 08:53:32 -04:00
os-hosts replace chance with filter scheduler in func tests 2017-08-16 14:42:51 +00:00
os-hypervisors Proper error handling by _ensure_resource_provider 2017-11-30 18:30:49 +00:00
os-instance-actions Add pagination and changes-since for instance-actions 2017-12-14 07:42:17 +00:00
os-instance-usage-audit-log api-ref: Improve os-instance_usage_audit_log samples 2016-06-21 20:30:11 +09:00
os-lock-server Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-migrate-server Enable cold migration with target host(2/2) 2017-11-29 20:48:16 -05:00
os-migrations Add pagination and Changes-since filter support for os-migrations. 2018-01-10 14:02:53 -05:00
os-multinic api-ref: Fix examples for add/removeFixedIp action 2017-05-15 01:19:54 +00:00
os-multiple-create Enable all extension for remaining server API tests 2016-06-09 08:53:32 -04:00
os-networks Enable all extension for all remaining sample tests 2016-06-10 06:03:02 +00:00
os-networks-associate Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-pause-server Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-preserve-ephemeral-rebuild Enable all extension for remaining server API tests 2016-06-09 08:53:32 -04:00
os-quota-class-sets Deprecate file injection 2017-12-12 09:22:21 -05:00
os-quota-sets Deprecate file injection 2017-12-12 09:22:21 -05:00
os-quota-sets-noop Add API and nova-manage tests that use the NoopQuotaDriver 2017-12-08 22:11:24 +00:00
os-remote-consoles Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-rescue Transform rescue/unrescue instance notifications 2018-01-14 02:15:18 +00:00
os-security-group-default-rules Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-security-groups Use plain routes list for os-security-group-rules instead of stevedore 2017-07-12 20:58:26 +08:00
os-server-diagnostics Standardization of VM diagnostics info API. 2017-06-05 07:45:51 +00:00
os-server-external-events Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-server-groups Drop the use of magic openstack project_id 2016-03-08 19:34:56 +00:00
os-server-password Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-server-tags/v2.26 Fix api-ref with Sphinx 1.5 2017-03-03 11:58:50 +01:00
os-services Use uuid for id in os-services API 2017-07-18 15:39:57 -04:00
os-shelve Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-simple-tenant-usage Simple tenant usage pagination 2016-12-14 03:33:50 +00:00
os-suspend-server Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-tenant-networks Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
os-virtual-interfaces Expose VIF net-id attribute in os-virtual-interfaces 2015-08-27 16:50:44 +09:00
os-volumes API support for tagged device attachment 2017-06-30 09:05:34 +03:00
server-ips Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
server-metadata Move the v2 api_sample functional tests 2015-08-18 15:25:41 +08:00
server-migrations Add pagination and Changes-since filter support for os-migrations. 2018-01-10 14:02:53 -05:00
servers Updated common create server sample request because of microversion 2.57 2017-12-14 14:54:31 +08:00
servers-sort Drop the use of magic openstack project_id 2016-03-08 19:34:56 +00:00
versions [api] Allow multi-attach in compute api 2018-01-22 10:45:13 -05:00