]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
7 years agotest/rgw/test_multi: fix a few tests to only iterate over rw zones
Yehuda Sadeh [Fri, 23 Mar 2018 00:39:50 +0000 (17:39 -0700)]
test/rgw/test_multi: fix a few tests to only iterate over rw zones

Some of the tests require at least two read-write (regular rgw) zones

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agotest/rgw: zone_cloud: deal with key representation and other fixes
Yehuda Sadeh [Fri, 23 Mar 2018 00:44:48 +0000 (17:44 -0700)]
test/rgw: zone_cloud: deal with key representation and other fixes

Needed to present a key to the tests that reflected its original name
and version_id (and etag), so that the callers don't need to be modified.
However, this can only be achieved if we get the key, which doesn't work
if the caller was just listing the bucket objects. Created a new CloudKey
class to deal with the different issues there.
Also, other test related fixes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: streaming put also stores content_type and other fields
Yehuda Sadeh [Fri, 23 Mar 2018 00:33:29 +0000 (17:33 -0700)]
rgw: streaming put also stores content_type and other fields

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: fix parse_tier_config_param function
Chang Liu [Tue, 27 Feb 2018 08:48:26 +0000 (16:48 +0800)]
rgw: fix parse_tier_config_param function

Signed-off-by: Chang Liu <liuchang0812@gmail.com>
7 years agorgw: don't call http data callbacks under lock
Yehuda Sadeh [Tue, 20 Mar 2018 18:52:44 +0000 (11:52 -0700)]
rgw: don't call http data callbacks under lock

There is no need to hold req_data->lock when calling into client
callbacks. This removes an unneeded lock dependency (that is a
problem when cancelliing coroutines stack).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: coroutines: cancel stacks on teardown
Yehuda Sadeh [Tue, 20 Mar 2018 18:47:39 +0000 (11:47 -0700)]
rgw: coroutines: cancel stacks on teardown

If we don't cancel stacks, ops might not be destructed, so ops callbacks
could still be active.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: don't store etag with extra null character at the end
Yehuda Sadeh [Fri, 23 Mar 2018 00:50:40 +0000 (17:50 -0700)]
rgw: don't store etag with extra null character at the end

head objects etag attr doesn't need to store an extra null char.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cloud sync: store source object info in destination object
Yehuda Sadeh [Fri, 23 Mar 2018 00:49:40 +0000 (17:49 -0700)]
rgw: cloud sync: store source object info in destination object

store extra meta params on target object (original name, version_id, etag,
etc.)

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cloud sync: store versioned epoch in target object
Yehuda Sadeh [Thu, 15 Mar 2018 22:57:24 +0000 (15:57 -0700)]
rgw: cloud sync: store versioned epoch in target object

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agotest/rgw: initial work on cloud sync test
Yehuda Sadeh [Mon, 12 Mar 2018 21:34:05 +0000 (14:34 -0700)]
test/rgw: initial work on cloud sync test

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: api adjustment following rebase
Yehuda Sadeh [Mon, 19 Feb 2018 23:32:19 +0000 (15:32 -0800)]
rgw: api adjustment following rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: rework cloud sync configuration
Yehuda Sadeh [Fri, 2 Feb 2018 23:51:49 +0000 (15:51 -0800)]
rgw: rework cloud sync configuration

Change the configuration structure to separate between
connections and acl mappings, and other changes.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: fixes following rebase
Yehuda Sadeh [Fri, 2 Feb 2018 00:18:38 +0000 (16:18 -0800)]
rgw: fixes following rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: use different io id when waking up interval wait
Yehuda Sadeh [Fri, 2 Feb 2018 00:06:22 +0000 (16:06 -0800)]
rgw: use different io id when waking up interval wait

Can't use a zero channel id as a wildcard.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: fix compilation warning
Yehuda Sadeh [Fri, 2 Feb 2018 00:05:14 +0000 (16:05 -0800)]
rgw: fix compilation warning

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agovstart: fixes for mstart
Yehuda Sadeh [Thu, 25 Jan 2018 23:38:54 +0000 (15:38 -0800)]
vstart: fixes for mstart

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: apply acl mappings
Yehuda Sadeh [Mon, 22 Jan 2018 21:10:52 +0000 (13:10 -0800)]
rgw: aws sync: apply acl mappings

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: sync acls
Yehuda Sadeh [Wed, 17 Jan 2018 00:53:31 +0000 (16:53 -0800)]
rgw: aws sync: sync acls

still not transforming acls according to configuration

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: acl_mappings config handling
Yehuda Sadeh [Tue, 16 Jan 2018 22:50:04 +0000 (14:50 -0800)]
rgw: aws sync: acl_mappings config handling

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: remove bucket suffix configurable
Yehuda Sadeh [Tue, 16 Jan 2018 03:05:02 +0000 (19:05 -0800)]
rgw: aws sync: remove bucket suffix configurable

No need to have a special suffix, target path can be used instead.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: use configurable target path
Yehuda Sadeh [Tue, 16 Jan 2018 02:01:48 +0000 (18:01 -0800)]
rgw: aws sync: use configurable target path

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: dump config
Yehuda Sadeh [Mon, 15 Jan 2018 21:59:13 +0000 (13:59 -0800)]
rgw: aws sync: dump config

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoformatter: add two utility classes
Yehuda Sadeh [Mon, 15 Jan 2018 22:22:07 +0000 (14:22 -0800)]
formatter: add two utility classes

For automatic section scoping

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: configure different targets
Yehuda Sadeh [Sat, 13 Jan 2018 00:25:48 +0000 (16:25 -0800)]
rgw: aws sync: configure different targets

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: new config structure, support multiple connections
Yehuda Sadeh [Fri, 12 Jan 2018 22:57:24 +0000 (14:57 -0800)]
rgw: aws sync: new config structure, support multiple connections

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoformattable: more fixes
Yehuda Sadeh [Tue, 9 Jan 2018 15:40:11 +0000 (07:40 -0800)]
formattable: more fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: sync module tier config fixes
Yehuda Sadeh [Tue, 9 Jan 2018 09:30:46 +0000 (01:30 -0800)]
rgw: sync module tier config fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoformattable: fixes
Yehuda Sadeh [Tue, 9 Jan 2018 09:30:37 +0000 (01:30 -0800)]
formattable: fixes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cloud sync, sync object meta
Yehuda Sadeh [Mon, 8 Jan 2018 15:27:30 +0000 (07:27 -0800)]
rgw: cloud sync, sync object meta

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoformattable: adjust array access interface
Yehuda Sadeh [Mon, 8 Jan 2018 09:44:41 +0000 (01:44 -0800)]
formattable: adjust array access interface

appending new entry by providing empty index, setting existing entries
by providing negative index.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoceph_json: formattable, set, erase, unitest
Yehuda Sadeh [Fri, 5 Jan 2018 10:42:06 +0000 (02:42 -0800)]
ceph_json: formattable, set, erase, unitest

Extend the formattable api to provide a mechanism to set and erase
entities by a string key that references them. E.g., "foo.bar[123].xyz"

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: handle the situation that get a 409 response from S3 correctly
lvshanchun [Wed, 29 Nov 2017 13:04:12 +0000 (21:04 +0800)]
rgw: handle the situation that get a 409 response from S3 correctly
pass the http body and use it when creating a bucket

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: avoid use Chunked transfer encoding in RGW's request
lvshanchun [Wed, 29 Nov 2017 08:49:11 +0000 (16:49 +0800)]
rgw: avoid use Chunked transfer encoding in RGW's request

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: add a bucket-suffix tier-config
lvshanchun [Wed, 29 Nov 2017 08:43:58 +0000 (16:43 +0800)]
rgw: add a bucket-suffix tier-config

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: virtual hosted-style support
lvshanchun [Wed, 29 Nov 2017 08:28:05 +0000 (16:28 +0800)]
rgw: virtual hosted-style support

add host-style field in tier-config to specify the related
zone's hosted-style used in request from RGW, if this config
is not specified, path hosted-style will be used as default.

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: RGWRESTStreamRWRequest::send_prepare(), url encode dest
lvshanchun [Thu, 23 Nov 2017 09:48:41 +0000 (17:48 +0800)]
rgw: RGWRESTStreamRWRequest::send_prepare(), url encode dest

encode the resource in send_prepare(), as a result, all the callers
to do_send_prepare() have do url_encode before calling it.

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: add encode_slash param in url_encode
lvshanchun [Wed, 29 Nov 2017 03:26:44 +0000 (11:26 +0800)]
rgw: add encode_slash param in url_encode

when sent request to S3, we should not encode the forward
slash character('/') in the object key name, so we need add
a encode_slash param in url_encode to decide whether to encode
the slash or not.

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: use GMT time format defined by RFC1123 in http request header
lvshanchun [Thu, 23 Nov 2017 08:41:44 +0000 (16:41 +0800)]
rgw: use GMT time format defined by RFC1123 in http request header

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: sync modules: adapt to formattable based config
Yehuda Sadeh [Wed, 13 Dec 2017 11:43:21 +0000 (03:43 -0800)]
rgw: sync modules: adapt to formattable based config

still need to fix rgw-admin

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agotest/ceph_json_formattable: add unitest
Yehuda Sadeh [Wed, 13 Dec 2017 11:39:24 +0000 (03:39 -0800)]
test/ceph_json_formattable: add unitest

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoceph_json: formattable fix, api changes
Yehuda Sadeh [Wed, 13 Dec 2017 11:38:09 +0000 (03:38 -0800)]
ceph_json: formattable fix, api changes

add implicit casts

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agoceph_json: refine Formattable api
Yehuda Sadeh [Tue, 12 Dec 2017 18:10:15 +0000 (10:10 -0800)]
ceph_json: refine Formattable api

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: sync modules, use JSONFormattable
Yehuda Sadeh [Tue, 12 Dec 2017 13:03:54 +0000 (05:03 -0800)]
rgw: sync modules, use JSONFormattable

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: rgw_str_to_bool() should also accept "true"
Yehuda Sadeh [Tue, 12 Dec 2017 12:25:16 +0000 (04:25 -0800)]
rgw: rgw_str_to_bool() should also accept "true"

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agocommon/formattable: initial work
Yehuda Sadeh [Wed, 8 Nov 2017 21:19:31 +0000 (13:19 -0800)]
common/formattable: initial work

initial work on a dict-like api

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw/cleanup: fix compile warnning
Chang Liu [Thu, 23 Nov 2017 13:47:52 +0000 (21:47 +0800)]
rgw/cleanup: fix compile warnning

1. overloaded virtual function
2. virtual functions but no virtual destructors

Signed-off-by: Chang Liu <liuchang0812@gmail.com>
7 years agorgw: modify testcase in src/test/rgw
lvshanchun [Tue, 21 Nov 2017 05:04:17 +0000 (13:04 +0800)]
rgw: modify testcase in src/test/rgw

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: add populate_zonegroup() and populate_uid() in RGWRESTConn
lvshanchun [Tue, 21 Nov 2017 05:03:09 +0000 (13:03 +0800)]
rgw: add populate_zonegroup() and populate_uid() in RGWRESTConn

populate_params() is too generic, add populate_zonegroup() and
populate_uid() in RGWRESTConn, then have populate_params() call them.

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: avoid returning CURL_READFUNC_PAUSE forever
Chang Liu [Tue, 21 Nov 2017 11:48:08 +0000 (19:48 +0800)]
rgw: avoid returning CURL_READFUNC_PAUSE forever

Signed-off-by: Chang Liu <liuchang0812@gmail.com>
7 years agorgw: implement S3RESTConn to send request to S3
lvshanchun [Tue, 21 Nov 2017 05:01:34 +0000 (13:01 +0800)]
rgw: implement S3RESTConn to send request to S3
add a sub-class of RGWRESTConn called S3RESTConn that do not
populate zonegroup-related params, it shall only used for send request
to S3-like interface.

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: decrease the log level in RGWCoroutinesStack::unwind
lvshanchun [Thu, 16 Nov 2017 15:55:52 +0000 (23:55 +0800)]
rgw: decrease the log level in RGWCoroutinesStack::unwind

Signed-off-by: lvshanchun <lvshanchun@gmail.com>
7 years agorgw: RGWRESTStreamS3PutObj::send_init(), url encode dest
Yehuda Sadeh [Tue, 7 Nov 2017 00:18:41 +0000 (16:18 -0800)]
rgw: RGWRESTStreamS3PutObj::send_init(), url encode dest

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cr rest splice, reorder checks
Yehuda Sadeh [Tue, 7 Nov 2017 00:16:34 +0000 (16:16 -0800)]
rgw: cr rest splice, reorder checks

First finish output init, then check if there's no data. Could be an empty
object.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: remove warning
Yehuda Sadeh [Mon, 6 Nov 2017 23:06:20 +0000 (15:06 -0800)]
rgw: remove warning

No need to clean io_ids when stack finishes, as list of io_ids is kept inside
the stack object, and will be cleaned up anyway. We also have a list of finished
ios in the completion manager (complete_reqs), but this is a fifo, and will be
cleaned up once pulled out (and we identify that io references an obsolete
stack).

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: don't allow for io_id to complete more than once
Yehuda Sadeh [Mon, 6 Nov 2017 22:56:12 +0000 (14:56 -0800)]
rgw: don't allow for io_id to complete more than once

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cr rest splice, both reads and writes are throttled
Yehuda Sadeh [Sat, 4 Nov 2017 03:26:31 +0000 (20:26 -0700)]
rgw: cr rest splice, both reads and writes are throttled

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: http_client, add the ability to pause/unpause incoming data
Yehuda Sadeh [Fri, 3 Nov 2017 23:30:52 +0000 (16:30 -0700)]
rgw: http_client, add the ability to pause/unpause incoming data

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: rest_client: work towards throttling of http read requests
Yehuda Sadeh [Fri, 3 Nov 2017 22:57:56 +0000 (15:57 -0700)]
rgw: rest_client: work towards throttling of http read requests

Adjust the interfaces to provide the ability for the read callback
to pause the reads. While doing that, define a new class interface
for this instead of RGWGetDataCB. This had a butterfly effect that
required modifications to the obj read filters, but the end result
is a bit cleaner.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cr rest splice, work towards write throttling
Yehuda Sadeh [Tue, 31 Oct 2017 16:44:15 +0000 (09:44 -0700)]
rgw: cr rest splice, work towards write throttling

Need to throttle writes, so that we don't just accumulate all data read
from source endpoint in memory, in the case where the write endpoint is
too slow.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: cr: introduce io channels
Yehuda Sadeh [Thu, 2 Nov 2017 00:25:02 +0000 (17:25 -0700)]
rgw: cr: introduce io channels

ios can have multiple channels, so that we can differentiate between
waiting on read/write/control events. We can then block on a specific,
any, or multiple events.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: configurable multipart threshold, part size
Yehuda Sadeh [Mon, 30 Oct 2017 23:48:05 +0000 (16:48 -0700)]
rgw: aws sync: configurable multipart threshold, part size

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync conf, consolidate configurables
Yehuda Sadeh [Mon, 30 Oct 2017 23:22:00 +0000 (16:22 -0700)]
rgw: aws sync conf, consolidate configurables

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: http req, guard out_headers
Yehuda Sadeh [Mon, 30 Oct 2017 22:38:23 +0000 (15:38 -0700)]
rgw: http req, guard out_headers

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: check that source object doesn't change
Yehuda Sadeh [Thu, 26 Oct 2017 00:56:57 +0000 (17:56 -0700)]
rgw: aws sync: check that source object doesn't change

Make suret that while syncing the object it doesn't change, which can
be a problem when uploading the object piecemeal.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync, store temp per-object sync info
Yehuda Sadeh [Wed, 25 Oct 2017 00:06:01 +0000 (17:06 -0700)]
rgw: aws sync, store temp per-object sync info

When doing a multipart object sync, need to store the object's info
so that we can either continue if upload is interrupted, and abort
older upload_id in case object changed.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: multipart upload complete
Yehuda Sadeh [Sat, 21 Oct 2017 00:43:32 +0000 (17:43 -0700)]
rgw: aws sync: multipart upload complete

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: don't schedule a cr if already scheduled
Yehuda Sadeh [Thu, 19 Oct 2017 21:04:03 +0000 (14:04 -0700)]
rgw: don't schedule a cr if already scheduled

This can be triggered when multiple IOs return for the same cr. We
don't want to allow it to be scheduled multiple times, as this
might wake up blocking IOs that shouldn't be woken up. If we try to
block on an IO that we already complete, we won't block anyway.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync, initial work on multipart data parts creation
Yehuda Sadeh [Thu, 19 Oct 2017 00:41:00 +0000 (17:41 -0700)]
rgw: aws sync, initial work on multipart data parts creation

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: fix io blocked accounting
Yehuda Sadeh [Thu, 19 Oct 2017 00:39:34 +0000 (17:39 -0700)]
rgw: fix io blocked accounting

Now that we can have multiple IOs per coroutine, need to only decrease
num_blocked one time when switching from io blocked to unblocked. Also,
is_blocked() should not return true if is_done.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync, more work on large object sync via multipart upload
Yehuda Sadeh [Wed, 18 Oct 2017 21:44:03 +0000 (14:44 -0700)]
rgw: aws sync, more work on large object sync via multipart upload

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync module, fix target object naming
Yehuda Sadeh [Fri, 13 Oct 2017 23:47:38 +0000 (16:47 -0700)]
rgw: aws sync module, fix target object naming

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync module, fix target object naming
Yehuda Sadeh [Fri, 13 Oct 2017 23:47:38 +0000 (16:47 -0700)]
rgw: aws sync module, fix target object naming

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: fix rest read crf handling of extra data
Yehuda Sadeh [Fri, 13 Oct 2017 23:46:37 +0000 (16:46 -0700)]
rgw: fix rest read crf handling of extra data

also fix splice coroutine

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: recover from empty meta.history object
Yehuda Sadeh [Fri, 13 Oct 2017 21:40:28 +0000 (14:40 -0700)]
rgw: recover from empty meta.history object

Fixes: http://tracker.ceph.com/issues/21802
Empty meta.history object is problematic, as when reading it when doing
meta log trimming, we'd just initialize it to an empty structure, and
end up asserting because cursor is empty. Cannot just return -ENOENT
here, because it wouldn't solve the issue.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync, add hooks for decoding/encoding rest obj
Yehuda Sadeh [Thu, 12 Oct 2017 00:03:44 +0000 (17:03 -0700)]
rgw: aws sync, add hooks for decoding/encoding rest obj

Object sync is now functional. Create abstraction that will later help
with different cloud providers.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync, in_crf init abstraction
Yehuda Sadeh [Tue, 10 Oct 2017 23:26:14 +0000 (16:26 -0700)]
rgw: aws sync, in_crf init abstraction

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: aws sync: generate target bucket
Yehuda Sadeh [Tue, 10 Oct 2017 00:52:39 +0000 (17:52 -0700)]
rgw: aws sync: generate target bucket

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: a bit cleaner interfaces for sending put crf
Yehuda Sadeh [Tue, 10 Oct 2017 00:23:45 +0000 (17:23 -0700)]
rgw: a bit cleaner interfaces for sending put crf

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: first go at sync to aws splice
Yehuda Sadeh [Wed, 4 Oct 2017 21:12:13 +0000 (14:12 -0700)]
rgw: first go at sync to aws splice

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: RGWRESTConn() don't override provided key
Yehuda Sadeh [Fri, 6 Oct 2017 18:17:48 +0000 (11:17 -0700)]
rgw: RGWRESTConn() don't override provided key

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: more streaming crf abstraction
Yehuda Sadeh [Tue, 3 Oct 2017 00:26:57 +0000 (17:26 -0700)]
rgw: more streaming crf abstraction

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: separte stream crfs for read and write
Yehuda Sadeh [Mon, 2 Oct 2017 22:55:37 +0000 (15:55 -0700)]
rgw: separte stream crfs for read and write

also add a base class

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: splice cr drains writes
Yehuda Sadeh [Mon, 2 Oct 2017 21:22:30 +0000 (14:22 -0700)]
rgw: splice cr drains writes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: rest cr drains writes, returns errors
Yehuda Sadeh [Fri, 29 Sep 2017 21:34:05 +0000 (14:34 -0700)]
rgw: rest cr drains writes, returns errors

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: groundwork for supporting concurrent IOs in single cr
Yehuda Sadeh [Thu, 26 Oct 2017 20:35:02 +0000 (13:35 -0700)]
rgw: groundwork for supporting concurrent IOs in single cr

Add io_id field to io operation, allow blocking on a specific IO.
Locking changes in RGWCoroutinesManager::run().

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: initial work for integrating streaming read/write with cr
Yehuda Sadeh [Mon, 4 Sep 2017 12:15:11 +0000 (05:15 -0700)]
rgw: initial work for integrating streaming read/write with cr

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: amend http client manager interface
Yehuda Sadeh [Wed, 30 Aug 2017 11:40:02 +0000 (04:40 -0700)]
rgw: amend http client manager interface

s/set_threaded/start
s/is_threaded/is_started

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: http client, simplify interfaces
Yehuda Sadeh [Mon, 28 Aug 2017 12:56:19 +0000 (05:56 -0700)]
rgw: http client, simplify interfaces

work towards removal of duplicate synchronous api

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: create global http manager
Yehuda Sadeh [Mon, 28 Aug 2017 09:33:20 +0000 (02:33 -0700)]
rgw: create global http manager

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: restructure http/rest client class hierarchy
Yehuda Sadeh [Mon, 28 Aug 2017 09:33:49 +0000 (02:33 -0700)]
rgw: restructure http/rest client class hierarchy

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: tweak http client interface
Yehuda Sadeh [Thu, 24 Aug 2017 13:16:54 +0000 (06:16 -0700)]
rgw: tweak http client interface

RGWHTTPClient now holds the url and method.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: add api to finish streaming writes
Yehuda Sadeh [Thu, 24 Aug 2017 11:21:54 +0000 (04:21 -0700)]
rgw: add api to finish streaming writes

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: http client, streaming writes api
Yehuda Sadeh [Tue, 15 Aug 2017 15:36:19 +0000 (08:36 -0700)]
rgw: http client, streaming writes api

Add a new class that enables streaming writes, that is --
doesn't require having all the data before the start of the
send.

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: fixes following rebase
Yehuda Sadeh [Tue, 3 Oct 2017 21:58:08 +0000 (14:58 -0700)]
rgw: fixes following rebase

Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
7 years agorgw: typo fix during rebase (squash)
Abhishek Lekshmanan [Mon, 27 Mar 2017 13:47:36 +0000 (15:47 +0200)]
rgw: typo fix during rebase (squash)

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
7 years agorgw_rest_client: clarify comment on set content length
Abhishek Lekshmanan [Mon, 27 Feb 2017 16:48:53 +0000 (17:48 +0100)]
rgw_rest_client: clarify comment on set content length

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
7 years agoaws: remove comment
Abhishek Lekshmanan [Mon, 27 Feb 2017 16:43:46 +0000 (17:43 +0100)]
aws: remove comment

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
7 years agoaws: use slashes in obj name
Abhishek Lekshmanan [Mon, 27 Feb 2017 16:43:25 +0000 (17:43 +0100)]
aws: use slashes in obj name

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
7 years agorgw_sync_module_aws: make conn a unique ptr
Abhishek Lekshmanan [Mon, 27 Feb 2017 16:42:55 +0000 (17:42 +0100)]
rgw_sync_module_aws: make conn a unique ptr

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
7 years agorgw_sync_module_aws: use the readrawrestresource cr
Abhishek Lekshmanan [Mon, 27 Feb 2017 16:40:06 +0000 (17:40 +0100)]
rgw_sync_module_aws: use the readrawrestresource cr

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>