]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
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>
12 years agorgw: show mtime for metadata entries
Yehuda Sadeh [Sat, 15 Jun 2013 23:55:13 +0000 (16:55 -0700)]
rgw: show mtime for metadata entries

currently only shows for buckets

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fixes for intra-zone object copy
Yehuda Sadeh [Sat, 15 Jun 2013 06:35:58 +0000 (23:35 -0700)]
rgw: fixes for intra-zone object copy

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: set bucket marker and bucket obj version from master
Yehuda Sadeh [Sat, 15 Jun 2013 05:58:08 +0000 (22:58 -0700)]
rgw: set bucket marker and bucket obj version from master

Make sure that bucket that's created gets the same marker as
the one that the master region generated. Also, for some reason
we weren't passing in the metadata obj version for the bucket.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: multiple changes for intra-zone object copy
Yehuda Sadeh [Sat, 15 Jun 2013 04:57:25 +0000 (21:57 -0700)]
rgw: multiple changes for intra-zone object copy

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: when setting bucket metadata key, don't override placement
Yehuda Sadeh [Sat, 15 Jun 2013 04:56:34 +0000 (21:56 -0700)]
rgw: when setting bucket metadata key, don't override placement

Bucket placement also contains data and index pools locations in
the source zone. However, we might be applying it on a different
zone, so we need to be careful not to use the source location here.
We generate a new placement if a new bucket is detected, otherwise
we keep the old one.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: forward amz headers of copy request to remote rgw
Yehuda Sadeh [Sat, 15 Jun 2013 01:20:41 +0000 (18:20 -0700)]
rgw: forward amz headers of copy request to remote rgw

So that if request has any special conditions, it'll be processed
on the remote gateway

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: cleanup, move init_meta_info() into req_info
Yehuda Sadeh [Sat, 15 Jun 2013 01:06:12 +0000 (18:06 -0700)]
rgw: cleanup, move init_meta_info() into req_info

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: remove unused variable
Yehuda Sadeh [Fri, 14 Jun 2013 22:39:57 +0000 (15:39 -0700)]
rgw: remove unused variable

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: bucket marker contains zone name
Yehuda Sadeh [Fri, 14 Jun 2013 22:01:33 +0000 (15:01 -0700)]
rgw: bucket marker contains zone name

(issue 5347)
We need this so that raw object names on different zones within
the same region don't collide.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: pass original object attrs through extra request data
Yehuda Sadeh [Fri, 14 Jun 2013 04:59:37 +0000 (21:59 -0700)]
rgw: pass original object attrs through extra request data

introduce a new mechanism that sends extra data with object
info, and use it to encode source object metadata.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: a few fixes to copy object across region
Yehuda Sadeh [Thu, 13 Jun 2013 06:59:49 +0000 (23:59 -0700)]
rgw: a few fixes to copy object across region

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: move most of object put processors implementation
Yehuda Sadeh [Thu, 13 Jun 2013 06:19:58 +0000 (23:19 -0700)]
rgw: move most of object put processors implementation

move code from rgw_op.cc to rgw_rados.cc, so that we could
use it in the lower layer.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: separate req_state from object put processors
Yehuda Sadeh [Thu, 13 Jun 2013 06:08:25 +0000 (23:08 -0700)]
rgw: separate req_state from object put processors

At least, for most of them. We'll move this code to rgw_rados.cc,
and we don't want it to have req_state.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: organize get_obj handling for copy a bit different
Yehuda Sadeh [Thu, 13 Jun 2013 05:39:15 +0000 (22:39 -0700)]
rgw: organize get_obj handling for copy a bit different

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: generate read request if source rgw is remote
Yehuda Sadeh [Thu, 13 Jun 2013 04:29:23 +0000 (21:29 -0700)]
rgw: generate read request if source rgw is remote

in a copy operation

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: propagate mtime from remote rgw on copy
Yehuda Sadeh [Wed, 12 Jun 2013 01:51:14 +0000 (18:51 -0700)]
rgw: propagate mtime from remote rgw on copy

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: propagate error from remote gateway when copying object
Yehuda Sadeh [Tue, 11 Jun 2013 17:43:08 +0000 (10:43 -0700)]
rgw: propagate error from remote gateway when copying object

Also make sure that we don't continue iterating locally through
the object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: pass grant headers to target when writeing object
Yehuda Sadeh [Tue, 11 Jun 2013 04:59:15 +0000 (21:59 -0700)]
rgw: pass grant headers to target when writeing object

When writing object to remote gateway.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: head acls target can be quoted
Yehuda Sadeh [Tue, 11 Jun 2013 04:58:02 +0000 (21:58 -0700)]
rgw: head acls target can be quoted

when passing x-amz-grant-* headers, the target (id, email,
group) may be quoted.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: send meta headers with remote PUT request
Yehuda Sadeh [Mon, 10 Jun 2013 21:27:36 +0000 (14:27 -0700)]
rgw: send meta headers with remote PUT request

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: don't busy wait for outgoing rest requests
Yehuda Sadeh [Mon, 10 Jun 2013 18:20:06 +0000 (11:20 -0700)]
rgw: don't busy wait for outgoing rest requests

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: don't send redirect if copy object has a local source
Yehuda Sadeh [Sat, 8 Jun 2013 05:16:17 +0000 (22:16 -0700)]
rgw: don't send redirect if copy object has a local source

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: link bucket to owner on metadata update
Yehuda Sadeh [Fri, 7 Jun 2013 01:50:57 +0000 (18:50 -0700)]
rgw: link bucket to owner on metadata update

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix logic related to operations on different region
Yehuda Sadeh [Fri, 7 Jun 2013 01:50:27 +0000 (18:50 -0700)]
rgw: fix logic related to operations on different region

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: minor logging change
Yehuda Sadeh [Thu, 6 Jun 2013 20:45:18 +0000 (13:45 -0700)]
rgw: minor logging change

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix json decoding for swift keys
Yehuda Sadeh [Thu, 6 Jun 2013 20:44:47 +0000 (13:44 -0700)]
rgw: fix json decoding for swift keys

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: stream obj into http request
Yehuda Sadeh [Thu, 6 Jun 2013 04:06:52 +0000 (21:06 -0700)]
rgw: stream obj into http request

still need to figure out curl handle polling, handle client
errors correctly.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: format put request auth
Yehuda Sadeh [Tue, 4 Jun 2013 03:25:10 +0000 (20:25 -0700)]
rgw: format put request auth

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: bucket metadata, ignore ENOENT on put
Yehuda Sadeh [Tue, 4 Jun 2013 02:31:03 +0000 (19:31 -0700)]
rgw: bucket metadata, ignore ENOENT on put

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: skeleton for obj copy across regions
Yehuda Sadeh [Tue, 4 Jun 2013 02:22:38 +0000 (19:22 -0700)]
rgw: skeleton for obj copy across regions

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: metadata lock/unlock implemented with test cases
Babu Shanmugam [Fri, 7 Jun 2013 03:14:26 +0000 (08:44 +0530)]
rgw: metadata lock/unlock implemented with test cases

metadata lock/unlock implemented with test cases
split Post operations to Lock and Unlock operations, and
checking for WRITE permission only for lock and unlock

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

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoRESTful APIs for data changes log implemented with test cases
Babu Shanmugam [Mon, 3 Jun 2013 06:38:12 +0000 (12:08 +0530)]
RESTful APIs for data changes log implemented with test cases

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
12 years agorgw: some user metadata fixes
Yehuda Sadeh [Fri, 31 May 2013 21:35:49 +0000 (14:35 -0700)]
rgw: some user metadata fixes

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw_admin: modify mdlog functionality
Yehuda Sadeh [Fri, 31 May 2013 19:30:52 +0000 (12:30 -0700)]
rgw_admin: modify mdlog functionality

mdlog list, can handle cases where there is and there's no shard id
specified. mdlog trim requires shard if.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: set truncated as false if ENOENT when listing mdlog entries
Yehuda Sadeh [Fri, 31 May 2013 19:30:29 +0000 (12:30 -0700)]
rgw: set truncated as false if ENOENT when listing mdlog entries

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'wip-rgw-geo-enovance' into wip-rgw-geo-2
Yehuda Sadeh [Fri, 31 May 2013 19:22:09 +0000 (12:22 -0700)]
Merge branch 'wip-rgw-geo-enovance' into wip-rgw-geo-2

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

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: Do not assum rest connection to be established
Christophe Courtaut [Fri, 31 May 2013 07:55:27 +0000 (09:55 +0200)]
rgw: Do not assum rest connection to be established

Added a check to verify that rest connection is correctly initialized,
preventing a segmentation fault.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoflushed the formatter after closing the primary section in MDLOG, BILOG and GETSHARDI...
Babu Shanmugam [Thu, 30 May 2013 04:58:23 +0000 (10:28 +0530)]
flushed the formatter after closing the primary section in MDLOG, BILOG and GETSHARDINFO :: list()

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
12 years agorgw: verify bucket location only if exists
Yehuda Sadeh [Wed, 29 May 2013 20:50:50 +0000 (13:50 -0700)]
rgw: verify bucket location only if exists

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: forward delete_bucket to master region
Yehuda Sadeh [Wed, 29 May 2013 20:09:45 +0000 (13:09 -0700)]
rgw: forward delete_bucket to master region

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoFixed default region creation issue
Christophe Courtaut [Mon, 27 May 2013 15:27:57 +0000 (17:27 +0200)]
Fixed default region creation issue

If the default region did not exist, it is created,
but the previously created RGWDefaultRegionInfo object is not updated.
This fix updates this objects after the default region creation.
It was also preventing vstart.sh script to start with -r option.

Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: user master region's version of bucket
Yehuda Sadeh [Wed, 29 May 2013 15:11:59 +0000 (08:11 -0700)]
rgw: user master region's version of bucket

When creating a bucket, retrieve the bucket object
version from the master region and use it.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: mdlog, bilog RESTful api cleanup
Yehuda Sadeh [Tue, 28 May 2013 20:39:18 +0000 (13:39 -0700)]
rgw: mdlog, bilog RESTful api cleanup

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoWith mdlog lock and unlock functionality, listing and trimming base on shard_id
Babu Shanmugam [Tue, 28 May 2013 00:28:42 +0000 (05:58 +0530)]
With mdlog lock and unlock functionality, listing and trimming base on shard_id

Signed-off-by: Babu Shanmugam <anbu@enovance.com>
12 years agorgw: propagate region on bucket creation
Yehuda Sadeh [Sat, 25 May 2013 02:54:26 +0000 (19:54 -0700)]
rgw: propagate region on bucket creation

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