]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agorgw-admin: Adds option --shard-id to help.t 382/head
Christophe Courtaut [Tue, 2 Jul 2013 13:27:02 +0000 (15:27 +0200)]
rgw-admin: Adds option --shard-id to help.t

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
12 years agorgw: admin: Add --shard-id option to help
Christophe Courtaut [Thu, 27 Jun 2013 09:14:33 +0000 (11:14 +0200)]
rgw: admin: Add --shard-id option to help

http://tracker.ceph.com/issues/5324 fixes #5324
Explains operations dependency,
which is more important than the semantic.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
12 years agorgw: metadata, data logs can be turned on / off
Yehuda Sadeh [Mon, 1 Jul 2013 18:42:23 +0000 (11:42 -0700)]
rgw: metadata, data logs can be turned on / off

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: modify RGWBucketInfo::creation_time encoding / decoding
Yehuda Sadeh [Mon, 1 Jul 2013 18:01:39 +0000 (11:01 -0700)]
rgw: modify RGWBucketInfo::creation_time encoding / decoding

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: end-marker serves as last value, not as upperbound
Yehuda Sadeh [Sun, 30 Jun 2013 04:00:05 +0000 (21:00 -0700)]
rgw: end-marker serves as last value, not as upperbound

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: relax marker requirements for log apis
Yehuda Sadeh [Sun, 30 Jun 2013 03:59:34 +0000 (20:59 -0700)]
rgw: relax marker requirements for log apis

Don't require start-time, start-marker.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: update log APIs to use markers
Yehuda Sadeh [Sun, 30 Jun 2013 01:50:13 +0000 (18:50 -0700)]
rgw: update log APIs to use markers

a few APIs were missing markers, fixed that.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: cls_log_entry has id field
Yehuda Sadeh [Sun, 30 Jun 2013 01:21:15 +0000 (18:21 -0700)]
rgw: cls_log_entry has id field

The id field can be used as the marker for log list / trim
operations.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMakefile.am: some more makefile rules fixes
Yehuda Sadeh [Sat, 29 Jun 2013 23:17:59 +0000 (16:17 -0700)]
Makefile.am: some more makefile rules fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: date string parsing also parses seconds fraction
Yehuda Sadeh [Sat, 29 Jun 2013 23:13:15 +0000 (16:13 -0700)]
rgw: date string parsing also parses seconds fraction

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix cli test
Yehuda Sadeh [Sat, 29 Jun 2013 22:28:15 +0000 (15:28 -0700)]
rgw: fix cli test

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMakefile.am: add missing rule
Yehuda Sadeh [Sat, 29 Jun 2013 22:28:01 +0000 (15:28 -0700)]
Makefile.am: add missing rule

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: initialize sent_header in RGWOp_Opstate_List
Yehuda Sadeh [Fri, 28 Jun 2013 21:47:43 +0000 (14:47 -0700)]
rgw: initialize sent_header in RGWOp_Opstate_List

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw-admin: restructure replicalog commands
Yehuda Sadeh [Fri, 28 Jun 2013 20:17:26 +0000 (13:17 -0700)]
rgw-admin: restructure replicalog commands

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge remote-tracking branch 'enovance/wip-rgw-geo-2-opstate' into wip-rgw-geo-2
Yehuda Sadeh [Fri, 28 Jun 2013 18:26:30 +0000 (11:26 -0700)]
Merge remote-tracking branch 'enovance/wip-rgw-geo-2-opstate' into wip-rgw-geo-2

Conflicts:
src/Makefile.am
src/rgw/rgw_admin.cc
src/rgw/rgw_common.h

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: don't remove bucket index when removing a bucket
Yehuda Sadeh [Fri, 28 Jun 2013 06:21:51 +0000 (23:21 -0700)]
rgw: don't remove bucket index when removing a bucket

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: bilog list by bucket instance (RESTful api)
Yehuda Sadeh [Fri, 28 Jun 2013 06:12:09 +0000 (23:12 -0700)]
rgw: bilog list by bucket instance (RESTful api)

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoceph_json: reset values
Yehuda Sadeh [Fri, 28 Jun 2013 03:17:42 +0000 (20:17 -0700)]
ceph_json: reset values

Call the default constructor if entry not found. Also,
reset containers before inserting new data.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: user param in access key is not manadatory
Yehuda Sadeh [Fri, 28 Jun 2013 03:17:17 +0000 (20:17 -0700)]
rgw: user param in access key is not manadatory

for json decoding

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: advance ptr when sending data
Yehuda Sadeh [Fri, 28 Jun 2013 02:48:27 +0000 (19:48 -0700)]
rgw: advance ptr when sending data

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agochanges to accomodate review comments on previous version
Babu Shanmugam [Thu, 27 Jun 2013 14:40:28 +0000 (20:10 +0530)]
changes to accomodate review comments on previous version

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
12 years agorgw: fix regionmap json decoding
Yehuda Sadeh [Thu, 27 Jun 2013 05:39:07 +0000 (22:39 -0700)]
rgw: fix regionmap json decoding

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: automatic pool creation for placement pools
Yehuda Sadeh [Wed, 26 Jun 2013 05:55:53 +0000 (22:55 -0700)]
rgw: automatic pool creation for placement pools

With the new pools configuration, now we auto create the
pools when needed (through bucket creation). Also, make
sure only to configure default placement in zone structure,
if old config hasn't been done yet.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: remove test placement info
Yehuda Sadeh [Wed, 26 Jun 2013 03:06:45 +0000 (20:06 -0700)]
rgw: remove test placement info

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw (test): remove some warnings
Yehuda Sadeh [Wed, 26 Jun 2013 02:18:51 +0000 (19:18 -0700)]
rgw (test): remove some warnings

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: initialize user system flag
Yehuda Sadeh [Wed, 26 Jun 2013 00:59:37 +0000 (17:59 -0700)]
rgw: initialize user system flag

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: log in the same shard for bucket entry point and instance
Yehuda Sadeh [Tue, 25 Jun 2013 22:30:44 +0000 (15:30 -0700)]
rgw: log in the same shard for bucket entry point and instance

We'd like to have bucket entry point and instance info at the same
log shard, so that we can process them in order.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: unlink/link don't always update entry point
Yehuda Sadeh [Tue, 25 Jun 2013 21:59:49 +0000 (14:59 -0700)]
rgw: unlink/link don't always update entry point

Some operations already update the entry point, so no
need to do it again.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: tie metadata put to bucket link/unlink
Yehuda Sadeh [Tue, 25 Jun 2013 21:00:59 +0000 (14:00 -0700)]
rgw: tie metadata put to bucket link/unlink

and lot's of constifying

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_rgw: cleanup
Yehuda Sadeh [Tue, 25 Jun 2013 21:00:45 +0000 (14:00 -0700)]
cls_rgw: cleanup

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: some more internal api cleanups
Yehuda Sadeh [Tue, 25 Jun 2013 19:56:25 +0000 (12:56 -0700)]
rgw: some more internal api cleanups

Use of rgw_bucket when referring to the bucket instance,
use bucket name when referring to the bucket entry point.
Also, remove bucket input param where not needed (internally
was using the bucket structure from the bucket info).

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: unlink bucket from user on metadata rm bucket:< bucket>
Yehuda Sadeh [Tue, 25 Jun 2013 19:19:17 +0000 (12:19 -0700)]
rgw: unlink bucket from user on metadata rm bucket:< bucket>

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fixes to object versioning tracking
Yehuda Sadeh [Tue, 25 Jun 2013 18:09:19 +0000 (11:09 -0700)]
rgw: fixes to object versioning tracking

There are a few different cases for setting the object version.
Either we need to create a new version, or we need to set the
version provided (one metadata put). We also need to make sure
that we log the correct previous version of the object. This
commit fixes a few cases.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: filter read xattrs
Yehuda Sadeh [Tue, 25 Jun 2013 18:05:15 +0000 (11:05 -0700)]
rgw: filter read xattrs

We're only interested in object xattrs that have specific rgw.user
prefix.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: add str_startswith()
Yehuda Sadeh [Tue, 25 Jun 2013 18:03:12 +0000 (11:03 -0700)]
rgw: add str_startswith()

useful util

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_ver: rename version xattr, add some more logging
Yehuda Sadeh [Tue, 25 Jun 2013 17:36:00 +0000 (10:36 -0700)]
cls_ver: rename version xattr, add some more logging

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: multiple fixes related to metadata, bucket creation
Yehuda Sadeh [Tue, 25 Jun 2013 06:43:50 +0000 (23:43 -0700)]
rgw: multiple fixes related to metadata, bucket creation

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: bucket entry point contains owner, other fix
Yehuda Sadeh [Tue, 25 Jun 2013 00:27:34 +0000 (17:27 -0700)]
rgw: bucket entry point contains owner, other fix

We now keep the owner at the bucket entry point. Also, reading
bucket info at RGWCreateBucket::execute(), because previous changes
has made it so that we didn't have the required bucket info
initialized there.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoopstate RESTful API implementation with unit test application
Babu Shanmugam [Mon, 24 Jun 2013 13:24:32 +0000 (18:54 +0530)]
opstate RESTful API implementation with unit test application

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
12 years agorgw: add a system request param to select op bucket instance
Yehuda Sadeh [Mon, 24 Jun 2013 06:18:44 +0000 (23:18 -0700)]
rgw: add a system request param to select op bucket instance

Added rgwx-bucket-instance request param that selects the actual bucket
instance to use for this request.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: data log contains bucket instance info in key
Yehuda Sadeh [Mon, 24 Jun 2013 05:34:24 +0000 (22:34 -0700)]
rgw: data log contains bucket instance info in key

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: format bucket.instance meta entries nicely
Yehuda Sadeh [Mon, 24 Jun 2013 04:44:05 +0000 (21:44 -0700)]
rgw: format bucket.instance meta entries nicely

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: use new instance handler for bucket operations
Yehuda Sadeh [Mon, 24 Jun 2013 04:16:14 +0000 (21:16 -0700)]
rgw: use new instance handler for bucket operations

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: create meta handler for bucket instance
Yehuda Sadeh [Mon, 24 Jun 2013 04:00:00 +0000 (21:00 -0700)]
rgw: create meta handler for bucket instance

Create utility functions for reading writing bucket entry
point and bucket instance. Add a separate meta handler for
bucket instance.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: put_bucket_info() uses objv_tracker in bucket info
Yehuda Sadeh [Mon, 24 Jun 2013 02:42:17 +0000 (19:42 -0700)]
rgw: put_bucket_info() uses objv_tracker in bucket info

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: keep objv_tracker on bucket info
Yehuda Sadeh [Mon, 24 Jun 2013 01:52:39 +0000 (18:52 -0700)]
rgw: keep objv_tracker on bucket info

This ties it to the specific object instance info.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: refactor policy reading
Yehuda Sadeh [Sun, 23 Jun 2013 22:38:09 +0000 (15:38 -0700)]
rgw: refactor policy reading

reuse bucket info, no need to reread it again.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix policy read
Yehuda Sadeh [Sun, 23 Jun 2013 20:39:13 +0000 (13:39 -0700)]
rgw: fix policy read

policy reading used to have exact same logic for both buckets
and objects, however, we now need to read bucket attributes
through get_bucket_info().

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: init member variable
Yehuda Sadeh [Sun, 23 Jun 2013 20:12:59 +0000 (13:12 -0700)]
rgw: init member variable

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: encode bucket info only after setting a flag
Yehuda Sadeh [Sun, 23 Jun 2013 20:12:26 +0000 (13:12 -0700)]
rgw: encode bucket info only after setting a flag

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: initial work to separate bucket name and instance
Yehuda Sadeh [Sun, 23 Jun 2013 05:47:48 +0000 (22:47 -0700)]
rgw: initial work to separate bucket name and instance

Bucket info now resides in an instance specific object. The
old bucket info object now contains a pointer to the new
instance.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: initialize system flag in RGWUserInfo
Yehuda Sadeh [Sun, 23 Jun 2013 08:15:10 +0000 (01:15 -0700)]
rgw: initialize system flag in RGWUserInfo

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: various object put processor fixes
Yehuda Sadeh [Sun, 23 Jun 2013 08:04:24 +0000 (01:04 -0700)]
rgw: various object put processor fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix broken obj put
Yehuda Sadeh [Sun, 23 Jun 2013 06:26:55 +0000 (23:26 -0700)]
rgw: fix broken obj put

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: handle bucket creation with specified placement pool
Yehuda Sadeh [Sat, 22 Jun 2013 03:54:28 +0000 (20:54 -0700)]
rgw: handle bucket creation with specified placement pool

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: user configuration for bucket placement
Yehuda Sadeh [Fri, 21 Jun 2013 23:16:47 +0000 (16:16 -0700)]
rgw: user configuration for bucket placement

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: data structures for new data/index placement rules
Yehuda Sadeh [Fri, 21 Jun 2013 23:06:51 +0000 (16:06 -0700)]
rgw: data structures for new data/index placement rules

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: make replica log object name configurable
Yehuda Sadeh [Fri, 21 Jun 2013 18:53:49 +0000 (11:53 -0700)]
rgw: make replica log object name configurable

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoRGWReplicaBucketLogger: store bucket replica logs in the .logs pool
Greg Farnum [Fri, 21 Jun 2013 18:33:44 +0000 (11:33 -0700)]
RGWReplicaBucketLogger: store bucket replica logs in the .logs pool

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agoMerge branch 'wip-rgw-geo-2' into wip-rgw-geo
Yehuda Sadeh [Fri, 21 Jun 2013 17:53:48 +0000 (10:53 -0700)]
Merge branch 'wip-rgw-geo-2' into wip-rgw-geo

Conflicts:
src/test/cli/radosgw-admin/help.t

12 years agorgw: buffer atomic put handler
Yehuda Sadeh [Fri, 21 Jun 2013 04:29:05 +0000 (21:29 -0700)]
rgw: buffer atomic put handler

Since we tied the atomic put handler to libcurl output
data, which uses much smaller chunks, we need to buffer
data, otherwise we'd end up with a huge amount of small
writes.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: tie opstate into intra-region copy operations
Yehuda Sadeh [Fri, 21 Jun 2013 00:01:25 +0000 (17:01 -0700)]
rgw: tie opstate into intra-region copy operations

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'wip-rgw-geo-enovance' into wip-rgw-geo-2
Yehuda Sadeh [Thu, 20 Jun 2013 21:42:17 +0000 (14:42 -0700)]
Merge branch 'wip-rgw-geo-enovance' into wip-rgw-geo-2

12 years agofixup "radosgw-admin: new commands to look at and clean up replica logs"
Greg Farnum [Thu, 20 Jun 2013 20:41:10 +0000 (13:41 -0700)]
fixup "radosgw-admin: new commands to look at and clean up replica logs"

12 years agoradosgw-admin: new commands to look at and clean up replica logs
Greg Farnum [Thu, 20 Jun 2013 18:08:50 +0000 (11:08 -0700)]
radosgw-admin: new commands to look at and clean up replica logs

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agocls_replica_log: integrate with RGWRados
Greg Farnum [Thu, 20 Jun 2013 18:01:01 +0000 (11:01 -0700)]
cls_replica_log: integrate with RGWRados

We introduce an implementation class RGWReplicaLogger, and two user
classes RGWReplicaObjectLogger (for the data/metadata logs) and
RGWReplicaBucketLogger (for the bucket logs).

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agocls_replica_log: add tests.
Greg Farnum [Tue, 18 Jun 2013 20:41:18 +0000 (13:41 -0700)]
cls_replica_log: add tests.

We do several good updates, a bad update, a good delete,
a bad delete, several good gets, and a bad get.

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agocls_replica_log: add client with user documentation
Greg Farnum [Tue, 18 Jun 2013 18:56:28 +0000 (11:56 -0700)]
cls_replica_log: add client with user documentation

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agocls_replica_log: add the actual class
Greg Farnum [Tue, 18 Jun 2013 00:32:29 +0000 (17:32 -0700)]
cls_replica_log: add the actual class

This class can be applied to any object, and will keep track of
the bounds, matching times, and matching sets of in-progress items.
We're about to add a cls_replica_log_client that will provide a friendly
user interface and provide more documentation.

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agocls_replica_log: add ops for new class
Greg Farnum [Fri, 14 Jun 2013 23:28:07 +0000 (16:28 -0700)]
cls_replica_log: add ops for new class

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agocls_replica_log: add types for new class
Greg Farnum [Fri, 14 Jun 2013 23:27:14 +0000 (16:27 -0700)]
cls_replica_log: add types for new class

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agorgw: lock related modifications
Babu Shanmugam [Tue, 18 Jun 2013 10:36:36 +0000 (16:06 +0530)]
rgw: lock related modifications

1. zone-id inclusion in lock/unlock for mdlog and datalog
2. renewal of lock if the locker request lock again
3. modified lock_id param to locker-id

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
Conflicts:
src/rgw/rgw_rest_log.cc

12 years agorgw: add max-entries, marker for log operations
Babu Shanmugam [Thu, 13 Jun 2013 02:27:45 +0000 (07:57 +0530)]
rgw: add max-entries, marker for log operations

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
Conflicts:
src/rgw/rgw_admin.cc
src/rgw/rgw_rest_log.cc

12 years agoradosgw_admin: fixup cli test
Greg Farnum [Thu, 20 Jun 2013 18:07:05 +0000 (11:07 -0700)]
radosgw_admin: fixup cli test

Signed-off-by: Greg Farnum <greg@inktank.com>
12 years agotest: update cli test
Yehuda Sadeh [Mon, 17 Jun 2013 17:53:21 +0000 (10:53 -0700)]
test: update cli test

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_rgw: skip namespaced entries when listing bucket
Yehuda Sadeh [Thu, 20 Jun 2013 03:19:39 +0000 (20:19 -0700)]
cls_rgw: skip namespaced entries when listing bucket

We added a namespace to the entries, and sadly there can be
valid entries beyond it. Previously we assumed that once we
encounter the namespace tag we're done. That was wrong. We
need to skip the namespace and continue the listing from
there.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoradosgw-admin: interface to control ops state
Yehuda Sadeh [Wed, 19 Jun 2013 06:03:13 +0000 (23:03 -0700)]
radosgw-admin: interface to control ops state

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: OpState internal api
Yehuda Sadeh [Wed, 19 Jun 2013 06:02:05 +0000 (23:02 -0700)]
rgw: OpState internal api

Add new higher level functions to set, renew, list, and remove
logged operation state.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix check_state call
Yehuda Sadeh [Wed, 19 Jun 2013 06:01:30 +0000 (23:01 -0700)]
rgw: fix check_state call

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: specialized obj zone copy state for statelog
Yehuda Sadeh [Wed, 19 Jun 2013 03:45:42 +0000 (20:45 -0700)]
rgw: specialized obj zone copy state for statelog

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: internal api for statelog objclass
Yehuda Sadeh [Wed, 19 Jun 2013 03:07:20 +0000 (20:07 -0700)]
rgw: internal api for statelog objclass

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: pass in timestamp
Yehuda Sadeh [Tue, 18 Jun 2013 23:28:20 +0000 (16:28 -0700)]
cls_statelog: pass in timestamp

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: improve unitest
Yehuda Sadeh [Tue, 18 Jun 2013 22:14:07 +0000 (15:14 -0700)]
cls_statelog: improve unitest

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: fix a few issues
Yehuda Sadeh [Tue, 18 Jun 2013 22:13:43 +0000 (15:13 -0700)]
cls_statelog: fix a few issues

Issues that came up when developed the unitest

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: handle racing default region creation
Yehuda Sadeh [Tue, 18 Jun 2013 18:28:21 +0000 (11:28 -0700)]
rgw: handle racing default region creation

If region is not specified and there's no default region set
we try to create a default region. However, we may race with
another process trying to do the same, so we should handle
that gracefully.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agotest: test for cls_statelog
Yehuda Sadeh [Tue, 18 Jun 2013 07:04:46 +0000 (00:04 -0700)]
test: test for cls_statelog

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: fixes
Yehuda Sadeh [Tue, 18 Jun 2013 07:04:25 +0000 (00:04 -0700)]
cls_statelog: fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: add client api functions
Yehuda Sadeh [Tue, 18 Jun 2013 04:06:42 +0000 (21:06 -0700)]
cls_statelog: add client api functions

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: fixes and changes to api
Yehuda Sadeh [Tue, 18 Jun 2013 04:06:19 +0000 (21:06 -0700)]
cls_statelog: fixes and changes to api

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agocls_statelog: introducing new objclass to handle state tracking
Yehuda Sadeh [Tue, 18 Jun 2013 03:10:14 +0000 (20:10 -0700)]
cls_statelog: introducing new objclass to handle state tracking

Somewhat similar to the log objclass, but uses different data for
indexing. Also keeps a dual index. In general an entry has 3
identifiers:
 - object: the object id on which the operation is made
 - client_id: client's unique identifier
 - op_id: operation's unique identifier

An entry is indexed by both client_id+op_id, and by
object+op_id, make it possible to list operations
either by client_id, or by object id.
We also keep state per each entry and the new check_state request
can be used as a guard.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: move a couple of unitests to a different Makefile rule
Yehuda Sadeh [Tue, 18 Jun 2013 01:08:29 +0000 (18:08 -0700)]
rgw: move a couple of unitests to a different Makefile rule

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: object mtime the same for both object and bucket index
Yehuda Sadeh [Tue, 18 Jun 2013 00:41:41 +0000 (17:41 -0700)]
rgw: object mtime the same for both object and bucket index

Make sure object mtime that's passed to bucket index is the
same as the one set on the object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix inter-region copy (ofs wasn't correct)
Yehuda Sadeh [Tue, 18 Jun 2013 00:14:22 +0000 (17:14 -0700)]
rgw: fix inter-region copy (ofs wasn't correct)

Fixing an issue with data read. Since inter-region copy uses
embedded metadata within the data input, we need to fix the ofs
accordingly.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: intra-region copy, preserve mtime
Yehuda Sadeh [Mon, 17 Jun 2013 22:39:11 +0000 (15:39 -0700)]
rgw: intra-region copy, preserve mtime

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: system user get obj returns JSON encoded metadata
Yehuda Sadeh [Mon, 17 Jun 2013 21:46:32 +0000 (14:46 -0700)]
rgw: system user get obj returns JSON encoded metadata

instead of binary encoded metadata

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: add 'delete' to signed subresources list
Yehuda Sadeh [Mon, 17 Jun 2013 18:07:41 +0000 (11:07 -0700)]
rgw: add 'delete' to signed subresources list

This fixes a regression that removed 'delete' from the signed
subresources list, thus made it impossible to authenticate
certain multipart object operations.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agotest: update cli test
Yehuda Sadeh [Mon, 17 Jun 2013 17:53:21 +0000 (10:53 -0700)]
test: update cli test

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: set default region as master
Yehuda Sadeh [Mon, 17 Jun 2013 17:51:25 +0000 (10:51 -0700)]
rgw: set default region as master

A default region that is automaticall created needs to be
set as the master.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: get / set user & bucket meta mtime
Yehuda Sadeh [Sun, 16 Jun 2013 05:06:33 +0000 (22:06 -0700)]
rgw: get / set user & bucket meta mtime

also update infrastructure to be able to set mtime on objects

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: preserve bucket creation time across different zones / regions
Yehuda Sadeh [Sun, 16 Jun 2013 01:41:21 +0000 (18:41 -0700)]
rgw: preserve bucket creation time across different zones / regions

Keep bucket creation time in RGWBucketInfo, and make use
of it where necessary.

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