Feature #39478: mgr/dashboard: new RGW workflows & RGW enhancements
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.
#6 Updated by Kiefer Chang 16 days 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.
Package versions between two branches are quite different, need to do further investigation.