Skip to content

Commit df5c005

Browse files
authored
Merge pull request ceph#61850 from AliMasarweh/wip-alimasa-rgw-standalone
RGW/standalone: Build without RadosStore
2 parents ee55715 + 71799fb commit df5c005

27 files changed

+1642
-1640
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,7 @@ option(WITH_RADOSGW_MOTR "CORTX-Motr backend for RADOS Gateway" OFF)
559559
option(WITH_RADOSGW_DAOS "DAOS backend for RADOS Gateway" OFF)
560560
option(WITH_RADOSGW_D4N "D4N wrapper for RADOS Gateway" ON)
561561
option(WITH_RADOSGW_POSIX "POSIX backend for RADOS Gateway" ON)
562+
option(WITH_RADOSGW_RADOS "RADOS backend for Rados Gateway" ON)
562563
option(WITH_RADOSGW_SELECT_PARQUET "Support for s3 select on parquet objects" ON)
563564
option(WITH_RADOSGW_ARROW_FLIGHT "Build arrow flight when not using system-provided arrow" OFF)
564565
option(WITH_RADOSGW_BACKTRACE_LOGGING "Enable backtraces in rgw logs" OFF)

src/include/config-h.in.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,9 @@
366366
/* Backend POSIX for Rados Gateway */
367367
#cmakedefine WITH_RADOSGW_POSIX
368368

369+
/* Backend RADOS for Rados Gateway */
370+
#cmakedefine WITH_RADOSGW_RADOS
371+
369372
/* Defined if std::map::merge() is supported */
370373
#cmakedefine HAVE_STDLIB_MAP_SPLICING
371374

src/rgw/CMakeLists.txt

Lines changed: 98 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -34,26 +34,6 @@ endfunction()
3434
find_package(ICU 52.0 COMPONENTS uc REQUIRED)
3535

3636
set(librgw_common_srcs
37-
services/svc_finisher.cc
38-
services/svc_bi_rados.cc
39-
services/svc_bilog_rados.cc
40-
services/svc_bucket.cc
41-
services/svc_bucket_sobj.cc
42-
services/svc_bucket_sync_sobj.cc
43-
services/svc_cls.cc
44-
services/svc_config_key_rados.cc
45-
services/svc_mdlog.cc
46-
services/svc_notify.cc
47-
services/svc_quota.cc
48-
services/svc_sync_modules.cc
49-
services/svc_sys_obj.cc
50-
services/svc_sys_obj_cache.cc
51-
services/svc_sys_obj_core.cc
52-
services/svc_tier_rados.cc
53-
services/svc_user.cc
54-
services/svc_user_rados.cc
55-
services/svc_zone.cc
56-
services/svc_zone_utils.cc
5737
spdk/crc64.c
5838
madler/crc64nvme.c
5939
madler/crc32iso_hdlc.c
@@ -164,76 +144,97 @@ set(librgw_common_srcs
164144
rgw_dedup_cluster.cc
165145
rgw_data_access.cc
166146
rgw_realm_watcher.cc
167-
driver/rados/account.cc
168-
driver/rados/buckets.cc
169147
rgw_bucket_logging.cc
170148
rgw_rest_bucket_logging.cc
171-
driver/rados/group.cc
172-
driver/rados/groups.cc
173-
driver/rados/rgw_bucket.cc
174-
driver/rados/rgw_bucket_sync.cc
175-
driver/rados/rgw_cr_rados.cc
176-
driver/rados/rgw_cr_tools.cc
177-
driver/rados/rgw_d3n_datacache.cc
178-
driver/rados/rgw_datalog.cc
179-
driver/rados/rgw_datalog_notify.cc
180-
driver/rados/rgw_data_sync.cc
181-
driver/rados/rgw_etag_verifier.cc
182-
driver/rados/rgw_gc.cc
183-
driver/rados/rgw_gc_log.cc
184-
driver/rados/rgw_lc_tier.cc
185-
driver/rados/rgw_log_backing.cc
186-
driver/rados/rgw_metadata.cc
187-
driver/rados/rgw_notify.cc
188-
driver/rados/rgw_obj_manifest.cc
189-
driver/rados/rgw_object_expirer_core.cc
190-
driver/rados/rgw_otp.cc
191-
driver/rados/rgw_period.cc
192-
driver/rados/rgw_pubsub_push.cc
193-
driver/rados/rgw_putobj_processor.cc
194-
driver/rados/rgw_rados.cc
195-
driver/rados/rgw_reshard.cc
196-
driver/rados/rgw_rest_bucket.cc
197-
driver/rados/rgw_rest_log.cc
198-
driver/rados/rgw_rest_realm.cc
199-
driver/rados/rgw_rest_user.cc
200-
driver/rados/rgw_sal_rados.cc
201-
driver/rados/rgw_service.cc
202-
driver/rados/rgw_sync.cc
203-
driver/rados/rgw_sync_counters.cc
204-
driver/rados/rgw_sync_error_repo.cc
205-
driver/rados/rgw_sync_module.cc
206-
driver/rados/rgw_sync_module_aws.cc
207-
driver/rados/rgw_sync_module_es.cc
208-
driver/rados/rgw_sync_module_es_rest.cc
209-
driver/rados/rgw_sync_module_log.cc
210-
driver/rados/rgw_sync_trace.cc
211-
driver/rados/rgw_tools.cc
212-
driver/rados/rgw_trim_bilog.cc
213-
driver/rados/rgw_trim_datalog.cc
214-
driver/rados/rgw_trim_mdlog.cc
215-
driver/rados/rgw_user.cc
216-
driver/rados/rgw_zone.cc
217-
driver/rados/role.cc
218-
driver/rados/roles.cc
219-
driver/rados/sync_fairness.cc
220-
driver/rados/topic.cc
221-
driver/rados/topic_migration.cc
222-
driver/rados/topics.cc
223-
driver/rados/users.cc)
149+
rgw_bucket_sync.cc)
224150

225151
list(APPEND librgw_common_srcs
226152
driver/immutable_config/store.cc
227-
driver/json_config/store.cc
228-
driver/rados/config/impl.cc
229-
driver/rados/config/period.cc
230-
driver/rados/config/period_config.cc
231-
driver/rados/config/realm.cc
232-
driver/rados/config/realm_watcher.cc
233-
driver/rados/config/store.cc
234-
driver/rados/config/zone.cc
235-
driver/rados/config/zonegroup.cc)
153+
driver/json_config/store.cc)
236154

155+
if(WITH_RADOSGW_RADOS)
156+
list(APPEND librgw_common_srcs
157+
services/svc_finisher.cc
158+
services/svc_bi_rados.cc
159+
services/svc_bilog_rados.cc
160+
services/svc_bucket.cc
161+
services/svc_bucket_sobj.cc
162+
services/svc_bucket_sync_sobj.cc
163+
services/svc_cls.cc
164+
services/svc_config_key_rados.cc
165+
services/svc_mdlog.cc
166+
services/svc_notify.cc
167+
services/svc_quota.cc
168+
services/svc_sync_modules.cc
169+
services/svc_sys_obj.cc
170+
services/svc_sys_obj_cache.cc
171+
services/svc_sys_obj_core.cc
172+
services/svc_tier_rados.cc
173+
services/svc_user.cc
174+
services/svc_user_rados.cc
175+
services/svc_zone.cc
176+
services/svc_zone_utils.cc
177+
driver/rados/account.cc
178+
driver/rados/buckets.cc
179+
driver/rados/group.cc
180+
driver/rados/groups.cc
181+
driver/rados/rgw_bucket.cc
182+
driver/rados/rgw_cr_rados.cc
183+
driver/rados/rgw_cr_tools.cc
184+
driver/rados/rgw_d3n_datacache.cc
185+
driver/rados/rgw_datalog.cc
186+
driver/rados/rgw_datalog_notify.cc
187+
driver/rados/rgw_data_sync.cc
188+
driver/rados/rgw_etag_verifier.cc
189+
driver/rados/rgw_gc.cc
190+
driver/rados/rgw_gc_log.cc
191+
driver/rados/rgw_lc_tier.cc
192+
driver/rados/rgw_log_backing.cc
193+
driver/rados/rgw_metadata.cc
194+
driver/rados/rgw_notify.cc
195+
driver/rados/rgw_obj_manifest.cc
196+
driver/rados/rgw_object_expirer_core.cc
197+
driver/rados/rgw_otp.cc
198+
driver/rados/rgw_pubsub_push.cc
199+
driver/rados/rgw_putobj_processor.cc
200+
driver/rados/rgw_rados.cc
201+
driver/rados/rgw_reshard.cc
202+
driver/rados/rgw_rest_bucket.cc
203+
driver/rados/rgw_rest_log.cc
204+
driver/rados/rgw_rest_realm.cc
205+
driver/rados/rgw_rest_user.cc
206+
driver/rados/rgw_sal_rados.cc
207+
driver/rados/rgw_service.cc
208+
driver/rados/rgw_sync.cc
209+
driver/rados/rgw_sync_counters.cc
210+
driver/rados/rgw_sync_error_repo.cc
211+
driver/rados/rgw_sync_module.cc
212+
driver/rados/rgw_sync_module_aws.cc
213+
driver/rados/rgw_sync_module_es.cc
214+
driver/rados/rgw_sync_module_es_rest.cc
215+
driver/rados/rgw_sync_module_log.cc
216+
driver/rados/rgw_sync_trace.cc
217+
driver/rados/rgw_tools.cc
218+
driver/rados/rgw_trim_bilog.cc
219+
driver/rados/rgw_trim_datalog.cc
220+
driver/rados/rgw_trim_mdlog.cc
221+
driver/rados/rgw_user.cc
222+
driver/rados/role.cc
223+
driver/rados/roles.cc
224+
driver/rados/sync_fairness.cc
225+
driver/rados/topic.cc
226+
driver/rados/topic_migration.cc
227+
driver/rados/topics.cc
228+
driver/rados/users.cc
229+
driver/rados/config/impl.cc
230+
driver/rados/config/period.cc
231+
driver/rados/config/period_config.cc
232+
driver/rados/config/realm.cc
233+
driver/rados/config/realm_watcher.cc
234+
driver/rados/config/store.cc
235+
driver/rados/config/zone.cc
236+
driver/rados/config/zonegroup.cc)
237+
endif()
237238
if(WITH_RADOSGW_AMQP_ENDPOINT)
238239
list(APPEND librgw_common_srcs rgw_amqp.cc)
239240
endif()
@@ -410,10 +411,13 @@ set(rgw_a_srcs
410411
rgw_signal.cc
411412
rgw_swift_auth.cc
412413
rgw_usage.cc
413-
rgw_sts.cc
414-
driver/rados/rgw_rest_bucket.cc
415-
driver/rados/rgw_rest_log.cc
416-
driver/rados/rgw_rest_realm.cc)
414+
rgw_sts.cc)
415+
416+
if(WITH_RADOSGW_RADOS)
417+
list(APPEND rgw_a_srcs driver/rados/rgw_rest_bucket.cc
418+
driver/rados/rgw_rest_log.cc
419+
driver/rados/rgw_rest_realm.cc)
420+
endif()
417421

418422
gperf_generate(${CMAKE_SOURCE_DIR}/src/rgw/rgw_iam_policy_keywords.gperf
419423
rgw_iam_policy_keywords.frag.cc)
@@ -510,6 +514,7 @@ if(WITH_RADOSGW_ARROW_FLIGHT)
510514
list(APPEND radosgw_admin_srcs rgw_flight.cc)
511515
endif(WITH_RADOSGW_ARROW_FLIGHT)
512516

517+
if(WITH_RADOSGW_RADOS)
513518
add_executable(radosgw-admin ${radosgw_admin_srcs})
514519
target_link_libraries(radosgw-admin
515520
legacy-option-headers
@@ -520,14 +525,17 @@ target_link_libraries(radosgw-admin
520525
global ${LIB_RESOLV}
521526
OATH::OATH
522527
${CURL_LIBRARIES} ${EXPAT_LIBRARIES} ${BLKID_LIBRARIES})
528+
endif()
523529

524530
# this is unsatisfying and hopefully temporary; ARROW should not be
525531
# part of radosgw_admin
526532
if(WITH_RADOSGW_ARROW_FLIGHT)
527533
target_link_libraries(radosgw-admin ${ARROW_LIBRARIES} ${ARROW_FLIGHT_LIBRARIES})
528534
endif(WITH_RADOSGW_ARROW_FLIGHT)
529535

536+
if(WITH_RADOSGW_RADOS)
530537
install(TARGETS radosgw-admin DESTINATION bin)
538+
endif()
531539

532540
set(radosgw_es_srcs
533541
rgw_es_main.cc)
@@ -549,6 +557,7 @@ target_link_libraries(radosgw-token
549557
global)
550558
install(TARGETS radosgw-token DESTINATION bin)
551559

560+
if(WITH_RADOSGW_RADOS)
552561
set(radosgw_object_expirer_srcs
553562
rgw_object_expirer.cc)
554563
add_executable(radosgw-object-expirer ${radosgw_object_expirer_srcs})
@@ -559,6 +568,7 @@ target_link_libraries(radosgw-object-expirer ${rgw_libs} librados
559568
global ${LIB_RESOLV}
560569
${CURL_LIBRARIES} ${EXPAT_LIBRARIES})
561570
install(TARGETS radosgw-object-expirer DESTINATION bin)
571+
endif()
562572

563573
set(radosgw_polparser_srcs
564574
rgw_polparser.cc)

src/rgw/driver/dbstore/config/sqlite.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#include "common/random_string.h"
2828
#include "rgw_realm_watcher.h"
2929

30-
#include "driver/rados/rgw_zone.h" // FIXME: subclass dependency
30+
#include "rgw/rgw_zone.h"
3131

3232
#include "common/connection_pool.h"
3333
#include "sqlite/connection.h"

src/rgw/driver/rados/rgw_period.cc

Lines changed: 0 additions & 104 deletions
This file was deleted.

src/rgw/driver/rados/rgw_rest_realm.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ void RGWOp_Period_Post::execute(optional_yield y)
141141

142142
// if period id is empty, handle as 'period commit'
143143
if (period.get_id().empty()) {
144-
op_ret = rgw::commit_period(this, y, s->penv.cfgstore, driver, realm, *realm_writer, current_period, period, error_stream, false);
144+
op_ret = rgw::commit_period(this, y, s->penv.cfgstore, driver, realm, *realm_writer, current_period, period, error_stream, false, *s->penv.site);
145145
if (op_ret == -EEXIST) {
146146
op_ret = 0; // succeed on retries so the op is idempotent
147147
return;

0 commit comments

Comments
 (0)