Project

General

Profile

Actions

Bug #45193

closed

Admin API returns 200 instead of 404 for Get Bucket Info

Added by Nick Janus about 4 years ago. Updated about 3 years ago.

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

0%

Source:
Community (dev)
Tags:
adminapi
Backport:
octopus, nautilus, mimic
Regression:
Yes
Severity:
3 - minor
Reviewed:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

RGW's admin http api responds 200 with an empty response body to Get Bucket Info calls for buckets that do not exist. This behavior seems to have been introduced in Mimic and is also reproducible in Nautilus and Octopus, with either beast or civetweb as the http frontend. Luminous Get Bucket Info returns a 404 and an error response "NoSuchBucket" for non-existent buckets.

I'll update here as I continue debugging.


Related issues 4 (0 open4 closed)

Related to rgw - Bug #48073: radosgw_admin_rest failure: bucket info API gets NoSuchKey, expects NoSuchBucketResolved

Actions
Copied to rgw - Backport #48099: mimic: Admin API returns 200 instead of 404 for Get Bucket InfoRejectedActions
Copied to rgw - Backport #48100: nautilus: Admin API returns 200 instead of 404 for Get Bucket InfoResolvedNathan CutlerActions
Copied to rgw - Backport #48101: octopus: Admin API returns 200 instead of 404 for Get Bucket InfoResolvedNathan CutlerActions
Actions #1

Updated by Nick Janus about 4 years ago

I built a package based on the nautilus branch with https://github.com/ceph/ceph/commit/4586cfbf992d296c94534df66d1964650e406c00 reverted. It seems this behaviour was introduced with that patch. I'm now working on a fix.

Actions #2

Updated by Nathan Cutler almost 4 years ago

  • Backport set to octopus, nautilus
Actions #3

Updated by Nathan Cutler almost 4 years ago

  • Backport changed from octopus, nautilus to octopus, nautilus, mimic
Actions #4

Updated by Casey Bodley almost 4 years ago

  • Assignee set to Mark Kogan
  • Tags set to adminapi
Actions #5

Updated by Nick Janus almost 4 years ago

I've started working on separating the endpoint's logic from the output (to a send_response method) in order to tighten up the endpoint's input validation (no 404s for nonexistent users or for buckets that don't exist with a uid specified). Since that's not a backwards compatible change, I'm going to continue that work elsewhere, and put the minimal fix with test here.

https://github.com/ceph/ceph/pull/34866
Also, I can't seem to update the original ticket anymore?

Actions #6

Updated by Casey Bodley almost 4 years ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 34866
Actions #7

Updated by Mark Kogan over 3 years ago

  • Status changed from Fix Under Review to Pending Backport
Actions #8

Updated by Casey Bodley over 3 years ago

  • Related to Bug #48073: radosgw_admin_rest failure: bucket info API gets NoSuchKey, expects NoSuchBucket added
Actions #9

Updated by Nathan Cutler over 3 years ago

  • Copied to Backport #48099: mimic: Admin API returns 200 instead of 404 for Get Bucket Info added
Actions #10

Updated by Nathan Cutler over 3 years ago

  • Copied to Backport #48100: nautilus: Admin API returns 200 instead of 404 for Get Bucket Info added
Actions #11

Updated by Nathan Cutler over 3 years ago

  • Copied to Backport #48101: octopus: Admin API returns 200 instead of 404 for Get Bucket Info added
Actions #12

Updated by Casey Bodley over 3 years ago

please include the followup fix from https://tracker.ceph.com/issues/48073

Actions #13

Updated by Nathan Cutler about 3 years ago

  • Status changed from Pending Backport to Resolved

While running with --resolve-parent, the script "backport-create-issue" noticed that all backports of this issue are in status "Resolved" or "Rejected".

Actions

Also available in: Atom PDF