From 6f3a98919cf33e6684a380bd3b6abdc9934b3a9f Mon Sep 17 00:00:00 2001 From: Logan V Date: Mon, 16 Jan 2017 08:14:02 -0600 Subject: [PATCH] RGW: Allow configurable rgw frontends setting Allow for more operator flexibility in the `rgw frontends` setting while maintaining backwards compatibility with the old vars. This allows an operator to, for example, use the civetweb settings for implementing SSL ports. For available civetweb configuration parameters, see: https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md --- group_vars/all.yml.sample | 4 ++++ roles/ceph-common/defaults/main.yml | 4 ++++ roles/ceph-common/templates/ceph.conf.j2 | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index c74d4aa12..70a8af188 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -292,6 +292,10 @@ dummy: #radosgw_civetweb_port: 8080 # on Infernalis we get: "set_ports_option: cannot bind to 80: 13 (Permission denied)" #radosgw_civetweb_bind_ip: "{{ ansible_default_ipv4.address }}" #radosgw_civetweb_num_threads: 50 +# For additional civetweb configuration options available such as SSL, logging, +# keepalive, and timeout settings, please see the civetweb docs at +# https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md +#radosgw_civetweb_options: "port={{ radosgw_civetweb_bind_ip }}:{{ radosgw_civetweb_port }} num_threads={{ radosgw_civetweb_num_threads }}" #radosgw_keystone: false # activate OpenStack Keystone options full detail here: http://ceph.com/docs/master/radosgw/keystone/ #radosgw_keystone_url: # url:admin_port ie: http://192.168.0.1:35357 #radosgw_keystone_api_version: 2 # API versions 2 and 3 are supported diff --git a/roles/ceph-common/defaults/main.yml b/roles/ceph-common/defaults/main.yml index ea6e0047f..bc06d1793 100644 --- a/roles/ceph-common/defaults/main.yml +++ b/roles/ceph-common/defaults/main.yml @@ -284,6 +284,10 @@ mds_max_mds: 3 radosgw_civetweb_port: 8080 # on Infernalis we get: "set_ports_option: cannot bind to 80: 13 (Permission denied)" radosgw_civetweb_bind_ip: "{{ ansible_default_ipv4.address }}" radosgw_civetweb_num_threads: 50 +# For additional civetweb configuration options available such as SSL, logging, +# keepalive, and timeout settings, please see the civetweb docs at +# https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md +radosgw_civetweb_options: "port={{ radosgw_civetweb_bind_ip }}:{{ radosgw_civetweb_port }} num_threads={{ radosgw_civetweb_num_threads }}" radosgw_keystone: false # activate OpenStack Keystone options full detail here: http://ceph.com/docs/master/radosgw/keystone/ #radosgw_keystone_url: # url:admin_port ie: http://192.168.0.1:35357 radosgw_keystone_api_version: 2 # API versions 2 and 3 are supported diff --git a/roles/ceph-common/templates/ceph.conf.j2 b/roles/ceph-common/templates/ceph.conf.j2 index f28ceddd0..b27d78fc9 100644 --- a/roles/ceph-common/templates/ceph.conf.j2 +++ b/roles/ceph-common/templates/ceph.conf.j2 @@ -111,7 +111,7 @@ keyring = /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ hostvars[host]['ansible_hos rgw socket path = /tmp/radosgw-{{ hostvars[host]['ansible_hostname'] }}.sock log file = /var/log/ceph/{{ cluster }}-rgw-{{ hostvars[host]['ansible_hostname'] }}.log rgw data = /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ hostvars[host]['ansible_hostname'] }} -rgw frontends = civetweb port={{ radosgw_civetweb_bind_ip }}:{{ radosgw_civetweb_port }} num_threads={{ radosgw_civetweb_num_threads }} +rgw frontends = civetweb {{ radosgw_civetweb_options }} {% if radosgw_keystone %} rgw keystone url = {{ radosgw_keystone_url }} rgw keystone api version = {{ radosgw_keystone_api_version }} -- 2.39.5