cinder/cinder/api/v3
whoami-rajat 32f1145b7d Remove multiatttach request parameter
The initial cinder design[1][2][3] allowed users to create mutliattach
volumes by spcifying the ``multiattach`` parameter in the request
body of volume create operation (``--allow-multiattach`` option in
cinderclient).

This functionality changed in Queens with the introduction of
microversion 3.50[4] where we used volume types to store
the multiattach capabilities. Any volume created with a multiattach
volume type will be a multiattach volume[5].

While implementing the new functionality, we had to keep backward
compatibility with the *old way* of creating multiattach volumes.
We deprecated the ``multiattach`` (``--allow-multiattach`` on cinderclient
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-multiattach`` optional
parameter from cinderclient in the train release[8] but the API
side never removed the compatibility code to disallow functionality
of creating multiattach volumes by using the ``multiattach``
parameter (instead of a multiattach volume type).

This patch removes the support of providing the ``multiattach``
parameter in the request body of a volume create operation and will
fail with a BadRequest exception stating the reason of failure
and how it can be fixed.

[1] https://blueprints.launchpad.net/cinder/+spec/multi-attach-volume
[2] https://review.opendev.org/c/openstack/cinder/+/85847/
[3] https://review.opendev.org/c/openstack/python-cinderclient/+/85856
[4] f1bfd9790d
[5] https://docs.openstack.org/cinder/latest/admin/volume-multiattach.html#how-to-create-a-multiattach-volume
[6] 94dbf5cce2
[7] adb141a262
[8] 3c1b417959

Depends-On: https://review.opendev.org/c/openstack/tempest/+/875372
Closes-Bug: 2008259

Change-Id: I0ece6e279048abcc04b3674108290a80eca6bd62
2023-03-06 08:58:59 +00:00
..
views Report tri-state shared_targets for NVMe volumes 2022-05-24 15:13:23 +02:00
__init__.py cinder-api-microversions code 2016-02-24 06:50:54 -07:00
attachments.py Fix: Schema validation for attachment create API 2021-06-16 11:26:21 -04:00
backups.py Add user_id in backup list and show API 2018-12-12 00:52:05 -05:00
clusters.py V3 jsonschema validation: Clusters 2018-03-23 13:17:56 +05:30
consistencygroups.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00
default_types.py Modify/Move project validation methods to api_utils 2021-04-05 08:00:40 -04:00
group_snapshots.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00
group_specs.py Implement project personas group_types 2021-09-10 12:58:48 -04:00
group_types.py Implement project personas group_types 2021-09-10 12:58:48 -04:00
groups.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00
limits.py Use mv.LIMITS_ADMIN_FILTER in the code 2021-06-22 01:09:55 +00:00
messages.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00
resource_common_manage.py Use constants for microversion values 2017-09-22 08:15:56 -05:00
resource_filters.py Use constants for microversion values 2017-09-22 08:15:56 -05:00
router.py Remove the need for project_id from API endpoints 2022-02-08 08:32:23 -08:00
snapshot_manage.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00
snapshot_metadata.py Remove Block Storage API v2 2021-06-04 17:21:28 -04:00
snapshots.py Remove extraneous space from error message 2021-09-01 11:41:05 -04:00
types.py Implement user visible extra specs 2021-09-02 09:16:13 -07:00
volume_manage.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00
volume_metadata.py Replace md5 with oslo version 2020-11-13 16:01:14 -05:00
volume_transfer.py Add support for transferring encrypted volumes 2022-08-26 06:32:41 -07:00
volumes.py Remove multiatttach request parameter 2023-03-06 08:58:59 +00:00
workers.py Import HTTPStatus instead of http_client 2020-10-08 13:16:18 -04:00