Skip to content

Commit e9525ee

Browse files
authored
Merge pull request ceph#63081 from clwluvw/admin-bucket-rm-err-code
rgw-admin: report correct error code for non-existent bucket on deletion Reviewed-by: Shilpa Jagannath <[email protected]>
2 parents d95463c + ede013f commit e9525ee

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

qa/tasks/radosgw_admin_rest.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -858,6 +858,11 @@ def task(ctx, config):
858858
(ret, out) = rgwadmin_rest(admin_conn, ['bucket', 'rm'], {'bucket' : bucket_name, 'purge-objects' : True})
859859
assert ret == 200
860860

861+
# TESTCASE 'rm-bucket', 'bucket', 'rm', 'non-existent bucket', 'correct error'
862+
(ret, out) = rgwadmin_rest(admin_conn, ['bucket', 'rm'], {'bucket' : bucket_name})
863+
assert ret == 404
864+
assert out['Code'] == 'NoSuchBucket'
865+
861866
# TESTCASE 'caps-add', 'caps', 'add', 'add user cap', 'succeeds'
862867
caps = 'usage=read'
863868
(ret, out) = rgwadmin_rest(admin_conn, ['caps', 'add'], {'uid' : user1, 'user-caps' : caps})

src/rgw/driver/rados/rgw_rest_bucket.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,9 @@ void RGWOp_Bucket_Remove::execute(optional_yield y)
234234
const bool is_forwarded = s->info.args.exists(RGW_SYS_PARAM_PREFIX "zonegroup");
235235

236236
op_ret = RGWBucketAdminOp::remove_bucket(driver, *s->penv.site, op_state, y, s, bypass_gc, true, is_forwarded);
237+
if (op_ret == -ENOENT) {
238+
op_ret = -ERR_NO_SUCH_BUCKET;
239+
}
237240
}
238241

239242
class RGWOp_Set_Bucket_Quota : public RGWRESTOp {

0 commit comments

Comments
 (0)