requirements.txt: work around pip 1.4 issue

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

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
add flexible multi-region configuration

can now create a region-specific configuration:

[region foo]
api_name = ...
host = ...
port = ...

and set that region to be used for specific connection:

[s3 main]
region = foo

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rearrange regions info container

Now able to easily get the master and secondaries

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
set the region is_master field

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
s3tests: some more multiregion changes

Now creating a connection per region for each user, can access
master and secondaries, and set a default region.
No longer using a specific region per user, as it doesn't
make sense.

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

first multi-region test

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
s3tests: basic test to copy object between regions

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
s3tests: improve cross region copy, sync meta

Can now configure sync agent rest address in order to force
a sync operation. Another option is to set a waiting time for
meta sync.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
s3tests: modify cross region copy, sync triggering

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
s3tests: only tun multiregion tests if configured

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
test_s3: basic cors test

related to issue #5261

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
s3tests: improve cors test to cover more functionality

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rename 'partial' metadata sync to 'incremental'

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
readwrite.py: adding parameters

Add an optional parameter to trigger deterministic
file name creation (for separate write/read tasks).
Also, change the behavior when zero writers
are specified to actually generate no data.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
readwrite: error propagation code

This is my attempt at enabling errors
in the readwrite.py to propate up
to the calling teuthology task.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Merge branch 'next'

Conflicts:
	s3tests/functional/test_s3.py

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
readwrite: add missing traceback object

An error code path was missing the traceback
object and was causing a key error when
that path was executed.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Add support for default_region

Changes to actually use the
'default_region' setting in the
S3TEST_CONF file.
Previously, the first connection set
was assumed to be the default.
This means that the parse order
of the S3TEST_CONF file was dictating
how the tests behaved, resulting in
failures in some cases.

Signed-off-by: Joe Buck <jbbuck@gmail.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Improve post-test cleanup

The multi-region tests were not being diligent
about cleaning up their buckets / keys
and making sure that those deletes were synced.
This was causing the nuke_prefixed_buckets()
method to run into errors.
This patch adds more cleanup code and
validation of that cleanup within
the pertinent tests.

Signed-off-by: Joe Buck <jbbuck@gmail.com>