cinder/cinder/api
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
..
contrib Prohibit volume manage to an encrypted volume type 2022-03-21 11:48:01 -04:00
middleware Fix wrong attribute to find remote address 2022-04-04 00:21:56 +09:00
openstack Clarify description of encrypted volume transfer mv 2022-09-23 07:08:02 -07:00
schemas Remove multiatttach request parameter 2023-03-06 08:58:59 +00:00
v2 Remove multiatttach request parameter 2023-03-06 08:58:59 +00:00
v3 Remove multiatttach request parameter 2023-03-06 08:58:59 +00:00
validation API validation: Add cinder_host type to support ipv6 in manage 2021-03-11 10:32:13 -05:00
views Fix reported storage_protocol 2022-04-20 18:48:24 +02:00
__init__.py Remove 'enable_v3_api' option 2021-08-05 06:30:16 -04:00
api_utils.py mypy: api_utils 2022-06-21 10:54:21 -04:00
common.py mypy: cinder/api/common.py 2022-07-05 14:26:35 +00:00
extensions.py Remove exception.Error class 2020-07-21 18:21:21 +03:00
microversions.py Add support for transferring encrypted volumes 2022-08-26 06:32:41 -07:00
urlmap.py Remove unused logging import and LOG global var 2016-05-20 17:17:38 +08:00
versions.py Remove 'enable_v3_api' option 2021-08-05 06:30:16 -04:00