Skip to content

Commit

Permalink
Merge pull request #41282 from cbodley/wip-rgw-rm-civetweb
Browse files Browse the repository at this point in the history
rgw: remove the civetweb and fcgi frontends
  • Loading branch information
mattbenjamin committed May 18, 2021
2 parents 3b653b3 + bf33951 commit 1627d6c
Show file tree
Hide file tree
Showing 37 changed files with 24 additions and 1,261 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
@@ -1,9 +1,6 @@
[submodule "ceph-object-corpus"]
path = ceph-object-corpus
url = https://github.com/ceph/ceph-object-corpus.git
[submodule "src/civetweb"]
path = src/civetweb
url = https://github.com/ceph/civetweb
[submodule "src/erasure-code/jerasure/jerasure"]
path = src/erasure-code/jerasure/jerasure
url = https://github.com/ceph/jerasure.git
Expand Down
5 changes: 0 additions & 5 deletions CMakeLists.txt
Expand Up @@ -409,18 +409,13 @@ endif()

#option for RGW
option(WITH_RADOSGW "Rados Gateway is enabled" ON)
option(WITH_RADOSGW_FCGI_FRONTEND "Rados Gateway's FCGI frontend is enabled" OFF)
option(WITH_RADOSGW_BEAST_FRONTEND "Rados Gateway's Beast frontend is enabled" ON)
option(WITH_RADOSGW_BEAST_OPENSSL "Rados Gateway's Beast frontend uses OpenSSL" ON)
option(WITH_RADOSGW_AMQP_ENDPOINT "Rados Gateway's pubsub support for AMQP push endpoint" ON)
option(WITH_RADOSGW_KAFKA_ENDPOINT "Rados Gateway's pubsub support for Kafka push endpoint" ON)
option(WITH_RADOSGW_LUA_PACKAGES "Rados Gateway's support for dynamically adding lua packagess" ON)

if(WITH_RADOSGW)
find_package(EXPAT REQUIRED)
if(WITH_RADOSGW_FCGI_FRONTEND)
find_package(fcgi REQUIRED)
endif()
find_package(OATH REQUIRED)

# https://curl.haxx.se/docs/install.html mentions the
Expand Down
20 changes: 0 additions & 20 deletions cmake/modules/Findfcgi.cmake

This file was deleted.

35 changes: 0 additions & 35 deletions doc/radosgw/config-ref.rst
Expand Up @@ -57,41 +57,6 @@ instances or all radosgw-admin options can be put into the ``[global]`` or the
:Default: ``10000``


``rgw_socket_path``

:Description: The socket path for the domain socket. ``FastCgiExternalServer``
uses this socket. If you do not specify a socket path, Ceph
Object Gateway will not run as an external server. The path you
specify here must be the same as the path specified in the
``rgw.conf`` file.

:Type: String
:Default: N/A

``rgw_fcgi_socket_backlog``

:Description: The socket backlog for fcgi.
:Type: Integer
:Default: ``1024``

``rgw_host``

:Description: The host for the Ceph Object Gateway instance. Can be an IP
address or a hostname.

:Type: String
:Default: ``0.0.0.0``


``rgw_port``

:Description: Port the instance listens for requests. If not specified,
Ceph Object Gateway runs external FastCGI.

:Type: String
:Default: None


``rgw_dns_name``

:Description: The DNS name of the served domain. See also the ``hostnames`` setting within regions.
Expand Down
80 changes: 0 additions & 80 deletions doc/radosgw/frontends.rst
Expand Up @@ -96,85 +96,6 @@ Options
:Default: ``65000``


Civetweb
========

.. versionadded:: Firefly
.. deprecated:: Pacific

The ``civetweb`` frontend uses the Civetweb HTTP library, which is a
fork of Mongoose.


Options
-------

``port``

:Description: Sets the listening port number. For SSL-enabled ports, add an
``s`` suffix like ``443s``. To bind a specific IPv4 or IPv6
address, use the form ``address:port``. Multiple endpoints
can either be separated by ``+`` as in ``127.0.0.1:8000+443s``,
or by providing multiple options as in ``port=8000 port=443s``.

:Type: String
:Default: ``7480``


``num_threads``

:Description: Sets the number of threads spawned by Civetweb to handle
incoming HTTP connections. This effectively limits the number
of concurrent connections that the frontend can service.

:Type: Integer
:Default: ``rgw_thread_pool_size``


``request_timeout_ms``

:Description: The amount of time in milliseconds that Civetweb will wait
for more incoming data before giving up.

:Type: Integer
:Default: ``30000``


``ssl_certificate``

:Description: Path to the SSL certificate file used for SSL-enabled ports.

:Type: String
:Default: None

``access_log_file``

:Description: Path to a file for access logs. Either full path, or relative
to the current working directory. If absent (default), then
accesses are not logged.

:Type: String
:Default: ``EMPTY``


``error_log_file``

:Description: Path to a file for error logs. Either full path, or relative
to the current working directory. If absent (default), then
errors are not logged.

:Type: String
:Default: ``EMPTY``


The following is an example of the ``/etc/ceph/ceph.conf`` file with some of these options set: ::
[client.rgw.gateway-node1]
rgw_frontends = civetweb request_timeout_ms=30000 error_log_file=/var/log/radosgw/civetweb.error.log access_log_file=/var/log/radosgw/civetweb.access.log

A complete list of supported options can be found in the `Civetweb User Manual`_.


Generic Options
===============

Expand All @@ -190,5 +111,4 @@ Some frontend options are generic and supported by all frontends:
:Default: None


.. _Civetweb User Manual: https://civetweb.github.io/civetweb/UserManual.html
.. _Config Reference: ../config-ref
30 changes: 0 additions & 30 deletions doc/start/rgw.conf

This file was deleted.

3 changes: 0 additions & 3 deletions qa/rgw_frontend/civetweb.yaml

This file was deleted.

1 change: 1 addition & 0 deletions qa/suites/rgw/multifs/frontend
1 change: 0 additions & 1 deletion qa/suites/rgw/multifs/frontend/.qa

This file was deleted.

1 change: 0 additions & 1 deletion qa/suites/rgw/multifs/frontend/civetweb.yaml

This file was deleted.

1 change: 1 addition & 0 deletions qa/suites/rgw/singleton/frontend
1 change: 0 additions & 1 deletion qa/suites/rgw/singleton/frontend/.qa

This file was deleted.

1 change: 0 additions & 1 deletion qa/suites/rgw/singleton/frontend/civetweb.yaml

This file was deleted.

8 changes: 0 additions & 8 deletions qa/suites/rgw/thrash/civetweb.yaml

This file was deleted.

1 change: 1 addition & 0 deletions qa/suites/rgw/thrash/frontend
1 change: 0 additions & 1 deletion qa/suites/smoke/basic/tasks/test/rgw_ec_s3tests.yaml
Expand Up @@ -2,7 +2,6 @@ overrides:
rgw:
ec-data-pool: true
cache-pools: true
frontend: civetweb
tasks:
- ceph:
- rgw: [client.0]
Expand Down
@@ -1,4 +1,4 @@
# this runs s3tests against rgw, using civetweb
# this runs s3tests against rgw
roles:
- [mon.a, mon.c, osd.0, osd.1, osd.2, client.0]
- [mon.b, mgr.x, osd.3, osd.4, osd.5, client.1]
Expand All @@ -21,4 +21,3 @@ overrides:
rgw lc debug interval: 10
rgw:
ec-data-pool: false
frontend: civetweb
7 changes: 2 additions & 5 deletions qa/tasks/rgw.py
Expand Up @@ -69,10 +69,7 @@ def start_rgw(ctx, config, clients):
if endpoint.cert:
# add the ssl certificate path
frontends += ' ssl_certificate={}'.format(endpoint.cert.certificate)
if ctx.rgw.frontend == 'civetweb':
frontends += ' port={}s'.format(endpoint.port)
else:
frontends += ' ssl_port={}'.format(endpoint.port)
frontends += ' ssl_port={}'.format(endpoint.port)
else:
frontends += ' port={}'.format(endpoint.port)

Expand Down Expand Up @@ -370,7 +367,7 @@ def task(ctx, config):
ctx.rgw.ec_data_pool = bool(config.pop('ec-data-pool', False))
ctx.rgw.erasure_code_profile = config.pop('erasure_code_profile', {})
ctx.rgw.cache_pools = bool(config.pop('cache-pools', False))
ctx.rgw.frontend = config.pop('frontend', 'civetweb')
ctx.rgw.frontend = config.pop('frontend', 'beast')
ctx.rgw.compression_type = config.pop('compression type', None)
ctx.rgw.storage_classes = config.pop('storage classes', None)
default_cert = config.pop('ssl certificate', None)
Expand Down
24 changes: 0 additions & 24 deletions src/CMakeLists.txt
Expand Up @@ -878,31 +878,7 @@ endif(WITH_KVS)

if(WITH_RADOSGW)
add_subdirectory(libkmip)

set(civetweb_common_files civetweb/src/civetweb.c)
add_library(civetweb_common_objs OBJECT ${civetweb_common_files})
target_include_directories(civetweb_common_objs SYSTEM PRIVATE
"${CMAKE_SOURCE_DIR}/src/civetweb/include")
set_property(TARGET civetweb_common_objs
APPEND PROPERTY COMPILE_DEFINITIONS USE_IPV6=1)
if (LIBSSL_SONAME)
set_property(TARGET civetweb_common_objs
APPEND PROPERTY COMPILE_DEFINITIONS SSL_LIB="${LIBSSL_SONAME}")
set_property(TARGET civetweb_common_objs
APPEND PROPERTY COMPILE_DEFINITIONS CRYPTO_LIB="${LIBCRYPTO_SONAME}")
endif()

if (OPENSSL_FOUND)
# Use cmake to determine openssl version, a TODO is to make
# civetweb itself do this based on openssl_api_compat strings
if (NOT (OPENSSL_VERSION VERSION_LESS "1.1"))
message(STATUS "Setting civetweb to use OPENSSL >= 1.1")
set_property(TARGET civetweb_common_objs
APPEND PROPERTY COMPILE_DEFINITIONS OPENSSL_API_1_1=1)
endif()
endif(OPENSSL_FOUND)
add_subdirectory(rgw)

endif(WITH_RADOSGW)

install(FILES
Expand Down
1 change: 0 additions & 1 deletion src/civetweb
Submodule civetweb deleted from bb99e9
43 changes: 0 additions & 43 deletions src/common/options/rgw.yaml.in
Expand Up @@ -262,35 +262,6 @@ options:
see_also:
- rgw_cache_enabled
with_legacy: true
- name: rgw_socket_path
type: str
level: advanced
desc: RGW FastCGI socket path (for FastCGI over Unix domain sockets).
services:
- rgw
see_also:
- rgw_fcgi_socket_backlog
with_legacy: true
- name: rgw_host
type: str
level: advanced
desc: RGW FastCGI host name (for FastCGI over TCP)
services:
- rgw
see_also:
- rgw_port
- rgw_fcgi_socket_backlog
with_legacy: true
- name: rgw_port
type: str
level: basic
desc: RGW FastCGI port number (for FastCGI over TCP)
services:
- rgw
see_also:
- rgw_host
- rgw_fcgi_socket_backlog
with_legacy: true
- name: rgw_dns_name
type: str
level: advanced
Expand Down Expand Up @@ -1332,20 +1303,6 @@ options:
- rgw_enable_ops_log
- rgw_ops_log_socket_path
with_legacy: true
# socket backlog for fcgi
- name: rgw_fcgi_socket_backlog
type: int
level: advanced
desc: FastCGI socket connection backlog
long_desc: 'Size of FastCGI connection backlog. This reflects the maximum number
of new connection requests that RGW can handle concurrently without dropping any. '
default: 1024
services:
- rgw
see_also:
- rgw_host
- rgw_socket_path
with_legacy: true
- name: rgw_usage_log_flush_threshold
type: int
level: advanced
Expand Down
6 changes: 0 additions & 6 deletions src/include/config-h.in.cmake
Expand Up @@ -157,15 +157,9 @@
/* define if radosgw enabled */
#cmakedefine WITH_RADOSGW

/* define if radosgw enabled */
#cmakedefine WITH_RADOSGW_FCGI_FRONTEND

/* define if leveldb is enabled */
#cmakedefine WITH_LEVELDB

/* define if radosgw's beast frontend enabled */
#cmakedefine WITH_RADOSGW_BEAST_FRONTEND

/* define if radosgw has openssl support */
#cmakedefine WITH_CURL_OPENSSL

Expand Down

0 comments on commit 1627d6c

Please sign in to comment.