canonical / canonical/microceph

All calls to S3 API fail with error: 405 (MethodNotAllowed)

Open
#344 5 comments 0 reactions 0 assignees View on GitHub
Needs Investigation
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.