Project

General

Profile

Bug #41368

Feature #39478: mgr/dashboard: new RGW workflows & RGW enhancements

Feature #39477: mgr/dashboard: add/edit missing RGW bucket info

Fix #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

Added by Kiefer Chang 29 days ago. Updated 14 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
dashboard/rgw
Target version:
Start date:
08/21/2019
Due date:
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:

Description

Steps to reproduce:

  1. Create a user with a tenant.
    1. Navigate to page Object Gateway >> Users >> Create.
    2. Fill in all required fields. But for the Username field, we need to input content like <tenant>$<user>.
    3. A user named <user> will be created within tenant <tenant>. Maybe we can refine the user creation form to allow specifying tenant more explicitly.
    4. Another way is to create user via radosgw-admin. See https://docs.ceph.com/docs/master/radosgw/multitenancy/#examples
  2. Create a bucket and change bucket owner to the user just created
    1. Navigate to page Object Gateway >> Buckets >> Create.
    2. Create a bucket and select the user we just created as owner (user names appears in the form <tenant>$<user>)
    3. After submitting the request, Object Gateway >> Buckets page fails to load the bucket list table.
Following are some findings:
  • 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.

rgw-bucket-list-error.png View (85.8 KB) Kiefer Chang, 08/21/2019 07:51 AM

create-user-within-tenant.png View (89.6 KB) Kiefer Chang, 08/21/2019 07:53 AM

create-bucket-with-owner-form.png View (78.6 KB) Kiefer Chang, 08/21/2019 07:54 AM

History

#1 Updated by Alfonso MH 29 days ago

  • Parent task set to #41180

#2 Updated by Kiefer Chang 17 days ago

  • Status changed from New to In Progress
  • Assignee set to Kiefer Chang

#3 Updated by Kiefer Chang 17 days ago

  • Pull request ID set to 30064

#4 Updated by Volker Theile 17 days ago

  • Status changed from In Progress to Need Review

#5 Updated by Volker Theile 17 days ago

Does this also affect Nautilus? In that case a backport should be done.

#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.
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.

#7 Updated by Laura Paduano 14 days ago

  • Status changed from Need Review to Resolved

Also available in: Atom PDF