Improve ceph-rgw compatibility with Swift API in Kolla-ansible
By default ceph-rgw is not completely comaptible with Swift API, because of the restriction for Swift INFO API.[0] The patch improve ceph-rgw compatibility with Swift API. It is controlled by the option "ceph_rgw_compatibility" in ansible/group_vars/all.yml. After changing the option, run the "reconfigure" command to enable. Closes-Bug: #1783456 [0] https://github.com/ceph/ceph/pull/17967 Change-Id: Ibf3eb52280e197965caef08a44ae226c4f884cb5 Signed-off-by: tone.zhang <tone.zhang@arm.com>
This commit is contained in:
parent
80b8d2da25
commit
2ce46e4767
@ -774,6 +774,10 @@ ceph_pool_type: "replicated"
|
|||||||
# Integrate Ceph Rados Object Gateway with OpenStack keystone
|
# Integrate Ceph Rados Object Gateway with OpenStack keystone
|
||||||
enable_ceph_rgw_keystone: "no"
|
enable_ceph_rgw_keystone: "no"
|
||||||
|
|
||||||
|
# Enable/disable ceph-rgw compatibility with OpenStack Swift
|
||||||
|
# Valid options are [ True, False ]
|
||||||
|
ceph_rgw_compatibility: "False"
|
||||||
|
|
||||||
ceph_cinder_pool_name: "volumes"
|
ceph_cinder_pool_name: "volumes"
|
||||||
ceph_cinder_backup_pool_name: "backups"
|
ceph_cinder_backup_pool_name: "backups"
|
||||||
ceph_glance_pool_name: "images"
|
ceph_glance_pool_name: "images"
|
||||||
|
@ -63,9 +63,9 @@ partition_name_osd_data: "{{ 'KOLLA_CEPH_BSDATA' if ceph_osd_store_type == 'blue
|
|||||||
####################
|
####################
|
||||||
## Ceph_rgw_keystone
|
## Ceph_rgw_keystone
|
||||||
####################
|
####################
|
||||||
swift_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ rgw_port }}/swift/v1"
|
swift_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ rgw_port }}{{ '/' if ceph_rgw_compatibility|bool else '/swift/' }}v1"
|
||||||
swift_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ rgw_port }}/swift/v1"
|
swift_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ rgw_port }}{{ '/' if ceph_rgw_compatibility|bool else '/swift/' }}v1"
|
||||||
swift_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ rgw_port }}/swift/v1"
|
swift_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ rgw_port }}{{ '/' if ceph_rgw_compatibility|bool else '/swift/' }}v1"
|
||||||
|
|
||||||
ceph_rgw_keystone_user: "ceph_rgw"
|
ceph_rgw_keystone_user: "ceph_rgw"
|
||||||
|
|
||||||
|
@ -224,3 +224,8 @@
|
|||||||
with_together:
|
with_together:
|
||||||
- "{{ ceph_rgw_container_envs.results }}"
|
- "{{ ceph_rgw_container_envs.results }}"
|
||||||
- "{{ ceph_rgw_check_results.results }}"
|
- "{{ ceph_rgw_check_results.results }}"
|
||||||
|
|
||||||
|
- include_tasks: start_rgw_keystone.yml
|
||||||
|
when:
|
||||||
|
- ceph_rgw_container_envs.results
|
||||||
|
- enable_ceph_rgw_keystone | bool
|
||||||
|
@ -43,4 +43,8 @@ rgw_keystone_accepted_roles = admin, {{ keystone_default_user_role }}
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
keyring = /etc/ceph/ceph.client.radosgw.keyring
|
keyring = /etc/ceph/ceph.client.radosgw.keyring
|
||||||
log file = /var/log/kolla/ceph/client.radosgw.gateway.log
|
log file = /var/log/kolla/ceph/client.radosgw.gateway.log
|
||||||
|
{% if ceph_rgw_compatibility | bool %}
|
||||||
|
rgw_swift_url_prefix = "/"
|
||||||
|
rgw_enable_apis = swift,swift_auth,admin
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -187,6 +187,16 @@ RadosGW is optional, enable it in ``/etc/kolla/globals.yml``:
|
|||||||
|
|
||||||
.. end
|
.. end
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
By default RadosGW supports both Swift and S3 API, and it is not
|
||||||
|
completely compatible with Swift API. The option `ceph_rgw_compatibility`
|
||||||
|
in ``ansible/group_vars/all.yml`` can enable/disable the RadosGW
|
||||||
|
compatibility with Swift API completely. After changing the value, run the
|
||||||
|
"reconfigure“ command to enable.
|
||||||
|
|
||||||
|
.. end
|
||||||
|
|
||||||
Configure the Ceph store type in ``ansible/group_vars/all.yml``, the default
|
Configure the Ceph store type in ``ansible/group_vars/all.yml``, the default
|
||||||
value is ``bluestore`` in Rocky:
|
value is ``bluestore`` in Rocky:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user