Project

General

Profile

Actions

Bug #5716

closed

radosgw-admin: does not validate pool name when creating region

Added by Josh Durgin almost 11 years ago. Updated over 10 years ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

On the next branch, running:

$ radosgw-admin --log-to-stderr --format json -n client.2 region set < client.2.region
rgw/rgw_common.h: In function 'rgw_bucket::rgw_bucket(const char*)' thread 7f6d07a15780 time 2013-07-22 17:27:25.562720
rgw/rgw_common.h: 545: FAILED assert(*n == '.')
 ceph version 0.66-812-g6582b31 (6582b31abcb36a355b96d63c03ac17021c1e591f)
 1: (rgw_bucket::rgw_bucket(char const*)+0xd2) [0x4a7802]
 2: (RGWRegion::store_info(bool)+0x36) [0x48a206]
 3: (main()+0x24c0) [0x43b8b0]
 4: (__libc_start_main()+0xed) [0x7f6d0508676d]
 5: radosgw-admin() [0x4447b9]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
2013-07-22 17:27:25.563259 7f6d07a15780 -1 rgw/rgw_common.h: In function 'rgw_bucket::rgw_bucket(const char*)' thread 7f6d07a15780 time 2013-07-22 17:27:25.562720
rgw/rgw_common.h: 545: FAILED assert(*n == '.')
...
$ cat client.2.region
{
    "api_name": "api_name", 
    "default_placement": "", 
    "endpoints": [
        "http://mira113.front.sepia.ceph.com:7280/" 
    ], 
    "is_master": true, 
    "master_zone": "foo-1", 
    "name": "foo", 
    "placement_targets": [], 
    "zones": [
        {
            "endpoints": [
                "http://mira113.front.sepia.ceph.com:7280/" 
            ], 
            "name": "foo-1" 
        }
    ]
}

ceph.conf includes:

[client.2]
    rgw region = bar
    rgw zone = bar-secondary
    rgw region root pool = bar.rgw.root
    rgw zone root pool = bar-secondary.rgw.root

If the pool names are changed to be prefixed by a '.', the command succeeds.
radosgw-admin should not crash, but tell the user the requirements of a pool name.
This needs documentation as well. Nothing else depends on particular pool name contents.

Actions #1

Updated by Yehuda Sadeh over 10 years ago

  • Status changed from 12 to Resolved

Fixed, commit:c7acc2aee2f4aef19386ede46b4562b6552a3955

Actions

Also available in: Atom PDF