]>
git-server-git.apps.pok.os.sepia.ceph.com Git - radosgw-agent.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Yehuda Sadeh [Mon, 12 May 2014 21:43:51 +0000 (14:43 -0700)]
client: remove replica log entries using purge-all
After we converted the old replica log entry we now purge it using purge-all,
so that next time we're not going to hit it.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 10 May 2014 00:03:02 +0000 (17:03 -0700)]
client: convert bucket replica log if needed
Fixes: #8251
If replica log entries for bucket does not exist, try to access it through
the old interface (not indexed by instance id). If this works then update
the new one (indexed by instance id), and remove the old one.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Josh Durgin [Mon, 17 Mar 2014 21:32:49 +0000 (14:32 -0700)]
sync: add missing parameter to log statement
Fixes http://tracker.ceph.com/issues/7741
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 7 Mar 2014 23:25:45 +0000 (15:25 -0800)]
worker: convert list to tuple so addition to set works
Without this, an error like: TypeError: unhashable type: 'list' would
occur when metadata was retried.
Fixes: #7526
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Sat, 8 Feb 2014 00:04:05 +0000 (16:04 -0800)]
worker: process all bucket instance log entries at once
Currently if there are more than max_entries in a single bucket
instance's log, only max_entries of those will be processed, and the
bucket instance will not be examined again until it is modified again.
To keep it simple, get the entire log of entries to be updated and
process them all at once. This means one busy shard may block others
from syncing, but multiple instances of radosgw-agent can be run to
circumvent that issue. With only one instance, users can be sure
everything is synced when an incremental sync completes with no
errors.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 7 Feb 2014 19:46:51 +0000 (11:46 -0800)]
Merge pull request #8 from clewis/respect-max-entries
Respect max_entries.
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Craig Lewis [Thu, 6 Feb 2014 22:27:56 +0000 (14:27 -0800)]
Use the object attribute max_entries, and get rid of the argument.
Josh Durgin [Tue, 28 Jan 2014 22:46:54 +0000 (14:46 -0800)]
cli: need to import submodule of logging to use it
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Sat, 25 Jan 2014 00:03:53 +0000 (16:03 -0800)]
cli: use WatchedFileHandler to cooperate with logrotate
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Gary Lowell [Fri, 22 Nov 2013 00:17:45 +0000 (16:17 -0800)]
v1.1
Josh Durgin [Fri, 1 Nov 2013 23:04:35 +0000 (16:04 -0700)]
Include exception information in warnings
This will provide more detail when an error occurs without requiring
logging at the debug level.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 1 Nov 2013 21:15:37 +0000 (14:15 -0700)]
worker: don't try to remove opstate for deletes
Only the copy operation creates an op state. If the object does not
exist, there is no op state to delete.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Wed, 30 Oct 2013 16:44:15 +0000 (09:44 -0700)]
requirements: set lower bound for requests
1.2.1 includes url-encoding headers, which we rely on.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Mon, 28 Oct 2013 21:01:58 +0000 (14:01 -0700)]
Merge pull request #6 from ceph/wip-fixes
Wip fixes
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Alfredo Deza [Mon, 28 Oct 2013 13:11:08 +0000 (09:11 -0400)]
normalize indentation to 4 spaces
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
Alfredo Deza [Mon, 28 Oct 2013 12:53:36 +0000 (08:53 -0400)]
do not mix tabs and spaces
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
Alfredo Deza [Mon, 28 Oct 2013 12:52:58 +0000 (08:52 -0400)]
remove semicolons from statements
Signed-off-by: Alfredo Deza <alfredo.deza@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 20:06:07 +0000 (13:06 -0700)]
sync: handle modified (meta)data log api
It now returns the last marker in addition to the log entries, which
are now in a separate field.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 20:04:14 +0000 (13:04 -0700)]
worker: treat 404 as an empty marker
If the log does not exist at all, since no operations have been completed
on that bucket, we get a 404.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 20:01:55 +0000 (13:01 -0700)]
worker: use the full op_id when waiting
self.op_id is just the last part of it. Get it from the caller
instead.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 19:59:05 +0000 (12:59 -0700)]
client: fix url_safe for non-unicode
Actually use urllib.quote() in both cases.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 19:58:10 +0000 (12:58 -0700)]
worker: only wait for existing objects
Copy operations are long running and use a state log, but deletes do
not.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 19:44:46 +0000 (12:44 -0700)]
client: don't escape copy source header
Requests takes care of this for us.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 19:39:51 +0000 (12:39 -0700)]
reduce default logging level for boto
Log messages about each new connection aren't very useful.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 25 Oct 2013 19:37:52 +0000 (12:37 -0700)]
Handle errors preparing for an incremental sync
Log the issue, but keep retrying with a delay.
Move continuous incremental sync and preparing retry into
helpers in sync.py.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Tue, 15 Oct 2013 17:58:16 +0000 (10:58 -0700)]
Merge pull request #5 from kri5/wip-datasync
Rename variable to match option parsing variable name (again)
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Christophe Courtaut [Tue, 15 Oct 2013 17:53:03 +0000 (19:53 +0200)]
Rename variable to match option parsing variable name (again)
The object_timeout variable was renamed object_sync_timeout
in the option parser, but not elsewhere.
This patch fixes it.
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Josh Durgin [Tue, 15 Oct 2013 17:36:16 +0000 (10:36 -0700)]
Merge pull request #4 from kri5/wip-datasync
Rename variable to match option parsing variable name
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Christophe Courtaut [Tue, 15 Oct 2013 17:32:43 +0000 (19:32 +0200)]
Rename variable to match option parsing variable name
The data_log_window variable was renamed rgw_data_log_window
in the option parser, but not elsewhere.
This patch fixes it.
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Josh Durgin [Tue, 15 Oct 2013 15:37:43 +0000 (08:37 -0700)]
Merge pull request #3 from kri5/wip-datasync
Fix option parsing for destination arg
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Tue, 15 Oct 2013 14:51:59 +0000 (07:51 -0700)]
Forgot to add unit tests dir as well
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Christophe Courtaut [Tue, 15 Oct 2013 10:09:06 +0000 (12:09 +0200)]
Fix option parsing for destination arg
As mentionned at http://docs.python.org/3.4/library/argparse.html#nargs,
nargs=1 will not provide the default behaviour, but instead will produce
a list of args, and that is not what we want.
This patch uses nargs=None to provide default behaviour instead.
As it is a positionnal argument, we can't use required option.
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Josh Durgin [Mon, 14 Oct 2013 16:10:58 +0000 (09:10 -0700)]
Add forgotten files for running tests
Josh Durgin [Wed, 25 Sep 2013 01:05:42 +0000 (18:05 -0700)]
Implement data sync and several other changes that should be separate commits
The larger changes are:
- metadata sync uses the replica log for retrying after errors
- command line usage is simpler, and requires fewer options
- source and destination are gotten from / validated against
the region map, with unit tests
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Mon, 23 Sep 2013 19:23:46 +0000 (12:23 -0700)]
Merge pull request #1 from kri5/wip-datasync
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Christophe Courtaut [Mon, 23 Sep 2013 14:25:25 +0000 (16:25 +0200)]
Adds data sync capabilities to test server
Christophe Courtaut [Mon, 23 Sep 2013 13:59:43 +0000 (15:59 +0200)]
Fix cli to match obj/method names according to sync.py
Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
Josh Durgin [Fri, 13 Sep 2013 20:01:34 +0000 (13:01 -0700)]
Set up full data sync
Get data log markers and store them after all buckets are synced. Also
get bucket-index markers for each bucket, and update them in the
bucket index replica log once syncing is complete. The bucket-index
replica log updates should be moved to happend after each bucket once
the actual object copying is implemented.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Wed, 11 Sep 2013 01:17:44 +0000 (18:17 -0700)]
Refactor sync and fix errors found by pyflakes
Instead of 4 copies of queue and worker creation
and results gathering, just have one, with subclasses
that can add special behavior at the beginning or end.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Tue, 10 Sep 2013 00:19:12 +0000 (17:19 -0700)]
client: escape bucket and object names used in urls
Convert to utf8 since urllib doesn't handle unicode well in python 2.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Tue, 10 Sep 2013 00:14:32 +0000 (17:14 -0700)]
client: fix spacing
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Tue, 10 Sep 2013 00:12:24 +0000 (17:12 -0700)]
sync: remove extraneous error checking
These loops all end once a result of any sort is received for a child
process. It will already complete if every worked has a connection
error.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Joe Buck [Tue, 27 Aug 2013 18:14:06 +0000 (11:14 -0700)]
Getting code readh for handoff
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Joe Buck [Fri, 30 Aug 2013 16:26:46 +0000 (09:26 -0700)]
Improve exception handling
Catch exceptions and continue syncing items
in that shard but do NOT update the worker
bounds. This will result in redundant work
but prevents an error from stopping
the syncing of objects 'after' that object
in the same shard.
Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewd-by: Josh Durgin <josh.durgin@inktank.com>
Gary Lowell [Mon, 26 Aug 2013 23:38:37 +0000 (16:38 -0700)]
setup.py: Add a version range to the python-boto dependency.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Gary Lowell [Mon, 26 Aug 2013 22:01:49 +0000 (15:01 -0700)]
setup.cfg: Dependencies for rpm builds.
These should track the dependencies listed in setup.py and
requirements.txt.
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Gary Lowell [Mon, 26 Aug 2013 16:23:56 +0000 (09:23 -0700)]
debian: Initial version debian control files
Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
Yehuda Sadeh [Mon, 5 Aug 2013 17:50:28 +0000 (10:50 -0700)]
rename partial sync to incremental sync
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Yehuda Sadeh [Sat, 3 Aug 2013 05:20:00 +0000 (22:20 -0700)]
set bounds on the dest zone, not on the source zone
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Josh Durgin [Fri, 26 Jul 2013 23:25:31 +0000 (16:25 -0700)]
test api: init response to empty
This way len() etc works on it.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Thu, 25 Jul 2013 22:53:00 +0000 (15:53 -0700)]
Add a quick and dirty http serving mode for testing
POST to --test-server-host:--test-server-port/metadata/[partial|full]
to do a partial or full metadata sync. The server will respond
when the sync is complete.
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Josh Durgin [Fri, 19 Jul 2013 18:16:46 +0000 (11:16 -0700)]
cli: use new name for partial sync delay
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>