Actions
Bug #41368
closedFeature #39478: mgr/dashboard: new RGW workflows & RGW enhancements
Feature #39477: mgr/dashboard: add/edit missing RGW bucket info
Bug #41180: mgr/dashboard: fix bucket operations with tenant after new bucket utilities implementation
mgr/dashboard: RGW bucket list is not displayed if there is a bucket whose owner is a user in tenant
Status:
Resolved
Priority:
Normal
Assignee:
Category:
Component - RGW
Target version:
% Done:
100%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Steps to reproduce:
- Create a user with a tenant.
- Navigate to page Object Gateway >> Users >> Create.
- Fill in all required fields. But for the Username field, we need to input content like <tenant>$<user>.
- A user named <user> will be created within tenant <tenant>. Maybe we can refine the user creation form to allow specifying tenant more explicitly.
- Another way is to create user via radosgw-admin. See https://docs.ceph.com/docs/master/radosgw/multitenancy/#examples
- Create a bucket and change bucket owner to the user just created
- Navigate to page Object Gateway >> Buckets >> Create.
- Create a bucket and select the user we just created as owner (user names appears in the form <tenant>$<user>)
- After submitting the request, Object Gateway >> Buckets page fails to load the bucket list table.
- If we create a bucket and set its owner to a user within a tenant, listing the bucket via admin OPs API or radosgw-admin command returns bucket name prefixed with tenant name. Here are some information get from CLI.
# bin/radosgw-admin user list 2019-08-21T07:42:33.555+0000 7f76026d68c0 -1 WARNING: all dangerous and experimental features are enabled. 2019-08-21T07:42:33.555+0000 7f76026d68c0 -1 WARNING: all dangerous and experimental features are enabled. 2019-08-21T07:42:33.555+0000 7f76026d68c0 -1 WARNING: all dangerous and experimental features are enabled. [ "56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234", "testx$9876543210abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "foo$bar", "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "test", "testid", "dev" ] # bin/radosgw-admin bucket list [ "foo/test-bucket" ]
- When navigating to Object Gateway >> Buckets, frontend retrieves bucket list first and retrieves information for every bucket.
- The bucket's name we created is foo/test-bucket, which makes frontend issues GET requests to api/rgw/bucket/foo/test-bucket, which is an unknown path in cherrypy.
- This should be fixed by escaping bucket name in frontend.
Files
Actions