]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ansible.git/commitdiff
rgw: add beast frontend
authorDimitri Savineau <dsavinea@redhat.com>
Tue, 26 Feb 2019 14:16:37 +0000 (09:16 -0500)
committerGuillaume Abrioux <gabrioux@redhat.com>
Thu, 1 Aug 2019 08:10:09 +0000 (10:10 +0200)
Allow to configure the rgw beast frontend in addition to civetweb
(default value).
Add rgw_thread_pool_size variable with 512 as default value and keep
backward compatibility with num_threads option when using civetweb.
Update radosgw_civetweb_num_threads to reflect rgw_thread_pool_size
change.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1733406
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit d17b1b48b6d4259f88445a0752e1c13b4522ced0)

group_vars/all.yml.sample
group_vars/rhcs.yml.sample
roles/ceph-config/templates/ceph.conf.j2
roles/ceph-defaults/defaults/main.yml
roles/ceph-validate/tasks/main.yml

index efbd4fd7eaf33ad68c44a3909a58e623e4447df4..c6338a68f449db96d6cbae8876d8c6ca740a13a3 100644 (file)
@@ -386,17 +386,18 @@ dummy:
 
 ## Rados Gateway options
 #
-#radosgw_frontend_type: civetweb # For additionnal frontends see: http://docs.ceph.com/docs/mimic/radosgw/frontends/
+#radosgw_frontend_type: civetweb # For additional frontends see: http://docs.ceph.com/docs/mimic/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.
index f189edb290967d0cd699762510a5791f471a0c7a..829f2e01203fb441711439a0aaa94bdc177176db 100644 (file)
@@ -386,17 +386,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: civetweb # For additional frontends see: http://docs.ceph.com/docs/mimic/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.
index 1984f46b33c6df29520c5feb60ff304c048f95ea..a6c0ccb3714ada5c7e6f6df6c844a8c20ceeff71 100644 (file)
@@ -173,6 +173,9 @@ osd memory target = {{ _osd_memory_target | default(osd_memory_target) }}
 host = {{ _rgw_hostname }}
 keyring = /var/lib/ceph/radosgw/{{ cluster }}-rgw.{{ _rgw_hostname }}/keyring
 log file = /var/log/ceph/{{ cluster }}-rgw-{{ hostvars[host]['ansible_hostname'] }}.log
+{% if 'num_threads' not in radosgw_frontend_options %}
+rgw thread pool size = {{ radosgw_thread_pool_size }}
+{% endif %}
 {% if hostvars[host]['radosgw_address_block'] is defined and hostvars[host]['radosgw_address_block'] != 'subnet' %}
     {% if ip_version == 'ipv4' %}
 rgw frontends = {{ radosgw_frontend_type }} {{ 'port' if radosgw_frontend_type == 'civetweb' else 'endpoint' }}={{ hostvars[host]['ansible_all_' + ip_version + '_addresses'] | ipaddr(radosgw_address_block) | first }}:{{ radosgw_frontend_port }} {{ radosgw_frontend_options }}
index 61248157f7cc9c7d911f1f87a4f3510d11f3b3ed..f0a22e4719e25b959637ecec6e13e8b0f1ee5017 100644 (file)
@@ -378,17 +378,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: civetweb # For additional frontends see: http://docs.ceph.com/docs/mimic/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.
index 1c06b9c13b25f7dcb0d421c0653323ff5e14ccbd..ae92b6432b15c0429bc059f03c03e7e71c861ac6 100644 (file)
   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