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
100%
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
Updated by Kiefer Chang over 4 years ago
- Status changed from New to In Progress
- Assignee set to Kiefer Chang
Updated by Volker Theile over 4 years ago
- Status changed from In Progress to Fix Under Review
Updated by Volker Theile over 4 years ago
Does this also affect Nautilus? In that case a backport should be done.
Updated by Kiefer Chang over 4 years ago
Volker Theile wrote:
Does this also affect Nautilus? In that case a backport should be done.
Thanks for the reminder.
I tested Nautilus (e1f67109056f9a6137e018badb8c923833e8eeba) branch and I can't reproduce this issue.
On Nautilus branch the javascript target is set to es2015 too, so compiling typescript codes to es2015 target is not the root cause of this problem.
Package versions between two branches are quite different, need to do further investigation.
Updated by Laura Paduano over 4 years ago
- Status changed from Fix Under Review to Resolved
Updated by Ernesto Puerta about 3 years ago
- Project changed from mgr to Dashboard
- Category changed from 143 to Component - RGW