Enable S3 API by default

When only 'swift' is specified in `rgw_enable_apis`, sending a http
request to the base RadosGW API URL('/') returns '405 Method Not
Allowed'.
It causes an important issue, because when any change is made to RadosGW
configuration via ceph-ansible, the 'restart ceph rgws' handler is
triggered that use restart_rgw_daemon.sh[1] script to restart radosgw
service.
Both curl and wget used by this script return non-zero return code on
'405 Method Not Allowed' response, causing ceph-ansible playbook to fail.

As a solution 's3' api can be enabled by default. With S3 API enabled,
base RadosGW API URL('/') returns 200 instead of 405 RC.
This change affects only environments using integrated ceph-ansible.

[1] https://github.com/ceph/ceph-ansible/blob/stable-7.0/roles/ceph-handler/templates/restart_rgw_daemon.sh.j2#L68

Change-Id: Ief8759e19d935aec9d8cfa855b1b0ba2b0c83424
This commit is contained in:
Damian Dabrowski 2023-05-30 00:11:08 +02:00
parent 14f69fbb5d
commit e00689d50f
2 changed files with 6 additions and 4 deletions

View File

@ -12,10 +12,8 @@ ceph_conf_overrides_rgw:
rgw_keystone_implicit_tenants: 'true'
rgw_swift_account_in_url: 'true'
rgw_swift_versioning_enabled: 'true'
rgw_enable_apis: swift
# For S3 support, update/add below rows
# rgw_enable_apis: 'swift, s3'
# rgw_s3_auth_use_keystone: 'true'
rgw_enable_apis: 'swift, s3'
rgw_s3_auth_use_keystone: 'true'
###
### Backend TLS

View File

@ -0,0 +1,4 @@
---
other:
- |
S3 API is now enabled by default for deployments using integrated ceph-ansible.