]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
6 years agorgw: simplify RGWBucketCtl params with default arguments
Casey Bodley [Thu, 18 Jul 2019 20:55:42 +0000 (16:55 -0400)]
rgw: simplify RGWBucketCtl params with default arguments

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: simplify RGWUserCtl params with default arguments
Casey Bodley [Thu, 18 Jul 2019 20:14:21 +0000 (16:14 -0400)]
rgw: simplify RGWUserCtl params with default arguments

Params types needed to define a non-default constructor as a workaround
for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88165

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: make optional_yield explicit in RGWUserCtl interfaces
Casey Bodley [Thu, 18 Jul 2019 19:11:53 +0000 (15:11 -0400)]
rgw: make optional_yield explicit in RGWUserCtl interfaces

the purpose of null_yield is to highlight synchronous function calls so
they can be found with grep. having optional_yield parameters or member
variables that default to null_yield obscures these synchronous calls,
so optional_yield arguments should be an explicit part of interfaces

moved optional_yield out of RGWUserCtl's various Param types, and
updated all callers to pass in null_yield (except for a few cases where
the caller had access to a valid one)

Signed-off-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: fixes following rebase
Yehuda Sadeh [Sun, 14 Jul 2019 19:42:19 +0000 (12:42 -0700)]
rgw: fixes following rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agocommon/static_ptr.h: add include guard
Yehuda Sadeh [Fri, 14 Jun 2019 18:29:12 +0000 (11:29 -0700)]
common/static_ptr.h: add include guard

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc_meta_be: add missing header
Yehuda Sadeh [Fri, 12 Jul 2019 19:25:22 +0000 (12:25 -0700)]
rgw: svc_meta_be: add missing header

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agocommon/ptr_wrapper: a pointer wrapper with id
Yehuda Sadeh [Wed, 5 Jun 2019 00:47:32 +0000 (17:47 -0700)]
common/ptr_wrapper: a pointer wrapper with id

Can be used to enforce strong typing.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agocommon: add optional_ref_default<>
Yehuda Sadeh [Sat, 4 May 2019 01:12:21 +0000 (18:12 -0700)]
common: add optional_ref_default<>

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.mdlog: init oldest log period only if we're syncing
Yehuda Sadeh [Wed, 3 Jul 2019 17:56:43 +0000 (10:56 -0700)]
rgw: svc.mdlog: init oldest log period only if we're syncing

Need to diffrerentiate between need to sync and actually syncing. Zone might need
to sync, but we're running in radosgw-admin and we don't actually sync.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: list_prefixed_objs() callback: don't take substring
Yehuda Sadeh [Wed, 3 Jul 2019 15:58:42 +0000 (08:58 -0700)]
rgw: list_prefixed_objs() callback: don't take substring

We already get the substring as input, don't do it again.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: rgw_bucket_parse_bucket_instance returns bucket instance and not key
Yehuda Sadeh [Wed, 3 Jul 2019 03:11:42 +0000 (20:11 -0700)]
rgw: rgw_bucket_parse_bucket_instance returns bucket instance and not key

rgw_bucket_parse_bucket_instance() was returning a meta key, e.g., bucket:instance
and not just 'instance'. This caused issue when using read_bucket_instance_info().
Adjusted other users of this function, now that api changed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.user: call meta_be->put() and not ->put_entry()
Yehuda Sadeh [Tue, 2 Jul 2019 22:27:44 +0000 (15:27 -0700)]
rgw: svc.user: call meta_be->put() and not ->put_entry()

put_entry() doesn't write to mdlog.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: use period object for period history init, explicit constructor
Yehuda Sadeh [Tue, 2 Jul 2019 22:25:27 +0000 (15:25 -0700)]
rgw: use period object for period history init, explicit constructor

Was passing the period id (string) which triggered implicit construction
of the period object. Instead pass the period object itself and make
constructor explicit to avoid future similar issues.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: relax bucket meta instance parsing
Yehuda Sadeh [Fri, 28 Jun 2019 22:32:01 +0000 (15:32 -0700)]
rgw: relax bucket meta instance parsing

allow both [tenant/]bucket:instance and [tenant:]bucket:instance

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: a few initialization fixes
Yehuda Sadeh [Fri, 28 Jun 2019 22:01:45 +0000 (15:01 -0700)]
rgw: a few initialization fixes

Was passing wrong variable in constructor initialization, renamed
handler member name to avoid future confusion.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: silence log message
Yehuda Sadeh [Fri, 28 Jun 2019 22:00:43 +0000 (15:00 -0700)]
rgw: silence log message

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: remove ep_objv field from RGWBucketInfo
Yehuda Sadeh [Fri, 28 Jun 2019 19:55:35 +0000 (12:55 -0700)]
rgw: remove ep_objv field from RGWBucketInfo

This field was only initialized if we also read the bucket entrypoint,
which is not always the case. Added ep objv_tracker field on req_state
instead, and changed logic in delete_bucket() to make sure we do
the right thing.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: binfo_cache: keep entries by both bucket name and bucket instance
Yehuda Sadeh [Thu, 27 Jun 2019 21:07:47 +0000 (14:07 -0700)]
rgw: binfo_cache: keep entries by both bucket name and bucket instance

So that requests to read_bucket_instance_info() could be satisfied through
cache.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: remove unneeded warning
Yehuda Sadeh [Thu, 27 Jun 2019 16:51:44 +0000 (09:51 -0700)]
rgw: remove unneeded warning

No need to pass mtime there

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: add missing cache_info param
Yehuda Sadeh [Thu, 27 Jun 2019 16:29:20 +0000 (09:29 -0700)]
rgw: add missing cache_info param

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: add pool to uinfo cache keys
Yehuda Sadeh [Wed, 26 Jun 2019 20:22:37 +0000 (13:22 -0700)]
rgw: add pool to uinfo cache keys

To differentiate between the different uinfo cache indexes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: remove unused field from struct rgw_bucket
Yehuda Sadeh [Wed, 26 Jun 2019 20:13:50 +0000 (13:13 -0700)]
rgw: remove unused field from struct rgw_bucket

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: code cleanup
Yehuda Sadeh [Wed, 26 Jun 2019 19:26:19 +0000 (12:26 -0700)]
rgw: code cleanup

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: propagate sysobj_ctx to required bucket meta calls
Yehuda Sadeh [Wed, 26 Jun 2019 19:17:15 +0000 (12:17 -0700)]
rgw: propagate sysobj_ctx to required bucket meta calls

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.meta_be: propagate backend ctx params
Yehuda Sadeh [Wed, 26 Jun 2019 17:34:19 +0000 (10:34 -0700)]
rgw: svc.meta_be: propagate backend ctx params

This is needed so that we can provide a backend-specific params from
the top level. For example in the current case we need in some cases
to be able to provide a sysobj_ctx that will be used instead of a
newly generated one. The layers in between don't need to know about
the backend specifics.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta: remove #warning
Yehuda Sadeh [Tue, 25 Jun 2019 23:01:20 +0000 (16:01 -0700)]
rgw: meta: remove #warning

No need for fetching attrs, these could be read via the get() if meta
object has pattrs set (happens in the RGWBucketEntryMetadataObject case).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: remove unused code
Yehuda Sadeh [Tue, 25 Jun 2019 22:55:40 +0000 (15:55 -0700)]
rgw: remove unused code

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: fix user_ctl->read_info_by_access_key()
Yehuda Sadeh [Thu, 20 Jun 2019 00:34:29 +0000 (17:34 -0700)]
rgw: fix user_ctl->read_info_by_access_key()

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more metadata related initialization fixes
Yehuda Sadeh [Thu, 20 Jun 2019 00:21:49 +0000 (17:21 -0700)]
rgw: more metadata related initialization fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: metadata handlers init fixes
Yehuda Sadeh [Wed, 19 Jun 2019 22:32:07 +0000 (15:32 -0700)]
rgw: metadata handlers init fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: initialization fixes
Yehuda Sadeh [Wed, 19 Jun 2019 03:49:02 +0000 (20:49 -0700)]
rgw: initialization fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: unitests and other tools fixes
Yehuda Sadeh [Wed, 19 Jun 2019 02:04:02 +0000 (19:04 -0700)]
rgw: unitests and other tools fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw-admin: api fixes
Yehuda Sadeh [Wed, 19 Jun 2019 01:47:15 +0000 (18:47 -0700)]
rgw-admin: api fixes

rgw-admin now compiles

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: resurrect metadata mutate
Yehuda Sadeh [Wed, 19 Jun 2019 01:44:25 +0000 (18:44 -0700)]
rgw: resurrect metadata mutate

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: resurrect metadata mutate
Yehuda Sadeh [Wed, 19 Jun 2019 01:44:25 +0000 (18:44 -0700)]
rgw: resurrect metadata mutate

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more api fixes
Yehuda Sadeh [Tue, 18 Jun 2019 23:34:04 +0000 (16:34 -0700)]
rgw: more api fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: api fixes and adjustments
Yehuda Sadeh [Tue, 18 Jun 2019 22:31:12 +0000 (15:31 -0700)]
rgw: api fixes and adjustments

radosgw compiles

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta handler provides shard id info of meta key
Yehuda Sadeh [Tue, 18 Jun 2019 03:48:34 +0000 (20:48 -0700)]
rgw: meta handler provides shard id info of meta key

In the future we should maybe look into providing this info differently,
and without exposing data representation in this layer, but for now
it will do.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: RGWBucket::link() update
Yehuda Sadeh [Tue, 18 Jun 2019 02:57:11 +0000 (19:57 -0700)]
rgw: RGWBucket::link() update

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agosvc: add ctl.user->read_stats_async() and use it instead of old api
Yehuda Sadeh [Tue, 18 Jun 2019 02:18:05 +0000 (19:18 -0700)]
svc: add ctl.user->read_stats_async() and use it instead of old api

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: fix pool initialization
Yehuda Sadeh [Tue, 18 Jun 2019 02:17:06 +0000 (19:17 -0700)]
rgw: fix pool initialization

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: use stl.user->read_stats() instead of cls_user_get_header()
Yehuda Sadeh [Tue, 18 Jun 2019 01:35:42 +0000 (18:35 -0700)]
rgw: use stl.user->read_stats() instead of cls_user_get_header()

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.datalog_rados: add new svc, move data_log out of RGWRados
Yehuda Sadeh [Sat, 15 Jun 2019 03:21:20 +0000 (20:21 -0700)]
rgw: svc.datalog_rados: add new svc, move data_log out of RGWRados

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: rgw_rados.cc mostly compiles
Yehuda Sadeh [Sat, 15 Jun 2019 02:33:46 +0000 (19:33 -0700)]
rgw: rgw_rados.cc mostly compiles

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more api adjustments
Yehuda Sadeh [Wed, 12 Jun 2019 04:12:32 +0000 (21:12 -0700)]
rgw: more api adjustments

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.bilog: move more functionality in
Yehuda Sadeh [Wed, 12 Jun 2019 00:22:17 +0000 (17:22 -0700)]
rgw: svc.bilog: move more functionality in

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: add svc.bilog_rados
Yehuda Sadeh [Tue, 11 Jun 2019 22:07:04 +0000 (15:07 -0700)]
rgw: add svc.bilog_rados

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.bucket: adding missing files
Yehuda Sadeh [Tue, 11 Jun 2019 19:37:53 +0000 (12:37 -0700)]
rgw: svc.bucket: adding missing files

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.bucket: split into svc.bucket, svc.bucket_sobj
Yehuda Sadeh [Tue, 11 Jun 2019 19:36:25 +0000 (12:36 -0700)]
rgw: svc.bucket: split into svc.bucket, svc.bucket_sobj

separate abstraction and implementation for clearer intention

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: fixes following api changes
Yehuda Sadeh [Tue, 11 Jun 2019 00:49:58 +0000 (17:49 -0700)]
rgw: fixes following api changes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: ctl.bucket: add read_bucket_info()
Yehuda Sadeh [Tue, 11 Jun 2019 00:49:50 +0000 (17:49 -0700)]
rgw: ctl.bucket: add read_bucket_info()

if bucket_id is not specified then try to read entrypoint first.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: move bucket overwrite code to common path
Yehuda Sadeh [Fri, 7 Jun 2019 22:26:32 +0000 (15:26 -0700)]
rgw: move bucket overwrite code to common path

In order to do that needed to make sure we have the old_info
and identify overwrites. Moved the bilog and data log related overwrite
handlers into svc.bucket, and also the bucket meta handler now
implements put_checked() and not using the generic sobj call.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: update otp meta handler, add a new otp svc
Yehuda Sadeh [Fri, 7 Jun 2019 02:06:23 +0000 (19:06 -0700)]
rgw: update otp meta handler, add a new otp svc

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.be: don't alloc get params, use lambda
Yehuda Sadeh [Thu, 6 Jun 2019 21:31:19 +0000 (14:31 -0700)]
rgw: svc.be: don't alloc get params, use lambda

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: RGWRados::lock_exclusive, ::unlock now being handled at svc.cls
Yehuda Sadeh [Thu, 6 Jun 2019 00:33:50 +0000 (17:33 -0700)]
rgw: RGWRados::lock_exclusive, ::unlock now being handled at svc.cls

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: fixes following api changes
Yehuda Sadeh [Thu, 6 Jun 2019 00:01:01 +0000 (17:01 -0700)]
rgw: fixes following api changes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: timelog goes into svc.cls.timelog
Yehuda Sadeh [Wed, 5 Jun 2019 23:43:05 +0000 (16:43 -0700)]
rgw: timelog goes into svc.cls.timelog

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: move async rados processor insnace into svc.rados
Yehuda Sadeh [Wed, 5 Jun 2019 22:03:15 +0000 (15:03 -0700)]
rgw: move async rados processor insnace into svc.rados

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta_be, bucket: meta be context can be strongly typed
Yehuda Sadeh [Wed, 5 Jun 2019 00:49:18 +0000 (17:49 -0700)]
rgw: meta_be, bucket: meta be context can be strongly typed

When passing around the ctx for higher level non-generic functionality
it is better to have a strongly typed context. This is especially important
in the bucket entrypoint and bucket instance case where we can accidentally
confuse the two. There were cases where we created one and used it where
the other one was needed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more compilation fixes
Yehuda Sadeh [Tue, 4 Jun 2019 18:42:48 +0000 (11:42 -0700)]
rgw: more compilation fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more compilation fixes
Yehuda Sadeh [Tue, 4 Jun 2019 18:42:48 +0000 (11:42 -0700)]
rgw: more compilation fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: api adjustments and other issues fixed
Yehuda Sadeh [Fri, 31 May 2019 21:51:27 +0000 (14:51 -0700)]
rgw: api adjustments and other issues fixed

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: fix meta handlers initialization
Yehuda Sadeh [Fri, 31 May 2019 21:50:52 +0000 (14:50 -0700)]
rgw: fix meta handlers initialization

Split alloc into alloc + init, so that we don't need to get all the params
through the sync module.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: move mdlog related functionality to the be_sobj impl
Yehuda Sadeh [Fri, 31 May 2019 21:49:01 +0000 (14:49 -0700)]
rgw: move mdlog related functionality to the be_sobj impl

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: bucket: metadata handler, fix put
Yehuda Sadeh [Fri, 31 May 2019 00:20:53 +0000 (17:20 -0700)]
rgw: bucket: metadata handler, fix put

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: acl: api adjustments
Yehuda Sadeh [Fri, 31 May 2019 00:20:32 +0000 (17:20 -0700)]
rgw: acl: api adjustments

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: move a lot of cls_user utility methods into svc_user
Yehuda Sadeh [Thu, 30 May 2019 22:45:27 +0000 (15:45 -0700)]
rgw: move a lot of cls_user utility methods into svc_user

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc: new bucket index service
Yehuda Sadeh [Tue, 28 May 2019 23:04:28 +0000 (16:04 -0700)]
rgw: svc: new bucket index service

Currently only specialized and incomplete rados version.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc_rados: keep ioctx on the pool
Yehuda Sadeh [Tue, 28 May 2019 22:51:36 +0000 (15:51 -0700)]
rgw: svc_rados: keep ioctx on the pool

and rgw_rados_ref now holds Pool and not IoCtx directly.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: adding missing files
Yehuda Sadeh [Mon, 13 May 2019 18:24:49 +0000 (11:24 -0700)]
rgw: adding missing files

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more refactoring work
Yehuda Sadeh [Sat, 11 May 2019 00:25:05 +0000 (17:25 -0700)]
rgw: more refactoring work

a lot went into this, geting closer to have both user and bucket stuff
adapted to the new system. Will need to create a new bucket index service
to deal with its management (init, stat, etc.).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.user_rados: split svc.user
Yehuda Sadeh [Fri, 10 May 2019 22:10:16 +0000 (15:10 -0700)]
rgw: svc.user_rados: split svc.user

Need to have rados specific implementation: use of cls_user

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta listing: adapt to new system
Yehuda Sadeh [Thu, 9 May 2019 00:35:08 +0000 (17:35 -0700)]
rgw: meta listing: adapt to new system

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: rgw_bucket: move more code into ctl
Yehuda Sadeh [Wed, 8 May 2019 02:03:29 +0000 (19:03 -0700)]
rgw: rgw_bucket: move more code into ctl

Also some work on the handlers list operations (which can now be done
through the meta backend).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.sysobj: implement paged object listing
Yehuda Sadeh [Wed, 8 May 2019 01:57:14 +0000 (18:57 -0700)]
rgw: svc.sysobj: implement paged object listing

This was missing. Also modify svc_sys_obj.h to avoid direct reference
to svc_sys_obj_core.h, other than what's needed for using ceph::static_ptr --
which we use to avoid extra allocation.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: ctl.bucket: move [un]link bucket into ctl
Yehuda Sadeh [Mon, 6 May 2019 21:03:28 +0000 (14:03 -0700)]
rgw: ctl.bucket: move [un]link bucket into ctl

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more work towards updated bucket meta interfaces
Yehuda Sadeh [Sat, 4 May 2019 01:14:08 +0000 (18:14 -0700)]
rgw: more work towards updated bucket meta interfaces

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: use optional method params
Yehuda Sadeh [Sat, 4 May 2019 01:12:40 +0000 (18:12 -0700)]
rgw: use optional method params

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: ctl.bucket: implement bucket ctl utilities
Yehuda Sadeh [Thu, 2 May 2019 21:56:58 +0000 (14:56 -0700)]
rgw: ctl.bucket: implement bucket ctl utilities

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc.bucket: reimplement
Yehuda Sadeh [Mon, 29 Apr 2019 22:53:54 +0000 (15:53 -0700)]
rgw: svc.bucket: reimplement

Have svc.bucket do only the low level storage functionality. Next
will need to have helpers that use these (similar to what was done
for users).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta_be: provide a backend handler
Yehuda Sadeh [Sat, 27 Apr 2019 02:51:10 +0000 (19:51 -0700)]
rgw: meta_be: provide a backend handler

RGW_MetaBackend_Handler can create a backend context. It is created
for each backend user (meta handler).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc_user adjustments
Yehuda Sadeh [Fri, 26 Apr 2019 19:38:48 +0000 (12:38 -0700)]
rgw: svc_user adjustments

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: rgw_user api adjustments
Yehuda Sadeh [Fri, 26 Apr 2019 19:27:04 +0000 (12:27 -0700)]
rgw: rgw_user api adjustments

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: trivial cleanups
Yehuda Sadeh [Fri, 26 Apr 2019 18:30:43 +0000 (11:30 -0700)]
rgw: trivial cleanups

in rgw_user.cc

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: consolidate some higher level apis into ctl structure
Yehuda Sadeh [Fri, 26 Apr 2019 01:06:05 +0000 (18:06 -0700)]
rgw: consolidate some higher level apis into ctl structure

Similar to svc, just for higher level apis.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more refactoring work
Yehuda Sadeh [Thu, 25 Apr 2019 23:32:44 +0000 (16:32 -0700)]
rgw: more refactoring work

notable changes are around user metadata. Create an api that uses
the service interface (that requires backend context) and use it
for higher level functions. Still a lot to do.

Following rebase, started modifying the internal meta apis to deal
with optional_yield param. Passing it from top level metadata handlers
and from ctls, all the way down to the services. However, since following
commit will introduce many more changes, this was only done for the
user apis.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more meta backend work
Yehuda Sadeh [Fri, 5 Apr 2019 00:05:33 +0000 (17:05 -0700)]
rgw: more meta backend work

and a lot of compilation fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta put: revise
Yehuda Sadeh [Thu, 28 Mar 2019 16:22:40 +0000 (09:22 -0700)]
rgw: meta put: revise

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: bucket and user meta: implement higher level service utils
Yehuda Sadeh [Tue, 26 Mar 2019 07:27:13 +0000 (00:27 -0700)]
rgw: bucket and user meta: implement higher level service utils

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: meta_be_sobj interface changes and adapt otp, bucket meta handlers
Yehuda Sadeh [Wed, 20 Mar 2019 14:28:48 +0000 (07:28 -0700)]
rgw: meta_be_sobj interface changes and adapt otp, bucket meta handlers

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: start adapting otp metadata handler
Yehuda Sadeh [Sat, 16 Mar 2019 02:01:51 +0000 (19:01 -0700)]
rgw: start adapting otp metadata handler

and other changes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: move service_module init into svc.sync_modules
Yehuda Sadeh [Sat, 16 Mar 2019 00:38:45 +0000 (17:38 -0700)]
rgw: move service_module init into svc.sync_modules

So that it could be used now in svc.bucket without needing store.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: more progress with meta restructure
Yehuda Sadeh [Fri, 15 Mar 2019 23:31:20 +0000 (16:31 -0700)]
rgw: more progress with meta restructure

Getting closer, but not there yet

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: initial meta manager refactoring
Yehuda Sadeh [Fri, 8 Mar 2019 04:42:14 +0000 (20:42 -0800)]
rgw: initial meta manager refactoring

I didn't intend for it to be such a big commit, and it's not
even compiling yet. This changes the structure of how
the metadata manager and handlers work.
The idea is to be able to relatively easily hook in different
meta backends (or same backends with different handling -- such
as the otp).
Added new services for meta, meta backend, and meta backend sysobj
implementation.
The meta backend service is responsible for the final data storage,
and updating the meta log (log might be split later on, but at the
moment it keeping it together for simplicity).
The handlers themselves are the ones responsible for reading or
modifying the metadata. This means that they need to call the
meta backend service instead of calling the utility functions.
The utility functions need to call the handlers, and not the other
way around. Handlers can have utility methods to assist.

Left to do: get everything actually compiling and implemented. The
structure is there, now need to fill in the gaps.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc bucket: set bucket instance info
Yehuda Sadeh [Tue, 5 Mar 2019 20:07:24 +0000 (12:07 -0800)]
rgw: svc bucket: set bucket instance info

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: move helper code out of rgw_rados.cc
Yehuda Sadeh [Fri, 1 Mar 2019 23:50:20 +0000 (15:50 -0800)]
rgw: move helper code out of rgw_rados.cc

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: header cleanup
Yehuda Sadeh [Wed, 13 Feb 2019 00:31:47 +0000 (16:31 -0800)]
rgw: header cleanup

move implementation out of header.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: use bucket service for get_bucket_info
Yehuda Sadeh [Tue, 12 Feb 2019 20:38:06 +0000 (12:38 -0800)]
rgw: use bucket service for get_bucket_info

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: svc_bucket: initial work
Yehuda Sadeh [Tue, 12 Feb 2019 00:26:39 +0000 (16:26 -0800)]
rgw: svc_bucket: initial work

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
6 years agorgw: no need to pass in RGWRados to rgw_get_system_obj()
Yehuda Sadeh [Mon, 11 Feb 2019 23:34:21 +0000 (15:34 -0800)]
rgw: no need to pass in RGWRados to rgw_get_system_obj()

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>