Bug 1852290 - Share stuck on "creating" status when using a private share type from other project
Summary: Share stuck on "creating" status when using a private share type from other p...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-manila
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: z2
: 16.1 (Train on RHEL 8.2)
Assignee: Tom Barron
QA Contact: lkuchlan
RHOS Documentation Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-30 04:54 UTC by lkuchlan
Modified: 2020-10-28 15:38 UTC (History)
4 users (show)

Fixed In Version: openstack-manila-9.1.4-0.20200720233408.2f2ed25.el8ost.noarch.rpm
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-28 15:38:12 UTC
Target Upstream Version:
Embargoed:
lkuchlan: automate_bug+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1885956 0 None None None 2020-07-02 16:39:05 UTC
OpenStack gerrit 741487 0 None MERGED Enforce policy checks getting share-type by name 2020-12-27 09:37:58 UTC
Red Hat Product Errata RHEA-2020:4284 0 None None None 2020-10-28 15:38:33 UTC

Description lkuchlan 2020-06-30 04:54:22 UTC
Description of problem:
When creating a share using a private share from other tenant, i.e. 
the tenant has no access to the share type, as expected it failed with 404,
but the share stuck on "creating" status.

Version-Release number of selected component (if applicable):
puppet-manila-15.4.1-0.20200403160104.e41b1b6.el8ost.noarch
python3-manilaclient-1.29.0-0.20200310223441.1b2cafb.el8ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Create private share type on tenant "A".
2. Create a share on tenant "B" using the share type from tenant "A" by non-admin user 


Actual results:
Share stuck on "creating" status

Expected results:
The share should not reach the creation process.
The share should not be listed in manila list.

Additional info:

On tenant "A":

(overcloud) [stack@undercloud-0 ~]$ manila type-list
+--------------------------------------+---------+------------+------------+--------------------------------------+--------------------------------------------+-------------+
| ID                                   | Name    | visibility | is_default | required_extra_specs                 | optional_extra_specs                       | Description |
+--------------------------------------+---------+------------+------------+--------------------------------------+--------------------------------------------+-------------+
| 696b41dc-22f2-4ae6-9996-66dba5ff2a26 | private | private    | -          | driver_handles_share_servers : False |                                            | None        |
+--------------------------------------+---------+------------+------------+--------------------------------------+--------------------------------------------+-------------+

(overcloud) [stack@undercloud-0 ~]$ manila type-access-list 696b41dc-22f2-4ae6-9996-66dba5ff2a26
+------------+
| Project_ID |
+------------+
+------------+


On tenant "B":

(overcloud) [stack@undercloud-0 ~]$ manila create --name share_member_user cephfs 1 --share-type private
ERROR: ShareTypeNotFound: Share type 696b41dc-22f2-4ae6-9996-66dba5ff2a26 could not be found. (HTTP 404) (Request-ID: req-2a9cf901-98fe-42af-9319-b57276e528a2)
(.venv) (overcloud) [stack@undercloud-0 ~]$ manila list
+--------------------------------------+-------------------+------+-------------+----------+-----------+-----------------+------+-------------------+
| ID                                   | Name              | Size | Share Proto | Status   | Is Public | Share Type Name | Host | Availability Zone |
+--------------------------------------+-------------------+------+-------------+----------+-----------+-----------------+------+-------------------+
| 988854b1-5797-4b6b-9ca9-1ff5bedcf872 | share_member_user | 1    | CEPHFS      | creating | False     | private         |      | None              |
+--------------------------------------+-------------------+------+-------------+----------+-----------+-----------------+------+-------------------+

Comment 1 Goutham Pacha Ravi 2020-06-30 22:27:59 UTC
Hi, 

A user not belonging to a project should never have access to a private share type. I tested this in a vanilla OpenStack deployment, and these are the steps I used, with my command outputs pasted below:

== Credentials ==
1) Create three OpenStack users "demo", "alt_demo" and "admin"
2) Create two OpenStack projects "demo" and "alt_demo" 
3) Assign the "admin" user to both projects, that has default access to create and manipulate share types
4) Assign "demo" user to the "demo" project 
5) Assign "alt_demo" user to the "alt_demo" project

== Test setup ==
6) As "admin" user, Create a private share type, allow access to "demo" project
7) As "demo" user of "demo" project, attempt to use the share type. This will succeed
8) As "alt_demo" user of the "alt_demo" project, attempt to use the share type, this will fail. 


Here's the outputs for steps 6, 7, 8 on my environment:


    stack@ostk-train:~$ manila type-create --is-public False demo-project-private-share-type False
    +----------------------+--------------------------------------+
    | Property             | Value                                |
    +----------------------+--------------------------------------+
    | ID                   | dfe0931f-3c25-41e1-928d-431b25592360 |
    | Name                 | demo-project-private-share-type      |
    | Visibility           | private                              |
    | is_default           | -                                    |
    | required_extra_specs | driver_handles_share_servers : False |
    | optional_extra_specs |                                      |
    | Description          | None                                 |
    +----------------------+--------------------------------------+

    stack@ostk-train:~$ manila type-access-list demo-project-private-share-type
    +------------+
    | Project_ID |
    +------------+
    +------------+

    stack@ostk-train:~$ openstack project list | grep demo
    | 34591ab4bef14c019a38da006f22b982 | alt_demo                      |
    | f0bb75f9ea664cc8b83fff46c6535bcd | demo                          |


    stack@ostk-train:~$ manila type-access-add demo-project-private-share-type f0bb75f9ea664cc8b83fff46c6535bcd

    stack@ostk-train:~$ manila type-access-list demo-project-private-share-type
    +----------------------------------+
    | Project_ID                       |
    +----------------------------------+
    | f0bb75f9ea664cc8b83fff46c6535bcd |
    +----------------------------------+

    stack@ostk-train:~$ source devstack/openrc demo demo

    stack@ostk-train:~$ manila type-show demo-project-private-share-type
    +----------------------+--------------------------------------------+
    | Property             | Value                                      |
    +----------------------+--------------------------------------------+
    | id                   | dfe0931f-3c25-41e1-928d-431b25592360       |
    | name                 | demo-project-private-share-type            |
    | visibility           | private                                    |
    | is_default           | NO                                         |
    | description          | None                                       |
    | required_extra_specs | driver_handles_share_servers : False       |
    | optional_extra_specs | snapshot_support : False                   |
    |                      | create_share_from_snapshot_support : False |
    |                      | revert_to_snapshot_support : False         |
    |                      | mount_snapshot_support : False             |
    +----------------------+--------------------------------------------+

    stack@ostk-train:~$ source devstack/openrc alt_demo alt_demo

    stack@ostk-train:~$ manila type-show demo-project-private-share-type
    ERROR: No sharetype with a name or ID of 'demo-project-private-share-type' exists.
    stack@ostk-train:~$ manila type-show dfe0931f-3c25-41e1-928d-431b25592360
    ERROR: No sharetype with a name or ID of 'dfe0931f-3c25-41e1-928d-431b25592360' exists.
    stack@ostk-train:~$ manila create nfs 1 --share-type dfe0931f-3c25-41e1-928d-431b25592360
    ERROR: Share type not found. (HTTP 404) (Request-ID: req-8d3cff44-6274-4bb3-b732-6a8f5e3a5fb6)
    stack@ostk-train:~$ manila create nfs 1 --share-type demo-project-private-share-type
    ERROR: ShareTypeNotFound: Share type dfe0931f-3c25-41e1-928d-431b25592360 could not be found. (HTTP 404) (Request-ID: req-e620570d-b8a4-4f97-9842-3ee3ca8d33fc)



To ensure that python-manilaclient isn't tricking us, we can see what's being sent to the API via debug commands, when we get that 404:

Request with share type name:

REQ: curl -i -X POST http://10.10.10.10/share/v2/34591ab4bef14c019a38da006f22b982/shares -H "X-Auth-Token: gAAAAABe-7wwS1BMimRZtbSYh6taETAwGnGTlIWCtitgIxmDr01gUnlVmBWPnCifNcCeSswSPddeRXWDdbaa291-evoNf3TesrF94mC0SvMoWIgSxg6As8J8CtvLmAMUV2R3uXkNQCHmf0WQ0_cDDnKFLuPE6_nX3sDQPbgIGYHizxhUw-lTAGo" -H "X-Openstack-Manila-Api-Version: 2.55" -H "User-Agent: python-manilaclient" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"share": {"size": 1, "snapshot_id": null, "name": null, "description": null, "metadata": {}, "share_proto": "nfs", "share_network_id": null, "share_type": "demo-project-private-share-type", "is_public": false, "availability_zone": null}}'


Request with share type ID:


REQ: curl -i -X POST http://10.10.10.10/share/v2/34591ab4bef14c019a38da006f22b982/shares -H "X-Auth-Token: gAAAAABe-7uUrWeyEGNpAkcj1xgZl8DmA_hgKlY0hJuXpTBiQg3NxqWssXIdXr7n3CNhz7kVI0_pqm1_EpdckDhTeQubGzTV4ZIJOFeF9YDOaZqsc7eLrqhBGfc1rkIaGTnvvG7wvnZOBV_70zcyUvXdBzqqeameaH2kW9z4aOgIS0mUcSXrnpE" -H "X-Openstack-Manila-Api-Version: 2.55" -H "User-Agent: python-manilaclient" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"share": {"size": 1, "snapshot_id": null, "name": null, "description": null, "metadata": {}, "share_proto": "nfs", "share_network_id": null, "share_type": "dfe0931f-3c25-41e1-928d-431b25592360", "is_public": false, "availability_zone": null}}'

Comment 2 Goutham Pacha Ravi 2020-06-30 22:29:48 UTC
Can you please check your environment again?

Comment 3 lkuchlan 2020-07-01 06:21:50 UTC
Please see below my stesps:

On admin project by admin user:
===============================

# Create project_a:

(overcloud) [stack@undercloud-0 ~]$ openstack project create project_a
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description |                                  |
| domain_id   | default                          |
| enabled     | True                             |
| id          | 8c988874e83543cf8b155cf9cfd1356f |
| is_domain   | False                            |
| name        | project_a                        |
| options     | {}                               |
| parent_id   | default                          |
| tags        | []                               |
+-------------+----------------------------------+

# Create user user_a on project_a

(overcloud) [stack@undercloud-0 ~]$ openstack user create --project project_a --password redhat user_a
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| default_project_id  | 8c988874e83543cf8b155cf9cfd1356f |
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 7dde343f6ff24f59ba67ce38da3ef9a7 |
| name                | user_a                           |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+

# Assign member role to user_a user

(overcloud) [stack@undercloud-0 ~]$ openstack role add --user user_a --project project_a member

# Create private share type on admin project

(overcloud) [stack@undercloud-0 ~]$ manila type-create --is-public False admin-private-share-type False
+----------------------+--------------------------------------+
| Property             | Value                                |
+----------------------+--------------------------------------+
| ID                   | c4ef9a32-b143-4c56-ba71-0a45f4d5848f |
| Name                 | admin-private-share-type             |
| Visibility           | private                              |
| is_default           | -                                    |
| required_extra_specs | driver_handles_share_servers : False |
| optional_extra_specs |                                      |
| Description          | None                                 |
+----------------------+--------------------------------------+

(overcloud) [stack@undercloud-0 ~]$ manila type-access-list c4ef9a32-b143-4c56-ba71-0a45f4d5848f
+------------+
| Project_ID |
+------------+
+------------+

On project_a by user_a user:
============================

# Although the share type does not exist, try to create share with it 

(overcloud) [stack@undercloud-0 ~]$ manila type-show c4ef9a32-b143-4c56-ba71-0a45f4d5848f
ERROR: No sharetype with a name or ID of 'c4ef9a32-b143-4c56-ba71-0a45f4d5848f' exists.

(overcloud) [stack@undercloud-0 ~]$ manila create --name share_member_user cephfs 1 --share-type admin-private-share-type
ERROR: ShareTypeNotFound: Share type c4ef9a32-b143-4c56-ba71-0a45f4d5848f could not be found. (HTTP 404) (Request-ID: req-72638ebe-5a98-448f-941f-fdc7b402982c)

# As you can see, share stuck on "creating" status. The list should be empty.

(overcloud) [stack@undercloud-0 ~]$ manila list
+--------------------------------------+-------------------+------+-------------+----------+-----------+--------------------------+------+-------------------+
| ID                                   | Name              | Size | Share Proto | Status   | Is Public | Share Type Name          | Host | Availability Zone |
+--------------------------------------+-------------------+------+-------------+----------+-----------+--------------------------+------+-------------------+
| 86c8143a-f134-407f-9541-6bc00007dc5f | share_member_user | 1    | CEPHFS      | creating | False     | admin-private-share-type |      | None              |
+--------------------------------------+-------------------+------+-------------+----------+-----------+--------------------------+------+-------------------+

# Now let's try to create a share by share type that does not exist at all.
# Works as expected.

(overcloud) [stack@undercloud-0 ~]$ manila create --name share_member_user cephfs 1 --share-type no_exist
ERROR: Share type not found. (HTTP 404) (Request-ID: req-b3d7fa42-b4ba-4535-80b3-110afa4dc33c)
(overcloud) [stack@undercloud-0 ~]$ manila list
+--------------------------------------+-------------------+------+-------------+----------+-----------+--------------------------+------+-------------------+
| ID                                   | Name              | Size | Share Proto | Status   | Is Public | Share Type Name          | Host | Availability Zone |
+--------------------------------------+-------------------+------+-------------+----------+-----------+--------------------------+------+-------------------+
| 86c8143a-f134-407f-9541-6bc00007dc5f | share_member_user | 1    | CEPHFS      | creating | False     | admin-private-share-type |      | None              |
+--------------------------------------+-------------------+------+-------------+----------+-----------+--------------------------+------+-------------------+

Comment 9 Tom Barron 2020-07-01 16:13:03 UTC
OK, can reproduce this one downstream and in upstream Manila on master branch where I get this traceback in the API service log:


Jul 01 12:30:05 ubuntu-devstack devstack[34413]: INFO manila.api.openstack.wsgi [None req-d8b0dcd6-3f6c-42e5-8845-9b3de74304f8 None None] POST http://192.168.121.177/share/v2/c5b3159f5d8c48788338ea822a4bc80f/shares
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: DEBUG manila.api.openstack.wsgi [None req-d8b0dcd6-3f6c-42e5-8845-9b3de74304f8 None None] Action: 'create', calling method: Controller.__getattribute__.<locals>.version_select, body: {"share": {"size": 1, "snapshot_id": null, "name": "share_member_user", "description": null, "metadata": {}, "share_proto": "nfs", "share_network_id": null, "share_type": "admin-private-share-type", "is_public": false, "availability_zone": null}} {{(pid=34414) _process_stack /opt/stack/manila/manila/api/openstack/wsgi.py:797}}
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: INFO manila.api.v1.shares [None req-d8b0dcd6-3f6c-42e5-8845-9b3de74304f8 None None] Create NFS share of 1 GB
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: DEBUG manila.quota [None req-d8b0dcd6-3f6c-42e5-8845-9b3de74304f8 None None] Created reservations ['a286abf6-8f78-4520-b522-060bf8c646ad', '8fd5ca41-4d2f-48eb-94ec-e30cd886a6d7', 'ad50bcf8-4e02-4a80-a4c3-2e8beeb83399', 'c1facf22-e697-439d-b9f7-c314d98066ab'] {{(pid=34414) reserve /opt/stack/manila/manila/quota.py:922}}
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: DEBUG manila.quota [None req-d8b0dcd6-3f6c-42e5-8845-9b3de74304f8 None None] Committed reservations ['a286abf6-8f78-4520-b522-060bf8c646ad', '8fd5ca41-4d2f-48eb-94ec-e30cd886a6d7', 'ad50bcf8-4e02-4a80-a4c3-2e8beeb83399', 'c1facf22-e697-439d-b9f7-c314d98066ab'] {{(pid=34414) commit /opt/stack/manila/manila/quota.py:950}}
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault [None req-d8b0dcd6-3f6c-42e5-8845-9b3de74304f8 None None] Caught error: Share type 3fa43a72-ab56-4b9f-b302-ff6e961ea667 could not be found.: manila.exception.ShareTypeNotFound: Share type 3fa43a72-ab56-4b9f-b302-ff6e961ea667 could not be found.
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault Traceback (most recent call last):
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/middleware/fault.py", line 77, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return req.get_response(self.application)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/request.py", line 1314, in send
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     application, catch_exc_info=False)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/request.py", line 1278, in call_application
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     app_iter = application(self.environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 129, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     resp = self.call_func(req, *args, **kw)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 193, in call_func
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return self.func(req, *args, **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/oslo_middleware/base.py", line 124, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     response = req.get_response(self.application)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/request.py", line 1314, in send
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     application, catch_exc_info=False)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/request.py", line 1278, in call_application
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     app_iter = application(self.environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 143, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return resp(environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 129, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     resp = self.call_func(req, *args, **kw)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 193, in call_func
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return self.func(req, *args, **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/keystonemiddleware/auth_token/__init__.py", line 341, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     response = req.get_response(self._app)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/request.py", line 1314, in send
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     application, catch_exc_info=False)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/request.py", line 1278, in call_application
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     app_iter = application(self.environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 143, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return resp(environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 143, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return resp(environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/routes/middleware.py", line 141, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     response = self.app(environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 143, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return resp(environ, start_response)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 129, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     resp = self.call_func(req, *args, **kw)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/usr/local/lib/python3.6/dist-packages/webob/dec.py", line 193, in call_func
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return self.func(req, *args, **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/openstack/wsgi.py", line 766, in __call__
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     content_type, body, accept)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/openstack/wsgi.py", line 830, in _process_stack
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     action_result = self.dispatch(meth, request, action_args)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/openstack/wsgi.py", line 925, in dispatch
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return method(req=request, **action_args)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/openstack/wsgi.py", line 1068, in version_select
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return func.func(self, *args, **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/v2/shares.py", line 184, in create
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     check_availability_zones_extra_spec=True)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/openstack/wsgi.py", line 1162, in wrapper
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return f(self, req, *args, **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/api/v1/shares.py", line 412, in _create
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/share/api.py", line 361, in create
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     snapshot_host=snapshot_host)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/share/api.py", line 446, in create_instance
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     snapshot_host=snapshot_host))
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/share/api.py", line 544, in create_share_instance_and_get_request_spec
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     context, share_instance['share_type_id'])
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/db/api.py", line 1034, in share_type_get
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return IMPL.share_type_get(context, type_id, inactive, expected_fields)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/db/sqlalchemy/api.py", line 171, in wrapper
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     return f(*args, **kwargs)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/db/sqlalchemy/api.py", line 4232, in share_type_get
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     expected_fields=expected_fields)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault   File "/opt/stack/manila/manila/db/sqlalchemy/api.py", line 4216, in _share_type_get
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault     raise exception.ShareTypeNotFound(share_type_id=id)
Jul 01 12:30:05 ubuntu-devstack devstack[34413]: ERROR manila.api.middleware.fault manila.exception.ShareTypeNotFound: Share type 3fa43a72-ab56-4b9f-b302-ff6e961ea667 could not be found.

Comment 10 Tom Barron 2020-07-02 16:20:17 UTC
Updated the title since the issue is reproducible with other backends than native CephFS too.

Comment 12 lkuchlan 2020-07-12 07:02:51 UTC
I found out that this issue only happens when the share type name is used
for creating the share. 
Creating a share using share type id works as expected.

Comment 20 lkuchlan 2020-09-17 05:41:41 UTC
Verified, tested on:
puppet-manila-15.4.1-0.20200403160104.e41b1b6.el8ost.noarch
python3-manilaclient-1.29.0-0.20200310223441.1b2cafb.el8ost.noarch


On tenant A:
============

(overcloud) [stack@undercloud-0 ~]$ manila type-list --all
+--------------------------------------+------------+------------+------------+--------------------------------------+-------------------------+-------------+
| ID                                   | Name       | visibility | is_default | required_extra_specs                 | optional_extra_specs    | Description |
+--------------------------------------+------------+------------+------------+--------------------------------------+-------------------------+-------------+
| 13af1a5f-9b57-4f0f-bff1-53cd7349ac21 | st_private | private    | -          | driver_handles_share_servers : False |                         | None        |
| 6eee21d1-93fa-491e-a02e-76b1e3a0bee1 | default    | public     | YES        | driver_handles_share_servers : False | snapshot_support : True | None        |
+--------------------------------------+------------+------------+------------+--------------------------------------+-------------------------+-------------+
(overcloud) [stack@undercloud-0 ~]$ manila type-access-list 13af1a5f-9b57-4f0f-bff1-53cd7349ac21
+------------+
| Project_ID |
+------------+
+------------+

On tenant B:
===========
(overcloud) [stack@undercloud-0 ~]$ manila create cephfs 1 --share-type 13af1a5f-9b57-4f0f-bff1-53cd7349ac21
ERROR: Share type not found. (HTTP 404) (Request-ID: req-9c7395e9-74ec-42ed-a838-3ed6e8beb06a)

(overcloud) [stack@undercloud-0 ~]$ manila list
+----+------+------+-------------+--------+-----------+-----------------+------+-------------------+
| ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone |
+----+------+------+-------------+--------+-----------+-----------------+------+-------------------+
+----+------+------+-------------+--------+-----------+-----------------+------+-------------------+
(overcloud) [stack@undercloud-0 ~]$ manila list --all
+----+------+------+-------------+--------+-----------+-----------------+------+-------------------+------------+
| ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone | Project ID |
+----+------+------+-------------+--------+-----------+-----------------+------+-------------------+------------+
+----+------+------+-------------+--------+-----------+-----------------+------+-------------------+------------+

Comment 26 errata-xmlrpc 2020-10-28 15:38:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat OpenStack Platform 16.1 bug fix and enhancement advisory), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:4284


Note You need to log in before you can comment on or make changes to this bug.