Volume multiattach exposed to non-admin users via API
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
Medium
|
Rajat Dhasmana |
Bug Description
We're running kolla train. Since queens, the creation of multiattach volumes by non-admin users has been prohibited in cinderclient and openstackclient, but customers can work around the restriction by using the API.
Reference:
https:/

Albert Braden (ozzzo) wrote (last edit ): | #1 |
Changed in cinder: | |
status: | New → In Progress |

Sofia Enriquez (lsofia-enriquez) wrote : | #2 |
Fix proposed to master https:/
Changed in cinder: | |
importance: | Undecided → Medium |
assignee: | nobody → Rajat Dhasmana (whoami-rajat) |
tags: | added: api multiattach |

OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/2023.1) | #3 |
Fix proposed to branch: stable/2023.1
Review: https:/

OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master) | #4 |
Reviewed: https:/
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 32f1145b7ddf9a9
Author: whoami-rajat <email address hidden>
Date: Thu Feb 23 09:59:01 2023 +0000
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-
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-
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-
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:/
[2] https:/
[3] https:/
[4] https:/
[5] https:/
[6] https:/
[7] https:/
[8] https:/
Depends-On: https:/
Closes-Bug: 2008259
Change-Id: I0ece6e279048ab
Changed in cinder: | |
status: | In Progress → Fix Released |

OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/2023.1) | #5 |
Reviewed: https:/
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/2023.1
commit e2c3bcc6e380921
Author: whoami-rajat <email address hidden>
Date: Thu Feb 23 09:59:01 2023 +0000
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-
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-
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-
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:/
[2] https:/
[3] https:/
[4] https:/
[5] https:/
[6] https:/
[7] https:/
[8] https:/
Depends-On: https:/
Closes-Bug: 2008259
Change-Id: I0ece6e279048ab
(cherry picked from commit 32f1145b7ddf9a9

OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 22.0.0.0rc2 | #6 |
This issue was fixed in the openstack/cinder 22.0.0.0rc2 release candidate.

OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/zed) | #7 |
Fix proposed to branch: stable/zed
Review: https:/

OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/zed) | #8 |
Reviewed: https:/
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/zed
commit a8a4cdcb2e09945
Author: whoami-rajat <email address hidden>
Date: Thu Feb 23 09:59:01 2023 +0000
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-
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-
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-
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:/
[2] https:/
[3] https:/
[4] https:/
[5] https:/
[6] https:/
[7] https:/
[8] https:/
Depends-On: https:/
Closes-Bug: 2008259
Change-Id: I0ece6e279048ab
(cherry picked from commit 32f1145b7ddf9a9
(cherry picked from commit e2c3bcc6e380921
Conflicts: api-ref/
tags: | added: in-stable-zed |

OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/yoga) | #9 |
Fix proposed to branch: stable/yoga
Review: https:/

OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/yoga) | #10 |
Reviewed: https:/
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/yoga
commit d4535c77493a7b3
Author: whoami-rajat <email address hidden>
Date: Thu Feb 23 09:59:01 2023 +0000
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-
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-
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-
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:/
[2] https:/
[3] https:/
[4] https:/
[5] https:/
[6] https:/
[7] https:/
[8] https:/
Depends-On: https:/
Closes-Bug: 2008259
Change-Id: I0ece6e279048ab
(cherry picked from commit 32f1145b7ddf9a9
(cherry picked from commit e2c3bcc6e380921
Conflicts: api-ref/
(cherry picked from commit a8a4cdcb2e09945
Conflicts: cinder/
tags: | added: in-stable-yoga |

OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (stable/xena) | #11 |
Fix proposed to branch: stable/xena
Review: https:/

OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (stable/xena) | #12 |
Reviewed: https:/
Committed: https:/
Submitter: "Zuul (22348)"
Branch: stable/xena
commit 75d778244d29896
Author: whoami-rajat <email address hidden>
Date: Thu Feb 23 09:59:01 2023 +0000
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-
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-
side) parameter in the queens release[6][7].
We also removed the support of the ``--allow-
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:/
[2] https:/
[3] https:/
[4] https:/
[5] https:/
[6] https:/
[7] https:/
[8] https:/
Depends-On: https:/
Closes-Bug: 2008259
Change-Id: I0ece6e279048ab
(cherry picked from commit 32f1145b7ddf9a9
(cherry picked from commit e2c3bcc6e380921
Conflicts: api-ref/
(cherry picked from commit a8a4cdcb2e09945
Conflicts: cinder/
(cherry picked from commit d4535c77493a7b3
Conflicts: cinder/
tags: | added: in-stable-xena |

OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 19.3.0 | #13 |
This issue was fixed in the openstack/cinder 19.3.0 release.

OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 21.2.0 | #14 |
This issue was fixed in the openstack/cinder 21.2.0 release.

OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 20.2.0 | #15 |
This issue was fixed in the openstack/cinder 20.2.0 release.

OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/cinder 23.0.0.0rc1 | #16 |
This issue was fixed in the openstack/cinder 23.0.0.0rc1 release candidate.
Expected behavior: API prohibits creation of multiattach volumes by non-admin users.
Observed behavior: non-admin users can provide "multiattach": "True" in the JSON body of a curl command to create a multiattach volume.
Details here: https:/ /lists. openstack. org/pipermail/ openstack- discuss/ 2023-February/ 032407. html