diff --git a/group_vars/all.yml.sample b/group_vars/all.yml.sample index 89063eac8..08ac4e2b8 100644 --- a/group_vars/all.yml.sample +++ b/group_vars/all.yml.sample @@ -387,17 +387,18 @@ dummy: ## Rados Gateway options # -#radosgw_frontend_type: civetweb # For additionnal frontends see: http://docs.ceph.com/docs/mimic/radosgw/frontends/ +#radosgw_frontend_type: beast # For additional frontends see: http://docs.ceph.com/docs/nautilus/radosgw/frontends/ #radosgw_civetweb_port: 8080 -#radosgw_civetweb_num_threads: 100 +#radosgw_civetweb_num_threads: 512 #radosgw_civetweb_options: "num_threads={{ radosgw_civetweb_num_threads }}" # 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_frontend_port: "{{ radosgw_civetweb_port if radosgw_frontend_type == 'civetweb' else '8080' }}" -#radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' }}" +#radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' else '' }}" +#radosgw_thread_pool_size: 512 # You must define either radosgw_interface, radosgw_address. diff --git a/group_vars/rhcs.yml.sample b/group_vars/rhcs.yml.sample index 468d64210..639314060 100644 --- a/group_vars/rhcs.yml.sample +++ b/group_vars/rhcs.yml.sample @@ -387,17 +387,18 @@ ceph_rhcs_version: 3 ## Rados Gateway options # -#radosgw_frontend_type: civetweb # For additionnal frontends see: http://docs.ceph.com/docs/mimic/radosgw/frontends/ +#radosgw_frontend_type: beast # For additional frontends see: http://docs.ceph.com/docs/nautilus/radosgw/frontends/ #radosgw_civetweb_port: 8080 -#radosgw_civetweb_num_threads: 100 +#radosgw_civetweb_num_threads: 512 #radosgw_civetweb_options: "num_threads={{ radosgw_civetweb_num_threads }}" # 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_frontend_port: "{{ radosgw_civetweb_port if radosgw_frontend_type == 'civetweb' else '8080' }}" -#radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' }}" +#radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' else '' }}" +#radosgw_thread_pool_size: 512 # You must define either radosgw_interface, radosgw_address. diff --git a/roles/ceph-config/templates/ceph.conf.j2 b/roles/ceph-config/templates/ceph.conf.j2 index be9789022..88759a8fe 100644 --- a/roles/ceph-config/templates/ceph.conf.j2 +++ b/roles/ceph-config/templates/ceph.conf.j2 @@ -120,6 +120,9 @@ host = {{ _rgw_hostname }} keyring = /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ _rgw_hostname + '.' + instance['instance_name'] }}/keyring log file = /var/log/ceph/{{ cluster }}-rgw-{{ hostvars[host]['ansible_hostname'] + '.' + instance['instance_name'] }}.log rgw frontends = {{ radosgw_frontend_type }} {{ 'port' if radosgw_frontend_type == 'civetweb' else 'endpoint' }}={{ instance['radosgw_address'] }}:{{ instance['radosgw_frontend_port'] }} {{ radosgw_frontend_options }} +{% if 'num_threads' not in radosgw_frontend_options %} +rgw thread pool size = {{ radosgw_thread_pool_size }} +{% endif %} {% endfor %} {% endif %} {% endfor %} diff --git a/roles/ceph-defaults/defaults/main.yml b/roles/ceph-defaults/defaults/main.yml index 038cbec6e..9b762dc03 100644 --- a/roles/ceph-defaults/defaults/main.yml +++ b/roles/ceph-defaults/defaults/main.yml @@ -379,17 +379,18 @@ mds_max_mds: 1 ## Rados Gateway options # -radosgw_frontend_type: civetweb # For additionnal frontends see: http://docs.ceph.com/docs/mimic/radosgw/frontends/ +radosgw_frontend_type: beast # For additionnal frontends see: http://docs.ceph.com/docs/nautilus/radosgw/frontends/ radosgw_civetweb_port: 8080 -radosgw_civetweb_num_threads: 100 +radosgw_civetweb_num_threads: 512 radosgw_civetweb_options: "num_threads={{ radosgw_civetweb_num_threads }}" # 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_frontend_port: "{{ radosgw_civetweb_port if radosgw_frontend_type == 'civetweb' else '8080' }}" -radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' }}" +radosgw_frontend_options: "{{ radosgw_civetweb_options if radosgw_frontend_type == 'civetweb' else '' }}" +radosgw_thread_pool_size: 512 # You must define either radosgw_interface, radosgw_address. diff --git a/roles/ceph-validate/tasks/main.yml b/roles/ceph-validate/tasks/main.yml index 3150ca6e4..49761bd16 100644 --- a/roles/ceph-validate/tasks/main.yml +++ b/roles/ceph-validate/tasks/main.yml @@ -96,3 +96,10 @@ include_tasks: check_iscsi.yml when: - iscsi_gw_group_name in group_names + +- name: warn about radosgw_civetweb_num_threads option deprecation + debug: + msg: "WARNING: radosgw_civetweb_num_threads variable is deprecated. Please use radosgw_thread_pool_size instead" + when: + - radosgw_frontend_type == 'civetweb' + - radosgw_civetweb_num_threads is defined