]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
9 years agorgw: add rgwx-copy-if-newer http header
Yehuda Sadeh [Wed, 25 Mar 2015 03:16:02 +0000 (20:16 -0700)]
rgw: add rgwx-copy-if-newer http header

Similar to IF_MOD_SINCE, but does not take a time argument, and should
protected against races (not there yet).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: make rgw_user::empty() const
Yehuda Sadeh [Wed, 10 Feb 2016 19:41:58 +0000 (11:41 -0800)]
rgw: make rgw_user::empty() const

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: access zone.name, zonegroup_name through accessor
Yehuda Sadeh [Wed, 10 Feb 2016 19:37:38 +0000 (11:37 -0800)]
rgw: access zone.name, zonegroup_name through accessor

fix as part of a rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: dump internal object tag when system user lists bucket
Yehuda Sadeh [Tue, 10 Mar 2015 22:47:38 +0000 (15:47 -0700)]
rgw: dump internal object tag when system user lists bucket

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: system user can list bucket shard
Yehuda Sadeh [Tue, 10 Mar 2015 00:16:58 +0000 (17:16 -0700)]
rgw: system user can list bucket shard

By setting the HTTP-Rgwx-Shard-Id header to the shard id.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: get_bucket_stats() returns a plain marker if shard specified
Yehuda Sadeh [Sat, 7 Mar 2015 01:22:33 +0000 (17:22 -0800)]
rgw: get_bucket_stats() returns a plain marker if shard specified

E.g, will return 00001234 vs. 2#00001234 if shard 2 specified.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: bilog info can get shard id
Yehuda Sadeh [Sat, 7 Mar 2015 00:40:07 +0000 (16:40 -0800)]
rgw: bilog info can get shard id

We would like to be able to get bilog info by shard if needed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix uninitialized variable
Yehuda Sadeh [Tue, 15 Sep 2015 18:19:02 +0000 (11:19 -0700)]
rgw: fix uninitialized variable

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move more code
Yehuda Sadeh [Tue, 15 Sep 2015 00:09:58 +0000 (17:09 -0700)]
rgw: move more code

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: trivial fix
Yehuda Sadeh [Tue, 15 Sep 2015 00:06:19 +0000 (17:06 -0700)]
rgw: trivial fix

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: use internal wait instead of special coroutine
Yehuda Sadeh [Tue, 15 Sep 2015 00:03:01 +0000 (17:03 -0700)]
rgw: use internal wait instead of special coroutine

Instead of using a special coroutine that spawns a separate thread
and waits on a condition, use the internal coroutine stack wait.
This is useful since it since we limit the number of IO threads
we spawn.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: coroutine stack wait util
Yehuda Sadeh [Mon, 14 Sep 2015 23:37:36 +0000 (16:37 -0700)]
rgw: coroutine stack wait util

Instead of using a separate coroutine for waiting on
a condition.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move more code around
Yehuda Sadeh [Mon, 14 Sep 2015 22:02:06 +0000 (15:02 -0700)]
rgw: move more code around

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: move code around
Yehuda Sadeh [Mon, 14 Sep 2015 21:19:34 +0000 (14:19 -0700)]
rgw: move code around

move code from rgw_sync.cc to rgw_cr_rados.{h,cc}

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: rearrange full metadata sync order
Yehuda Sadeh [Fri, 11 Sep 2015 23:21:40 +0000 (16:21 -0700)]
rgw: rearrange full metadata sync order

Users need to exist before their buckets, better have bucket instances
before bucket entry points

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: trivial fixes
Yehuda Sadeh [Fri, 11 Sep 2015 15:45:54 +0000 (08:45 -0700)]
rgw: trivial fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix shutdown
Yehuda Sadeh [Fri, 11 Sep 2015 00:53:01 +0000 (17:53 -0700)]
rgw: fix shutdown

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: http client req handling fixes
Yehuda Sadeh [Fri, 11 Sep 2015 00:31:03 +0000 (17:31 -0700)]
rgw: http client req handling fixes

The error buffer for the async requests was on the stack, and not
on the request structure. Some other use after free and locking fixes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: wake up appropriate shard sync handler
Yehuda Sadeh [Wed, 9 Sep 2015 01:41:43 +0000 (18:41 -0700)]
rgw: wake up appropriate shard sync handler

When receiving notification about modified shard, wake up the appropriate handler

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: a few sync thread init/finalization fixes
Yehuda Sadeh [Tue, 8 Sep 2015 22:58:38 +0000 (15:58 -0700)]
rgw: a few sync thread init/finalization fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: run and stop sync thread
Yehuda Sadeh [Tue, 8 Sep 2015 22:24:16 +0000 (15:24 -0700)]
rgw: run and stop sync thread

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: simple thread base class
Yehuda Sadeh [Tue, 8 Sep 2015 21:39:09 +0000 (14:39 -0700)]
rgw: simple thread base class

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: decode mdlog notification shards
Yehuda Sadeh [Sat, 5 Sep 2015 00:23:21 +0000 (17:23 -0700)]
rgw: decode mdlog notification shards

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: send mdlog changes notifications to zones
Yehuda Sadeh [Sat, 5 Sep 2015 00:12:18 +0000 (17:12 -0700)]
rgw: send mdlog changes notifications to zones

Will probably need to rework this, as it is now zones may interfere
with each other which is not optimal.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add simple POST requests interfaces
Yehuda Sadeh [Sat, 5 Sep 2015 00:11:52 +0000 (17:11 -0700)]
rgw: add simple POST requests interfaces

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoceph_json: add json encoder / decoder for std::set
Yehuda Sadeh [Sat, 5 Sep 2015 00:11:05 +0000 (17:11 -0700)]
ceph_json: add json encoder / decoder for std::set

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: periodical thread that tracks mdlog changes
Yehuda Sadeh [Thu, 3 Sep 2015 23:02:10 +0000 (16:02 -0700)]
rgw: periodical thread that tracks mdlog changes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: handle mdlog post request
Yehuda Sadeh [Thu, 3 Sep 2015 22:20:24 +0000 (15:20 -0700)]
rgw: handle mdlog post request

with 'notify' subresource. Will be used later for handling notifications
about modified mdlog shards.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep track of modified mdlog shards
Yehuda Sadeh [Thu, 3 Sep 2015 22:19:46 +0000 (15:19 -0700)]
rgw: keep track of modified mdlog shards

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: create the first period when creating a new realm
Orit Wasserman [Tue, 15 Sep 2015 13:59:21 +0000 (15:59 +0200)]
rgw: create the first period when creating a new realm

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add zone add command
Orit Wasserman [Tue, 15 Sep 2015 10:30:22 +0000 (12:30 +0200)]
rgw: Add zone add command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: allow creating a zone without a zone group
Orit Wasserman [Tue, 15 Sep 2015 09:19:23 +0000 (11:19 +0200)]
radosgw-admin: allow creating a zone without a zone group

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add master flag to zonegroup create command
Orit Wasserman [Mon, 14 Sep 2015 15:13:26 +0000 (17:13 +0200)]
rgw: add master flag to zonegroup create command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: period pull supports --url
Casey Bodley [Mon, 14 Sep 2015 20:01:15 +0000 (16:01 -0400)]
radosgw-admin: period pull supports --url

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agoradosgw-admin: fixes for period push/pull
Casey Bodley [Wed, 9 Sep 2015 14:56:31 +0000 (10:56 -0400)]
radosgw-admin: fixes for period push/pull

for send_to_remote_gateway() to work, the push and pull commands had to
be moved to the not-raw-storage section, because RGWRados::init_complete
is needed to set up the gateway connections

the period push command was changed to send the json-encoded period
data, so an in_data argument was added to send_to_remote_gateway()

the parameters for push and pull needed to remain separate from the
request_uri, because request_uri is used as input for the auth digest,
and the server side parses the parameters separately as well

Implements feature #11944

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: RGWRESTSimpleRequest::forward_request params
Casey Bodley [Fri, 11 Sep 2015 17:11:39 +0000 (13:11 -0400)]
rgw: RGWRESTSimpleRequest::forward_request params

forward_request() uses new_info.build_from(info) to initialize the new
request info. but this doesn't copy the RGWHTTPArgs, so any parameters
associated with info are dropped

it later uses new_info.args.get_params() to generate the params_str,
but no code in between adds any parameters to new_info. so use
info.args.get_params() instead to keep any parameters from the original
request info

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agocommon: expose Formatter::flush to derived classes
Casey Bodley [Wed, 9 Sep 2015 20:56:48 +0000 (16:56 -0400)]
common: expose Formatter::flush to derived classes

class Formatter declares both a 'virtual void flush(ostream&)' and a
'void flush(bufferlist&)'. however, because its subclasses only override
the former, c++'s function overloading rules cause the latter overload
to be hidden

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: POST /admin/realm/period reads in json data
Casey Bodley [Tue, 8 Sep 2015 20:12:10 +0000 (16:12 -0400)]
rgw: POST /admin/realm/period reads in json data

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: delay allocation of RGWPeriod
Casey Bodley [Tue, 8 Sep 2015 17:45:05 +0000 (13:45 -0400)]
rgw: delay allocation of RGWPeriod

RGWOp_Period_Get and _Post don't have a valid RGWRados pointer until
they get the init() call, so the constructors were passing NULL to
RGWPeriod

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: add handler for /admin/realm/period
Casey Bodley [Tue, 8 Sep 2015 15:41:26 +0000 (11:41 -0400)]
rgw: add handler for /admin/realm/period

the handler returns the existing RGWOp_Period_Get/Post ops from
rgw_rest_config.h

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: fixes for RGWZoneGroupMap::decode_json
Casey Bodley [Wed, 9 Sep 2015 20:44:16 +0000 (16:44 -0400)]
rgw: fixes for RGWZoneGroupMap::decode_json

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agoradosgw-admin: add realm set command
Casey Bodley [Wed, 9 Sep 2015 14:52:41 +0000 (10:52 -0400)]
radosgw-admin: add realm set command

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agoradosgw-admin: add json output to create commands
Casey Bodley [Tue, 8 Sep 2015 17:47:48 +0000 (13:47 -0400)]
radosgw-admin: add json output to create commands

Signed-off-by: Casey Bodley <cbodley@redhat.com>
9 years agorgw: fix period init and activate
Orit Wasserman [Fri, 11 Sep 2015 09:23:28 +0000 (11:23 +0200)]
rgw: fix period init and activate

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: update period predecessor when it is activated
Orit Wasserman [Wed, 9 Sep 2015 16:35:26 +0000 (18:35 +0200)]
rgw: update period predecessor when it is activated

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix realm list-periods
Orit Wasserman [Wed, 9 Sep 2015 16:20:28 +0000 (18:20 +0200)]
rgw: fix realm list-periods

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: realm id and epoch should be part of period oid
Orit Wasserman [Wed, 9 Sep 2015 12:53:40 +0000 (14:53 +0200)]
rgw: realm id and epoch should be part of period oid

fixes period get and activate command
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add realm list-periods command
Orit Wasserman [Wed, 9 Sep 2015 09:34:19 +0000 (11:34 +0200)]
rgw: Add realm list-periods command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: Add master_zonegroup and master_zone to period prepare
Orit Wasserman [Wed, 9 Sep 2015 08:54:47 +0000 (10:54 +0200)]
radosgw-admin: Add master_zonegroup and master_zone to period prepare

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: Add period list command
Orit Wasserman [Wed, 9 Sep 2015 08:40:01 +0000 (10:40 +0200)]
radosgw-admin: Add period list command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: print new perion in period perpare command
Orit Wasserman [Wed, 9 Sep 2015 07:59:05 +0000 (09:59 +0200)]
radosgw-admin: print new perion in period perpare command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix zone set command
Orit Wasserman [Tue, 8 Sep 2015 12:28:07 +0000 (14:28 +0200)]
rgw: fix zone set command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: remove debug messages
Orit Wasserman [Tue, 8 Sep 2015 11:33:52 +0000 (13:33 +0200)]
rgw: remove debug messages

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: default zone should not be master
Orit Wasserman [Tue, 8 Sep 2015 11:25:59 +0000 (13:25 +0200)]
rgw: default zone should not be master

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agoradosgw-admin: add zone create, delete and rename commands
Orit Wasserman [Mon, 7 Sep 2015 17:28:16 +0000 (19:28 +0200)]
radosgw-admin: add zone create, delete and rename commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: RGWZoneParams should inherit from RGWSystemMetaObj
Orit Wasserman [Mon, 7 Sep 2015 09:09:11 +0000 (11:09 +0200)]
rgw: RGWZoneParams should inherit from RGWSystemMetaObj

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: use id for master zone
Orit Wasserman [Mon, 7 Sep 2015 08:27:26 +0000 (10:27 +0200)]
rgw: use id for master zone

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add id to RGWZoneParams
Orit Wasserman [Mon, 7 Sep 2015 08:27:01 +0000 (10:27 +0200)]
rgw: add id to RGWZoneParams

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add RGWSystemMetaObj class
Orit Wasserman [Fri, 19 Jun 2015 13:21:55 +0000 (15:21 +0200)]
rgw: Add RGWSystemMetaObj class

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
Conflicts:
src/rgw/rgw_rados.cc

9 years agorgw-admin: adjustments to period get-current output
Yehuda Sadeh [Thu, 3 Sep 2015 20:27:58 +0000 (13:27 -0700)]
rgw-admin: adjustments to period get-current output

Make it output through the formatter

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw-admin: use default realm on realm get
Yehuda Sadeh [Thu, 3 Sep 2015 20:21:17 +0000 (13:21 -0700)]
rgw-admin: use default realm on realm get

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: pass const string reference
Yehuda Sadeh [Thu, 3 Sep 2015 18:35:05 +0000 (11:35 -0700)]
rgw: pass const string reference

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw-admin: fix realms list
Yehuda Sadeh [Thu, 3 Sep 2015 18:34:49 +0000 (11:34 -0700)]
rgw-admin: fix realms list

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix typo
Yehuda Sadeh [Thu, 3 Sep 2015 17:58:56 +0000 (10:58 -0700)]
rgw: fix typo

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: do the actual incremental metadata sync
Yehuda Sadeh [Thu, 3 Sep 2015 00:25:51 +0000 (17:25 -0700)]
rgw: do the actual incremental metadata sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: track mdlog marker
Yehuda Sadeh [Wed, 2 Sep 2015 23:22:23 +0000 (16:22 -0700)]
rgw: track mdlog marker

sync entries if the sync marker is < mdlog marker, otherwise
try to fetch more entries.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: don't force wait on blocked coroutines
Yehuda Sadeh [Wed, 2 Sep 2015 23:21:47 +0000 (16:21 -0700)]
rgw: don't force wait on blocked coroutines

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: fix busy wait in RGWHTTPManager
Yehuda Sadeh [Wed, 2 Sep 2015 21:50:31 +0000 (14:50 -0700)]
rgw: fix busy wait in RGWHTTPManager

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: sync local mdlog if needed
Yehuda Sadeh [Wed, 2 Sep 2015 20:09:44 +0000 (13:09 -0700)]
rgw: sync local mdlog if needed

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: wake up wait coroutine thread on destruction
Yehuda Sadeh [Wed, 2 Sep 2015 15:36:29 +0000 (08:36 -0700)]
rgw: wake up wait coroutine thread on destruction

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agoAdd zone create admin command - wip
Orit Wasserman [Tue, 14 Jul 2015 13:22:14 +0000 (15:22 +0200)]
Add zone create admin command - wip

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add id to RGWZone
Orit Wasserman [Thu, 3 Sep 2015 08:49:44 +0000 (10:49 +0200)]
rgw: add id to RGWZone

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: poll mdlog for incremental sync
Yehuda Sadeh [Wed, 2 Sep 2015 00:05:11 +0000 (17:05 -0700)]
rgw: poll mdlog for incremental sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read mdlog entries for incremental sync
Yehuda Sadeh [Tue, 1 Sep 2015 23:18:32 +0000 (16:18 -0700)]
rgw: read mdlog entries for incremental sync

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: get remote mdlog status when initializing
Yehuda Sadeh [Tue, 1 Sep 2015 03:50:54 +0000 (20:50 -0700)]
rgw: get remote mdlog status when initializing

Use that as the lowerbound for the meta marker when we start
the incremental sync.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: hash full sync keys to shards
Yehuda Sadeh [Tue, 1 Sep 2015 02:22:53 +0000 (19:22 -0700)]
rgw: hash full sync keys to shards

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: switch to incremental sync when done full meta sync
Yehuda Sadeh [Sat, 29 Aug 2015 02:27:06 +0000 (19:27 -0700)]
rgw: switch to incremental sync when done full meta sync

each shard need to collect the coroutines it spawned before continuing.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: update global sync state after building meta indexes
Yehuda Sadeh [Fri, 28 Aug 2015 20:35:44 +0000 (13:35 -0700)]
rgw: update global sync state after building meta indexes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: update meta sync markers during full sync operation
Yehuda Sadeh [Fri, 28 Aug 2015 18:52:08 +0000 (11:52 -0700)]
rgw: update meta sync markers during full sync operation

update marker per shard, keep a window so that we don't update after each change

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: add zonegroup name or id to zonegroup get and set commands
Orit Wasserman [Tue, 1 Sep 2015 12:30:38 +0000 (14:30 +0200)]
rgw: add zonegroup name or id to zonegroup get and set commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add zonegroup create, delete and rename admin commands
Orit Wasserman [Tue, 1 Sep 2015 11:03:11 +0000 (13:03 +0200)]
rgw: Add zonegroup create, delete and rename admin commands

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add period activate admin command and fix get current command
Orit Wasserman [Tue, 1 Sep 2015 10:38:39 +0000 (12:38 +0200)]
rgw: add period activate admin command and fix get current command

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add current_period to RGWRealm
Orit Wasserman [Tue, 1 Sep 2015 09:55:27 +0000 (11:55 +0200)]
rgw: add current_period to RGWRealm

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: RGWZoneGroup should inheirt from RGWSystemMetaObj
Orit Wasserman [Wed, 26 Aug 2015 14:43:49 +0000 (16:43 +0200)]
rgw: RGWZoneGroup should inheirt from RGWSystemMetaObj

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: Add old_format support to RGWSystemMetaObj
Orit Wasserman [Tue, 25 Aug 2015 13:05:13 +0000 (15:05 +0200)]
rgw: Add old_format support to RGWSystemMetaObj

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: add id to zonegroup
Orit Wasserman [Thu, 20 Aug 2015 10:07:20 +0000 (12:07 +0200)]
rgw: add id to zonegroup

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: remove region
Orit Wasserman [Thu, 20 Aug 2015 10:07:44 +0000 (12:07 +0200)]
rgw: remove region

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: change RGWZoneGroup::get_pool_name to return string
Orit Wasserman [Mon, 10 Aug 2015 16:19:02 +0000 (18:19 +0200)]
rgw: change RGWZoneGroup::get_pool_name to return string

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: convert old region configuration to zonegroups during init
Orit Wasserman [Fri, 7 Aug 2015 12:01:39 +0000 (14:01 +0200)]
rgw: convert old region configuration to zonegroups during init

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agofix ceph-dencoder link
Orit Wasserman [Thu, 27 Aug 2015 09:09:07 +0000 (11:09 +0200)]
fix ceph-dencoder link

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agocmake: add rgw_sync.cc and rgw_coroutine.cc
Orit Wasserman [Thu, 6 Aug 2015 15:40:03 +0000 (17:40 +0200)]
cmake: add rgw_sync.cc and rgw_coroutine.cc

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
9 years agorgw: fix async sleep and wakeup logic
Yehuda Sadeh [Sat, 15 Aug 2015 00:34:47 +0000 (17:34 -0700)]
rgw: fix async sleep and wakeup logic

lot's of cleanups and fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: full meta sync
Yehuda Sadeh [Tue, 25 Aug 2015 00:10:46 +0000 (17:10 -0700)]
rgw: full meta sync

need to handle errors, and update markers, but full meta sync is functional

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: naively fetch all meta objects
Yehuda Sadeh [Mon, 24 Aug 2015 21:49:28 +0000 (14:49 -0700)]
rgw: naively fetch all meta objects

doing it one by one, later will spawn these concurrently

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read remote meta coroutine
Yehuda Sadeh [Wed, 19 Aug 2015 00:14:05 +0000 (17:14 -0700)]
rgw: read remote meta coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: read full sync indexes
Yehuda Sadeh [Tue, 18 Aug 2015 23:41:55 +0000 (16:41 -0700)]
rgw: read full sync indexes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: modify sync state, sync run uses state
Yehuda Sadeh [Tue, 18 Aug 2015 21:18:53 +0000 (14:18 -0700)]
rgw: modify sync state, sync run uses state

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: coroutie for omap_get_vals()
Yehuda Sadeh [Tue, 18 Aug 2015 20:43:39 +0000 (13:43 -0700)]
rgw: coroutie for omap_get_vals()

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: keep track of spawned coroutines under the current op
Yehuda Sadeh [Tue, 18 Aug 2015 18:57:27 +0000 (11:57 -0700)]
rgw: keep track of spawned coroutines under the current op

instead of keeping a per-stack list of spawned coroutines, keep it
on the op that spawned it. Otherwise, we might spawn a cr, call a second
one that will spawn some crs, and when waiting for these to complete
it will also wait on the first one.
The list of spawned coroutines is inherited. Once a coroutine finishes
its parent will take over all the spawned ones that weren't collected.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
9 years agorgw: replace omap_set coroutine code
Yehuda Sadeh [Tue, 18 Aug 2015 00:13:13 +0000 (17:13 -0700)]
rgw: replace omap_set coroutine code

No need to use the async rados worker.

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