Project

General

Profile

Actions

Bug #41368

closed

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

Added by Kiefer Chang over 4 years ago. Updated about 3 years ago.

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:

  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.

Files

rgw-bucket-list-error.png (85.8 KB) rgw-bucket-list-error.png Kiefer Chang, 08/21/2019 07:51 AM
create-user-within-tenant.png (89.6 KB) create-user-within-tenant.png Kiefer Chang, 08/21/2019 07:53 AM
create-bucket-with-owner-form.png (78.6 KB) create-bucket-with-owner-form.png Kiefer Chang, 08/21/2019 07:54 AM
Actions #1

Updated by Alfonso Martínez over 4 years ago

  • Parent task set to #41180
Actions #2

Updated by Kiefer Chang over 4 years ago

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

Updated by Kiefer Chang over 4 years ago

  • Pull request ID set to 30064
Actions #4

Updated by Volker Theile over 4 years ago

  • Status changed from In Progress to Fix Under Review
Actions #5

Updated by Volker Theile over 4 years ago

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

Actions #6

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.

Actions #7

Updated by Laura Paduano over 4 years ago

  • Status changed from Fix Under Review to Resolved
Actions #8

Updated by Alfonso Martínez over 4 years ago

  • % Done changed from 0 to 100
Actions #9

Updated by Ernesto Puerta about 3 years ago

  • Project changed from mgr to Dashboard
  • Category changed from 143 to Component - RGW
Actions

Also available in: Atom PDF