canonical / canonical/microceph
All calls to S3 API fail with error: 405 (MethodNotAllowed)
- Dominant language
- Go
- Stars
- 396
- Forks
- 74
- Avg merge
- 2d 20h
- Merged PRs (30d)
- 7
Description
# Issue report
## What version of MicroCeph are you using ?
Name Version Rev Tracking Publisher Notes
microceph 0+git.287ee68 807 quincy/edge canonical✓ held
## What are the steps to reproduce this issue ?
1. Install MicroCeph on a vanilla Ubuntu 22.04 VM
2. Enable the dashboard and create a user/ bucket
3. Enable RGW
## What happens (observed behaviour) ?
At this point any calls to the RGW endpoint (default port 80) appear to fail, ie to [set a new policy](https://docs.ceph.com/en/quincy/radosgw/bucketpolicy/#creation-and-removal) on the bucket:
```
# s3cmd setpolicy ./ceph-pol s3://ceph/
ERROR: S3 error: 405 (MethodNotAllowed)
```
And from the RGW logs:
```
2024-04-23T19:16:29.281+0000 7f0bec688640 1 ====== starting new request req=0x7f0ca83c4710 =====
2024-04-23T19:16:29.281+0000 7f0bec688640 1 req 15239953914733753145 0.000000000s handler->ERRORHANDLER: err_no=-2003 new_err_no=-2003
2024-04-23T19:16:29.281+0000 7f0bec688640 1 ====== req done req=0x7f0ca83c4710 op status=0 http_status=405 latency=0.000000000s ======
2024-04-23T19:16:29.281+0000 7f0bec688640 1 beast: 0x7f0ca83c4710: ::1 - - [23/Apr/2024:19:16:29.281 +0000] "PUT /?policy HTTP/1.1" 405 189 - - - latency=0.000000000s
```
All calls will fail except an `INFO` on the bucket, ie:
```
root@ceph:~# s3cmd info s3://ceph/
s3://ceph/ (bucket):
Location: us-east-1
Payer: none
Expiration Rule: none
Policy: testtestceph2024-04-23T10:47:41.982Z
CORS: testtestceph2024-04-23T10:47:41.982Z
```
Gist with detail [here](https://gist.github.com/nickbrennan1/ed39e9e9f871c2043dc05268ad1f0004)
## What were you expecting to happen ?
Expectation is that standard API calls will work
## Additional comments.
Possibly the problems are occurring because no privileges are set on hte bucket yet, but without the ability to apply a policy there appears to be no way round this
Contributor guide
Research direction
Start by reproducing the failure with the listed MicroCeph setup and s3cmd, then compare the failing request with the RGW log entry showing PUT /?policy and HTTP 405. Done means standard S3 API calls, including applying a bucket policy, work against the RGW endpoint.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100