[ English | Indonesia | français | Deutsch | English (United Kingdom) | 한국어 (대한민국) | español | русский ]

Using radosgw as a drop-in replacement for Swift

OpenStack-Ansible gives you the option of deploying radosgw as a drop-in replacement for native OpenStack Swift.

In particular, the ceph-rgw-install.yml playbook (which includes ceph-rgw-keystone-setup.yml) will deploy radosgw to any ceph-rgw hosts, and create a corresponding Keystone object-store service catalog entry. The service endpoints do contain the AUTH_%(tenant_id)s prefix just like in native Swift, so public read ACLs and temp URLs will work just like they do in Swift.

By default, OSA enables only the Swift API in radosgw.

Adding S3 API support

You may want to enable the default radosgw S3 API, in addition to the Swift API. In order to do so, you need to override the ceph_conf_overrides_rgw variable in user_variables.yml. Below is an example configuration snippet:

Nota

Mentioned below overrides are default ones and will be applied to ceph-rgw group

---
ceph_conf_overrides_rgw:
  "client.rgw.{{ hostvars[inventory_hostname]['ansible_hostname'] }}.rgw0":
    # OpenStack integration with Keystone
    rgw_keystone_url: "{{ keystone_service_adminuri }}"
    rgw_keystone_api_version: 3
    rgw_keystone_admin_user: "{{ radosgw_admin_user }}"
    rgw_keystone_admin_password: "{{ radosgw_admin_password }}"
    rgw_keystone_admin_project: "{{ radosgw_admin_tenant }}"
    rgw_keystone_admin_domain: default
    rgw_keystone_accepted_roles: 'member, _member_, admin, swiftoperator'
    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'

You may also want to add the rgw_dns_name option if you want to enable bucket hostnames with the S3 API.