]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
8 years agorgw: handle the Boto2 compatibility of AWSv4 in an abstract way. 14885/head
Radoslaw Zarzynski [Wed, 7 Jun 2017 10:42:17 +0000 (12:42 +0200)]
rgw: handle the Boto2 compatibility of AWSv4 in an abstract way.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: introduce rgw::auth::Strategy::apply() to deduplicate code.
Radoslaw Zarzynski [Tue, 6 Jun 2017 19:15:29 +0000 (21:15 +0200)]
rgw: introduce rgw::auth::Strategy::apply() to deduplicate code.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: introduce string_to_sign_t abstraction to the AWS auth.
Radoslaw Zarzynski [Tue, 6 Jun 2017 19:13:52 +0000 (21:13 +0200)]
rgw: introduce string_to_sign_t abstraction to the AWS auth.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: only rename AWSv2AuthStrategy -> AWSAuthStrategy.
Radoslaw Zarzynski [Fri, 2 Jun 2017 15:01:16 +0000 (17:01 +0200)]
rgw: only rename AWSv2AuthStrategy -> AWSAuthStrategy.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: optimize AWSv4 parsing with Boost's small_vector.
Radoslaw Zarzynski [Thu, 25 May 2017 15:21:14 +0000 (17:21 +0200)]
rgw: optimize AWSv4 parsing with Boost's small_vector.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: switch to Ceph's sstring in AWS signature generation process.
Radoslaw Zarzynski [Tue, 23 May 2017 15:32:42 +0000 (17:32 +0200)]
rgw: switch to Ceph's sstring in AWS signature generation process.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agocommon/backport14: add the constexpr-capable variant of std::max().
Radoslaw Zarzynski [Wed, 24 May 2017 14:48:52 +0000 (16:48 +0200)]
common/backport14: add the constexpr-capable variant of std::max().

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agocommon/sstring: switch to boost::string_view as string_ref is deprecated.
Radoslaw Zarzynski [Tue, 23 May 2017 13:23:19 +0000 (15:23 +0200)]
common/sstring: switch to boost::string_view as string_ref is deprecated.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: replace magic strings in the AWSv4 code.
Radoslaw Zarzynski [Fri, 19 May 2017 15:23:27 +0000 (17:23 +0200)]
rgw: replace magic strings in the AWSv4 code.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: use preallocated std::strings when concatenating in AWSv4.
Radoslaw Zarzynski [Fri, 19 May 2017 15:21:10 +0000 (17:21 +0200)]
rgw: use preallocated std::strings when concatenating in AWSv4.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: rework the implementation of rgw::auth::s3::get_v4_canonical_headers().
Radoslaw Zarzynski [Wed, 17 May 2017 20:56:01 +0000 (22:56 +0200)]
rgw: rework the implementation of rgw::auth::s3::get_v4_canonical_headers().

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw; rework interface and implementation of url_decode.
Radoslaw Zarzynski [Wed, 17 May 2017 19:29:18 +0000 (21:29 +0200)]
rgw; rework interface and implementation of url_decode.

This commit alters the url_decode() to remove its dependency
on Variable Length Array and unnecessary memory allocations.
It also adjust its signature to the sole usage pattern which
is spread across the code.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: rework and optimise crafting of AWSv4's canonical query string.
Radoslaw Zarzynski [Tue, 16 May 2017 14:53:09 +0000 (16:53 +0200)]
rgw: rework and optimise crafting of AWSv4's canonical query string.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: drop 'using ceph::crypto::SHA256' from rgw_common.h.
Radoslaw Zarzynski [Mon, 15 May 2017 16:03:49 +0000 (18:03 +0200)]
rgw: drop 'using ceph::crypto::SHA256' from rgw_common.h.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: remove the duplicative trim_whitespace from rgw_common.cc.
Radoslaw Zarzynski [Mon, 15 May 2017 15:08:58 +0000 (17:08 +0200)]
rgw: remove the duplicative trim_whitespace from rgw_common.cc.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: switch from boost::string_ref to string_view in AWSv4-related code (part 2).
Radoslaw Zarzynski [Mon, 15 May 2017 13:33:50 +0000 (15:33 +0200)]
rgw: switch from boost::string_ref to string_view in AWSv4-related code (part 2).

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: switch from boost::string_ref to string_view in AWSv4-related code.
Radoslaw Zarzynski [Thu, 11 May 2017 18:06:59 +0000 (20:06 +0200)]
rgw: switch from boost::string_ref to string_view in AWSv4-related code.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: introduce rgw::auth::s3::AWS4_HMAC_SHA256_STR to kill magics.
Radoslaw Zarzynski [Thu, 11 May 2017 12:48:10 +0000 (14:48 +0200)]
rgw: introduce rgw::auth::s3::AWS4_HMAC_SHA256_STR to kill magics.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: optimize and clean-up the AWSv4 signature processing.
Radoslaw Zarzynski [Wed, 10 May 2017 19:51:13 +0000 (21:51 +0200)]
rgw: optimize and clean-up the AWSv4 signature processing.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: clean-up AWSv4's Canonical QS crafting.
Radoslaw Zarzynski [Wed, 10 May 2017 15:56:46 +0000 (17:56 +0200)]
rgw: clean-up AWSv4's Canonical QS crafting.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: use std::make_shared for AWSv4 completers creation.
Radoslaw Zarzynski [Thu, 4 May 2017 15:50:04 +0000 (17:50 +0200)]
rgw: use std::make_shared for AWSv4 completers creation.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: clean-up rgw::auth::s3::get_v4_signature().
Radoslaw Zarzynski [Tue, 2 May 2017 15:30:32 +0000 (17:30 +0200)]
rgw: clean-up rgw::auth::s3::get_v4_signature().

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: handle AWSv4 in Browser Upload using the new auth infra.
Radoslaw Zarzynski [Sun, 30 Apr 2017 13:38:24 +0000 (15:38 +0200)]
rgw: handle AWSv4 in Browser Upload using the new auth infra.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: add support for HTTP_X_AMZ_DECODED_CONTENT_LENGTH.
Radoslaw Zarzynski [Sat, 29 Apr 2017 19:12:19 +0000 (21:12 +0200)]
rgw: add support for HTTP_X_AMZ_DECODED_CONTENT_LENGTH.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: split the AWSv4Completer and clean-up the code.
Radoslaw Zarzynski [Sat, 29 Apr 2017 18:46:03 +0000 (20:46 +0200)]
rgw: split the AWSv4Completer and clean-up the code.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: remove the old AWS v4 streaming mode's implementation.
Radoslaw Zarzynski [Fri, 28 Apr 2017 18:34:08 +0000 (20:34 +0200)]
rgw: remove the old AWS v4 streaming mode's implementation.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: the AWSv4 completer verifies chunks' signatures now.
Radoslaw Zarzynski [Fri, 28 Apr 2017 16:39:00 +0000 (18:39 +0200)]
rgw: the AWSv4 completer verifies chunks' signatures now.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: implement calc_hash_sha256_restart_stream().
Radoslaw Zarzynski [Sat, 29 Apr 2017 13:28:44 +0000 (15:28 +0200)]
rgw: implement calc_hash_sha256_restart_stream().

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: AWSv4Completer dechunks data in the streaming mode.
Radoslaw Zarzynski [Thu, 27 Apr 2017 19:48:02 +0000 (21:48 +0200)]
rgw: AWSv4Completer dechunks data in the streaming mode.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: drop aws4_auth_needs_complete from req_state.
Radoslaw Zarzynski [Mon, 24 Apr 2017 10:45:16 +0000 (12:45 +0200)]
rgw: drop aws4_auth_needs_complete from req_state.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: turn AWSv4Completer into a filter over rgw::io::RestfulClient.
Radoslaw Zarzynski [Sun, 23 Apr 2017 03:09:43 +0000 (05:09 +0200)]
rgw: turn AWSv4Completer into a filter over rgw::io::RestfulClient.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: extend RGWRestfulIO to cover dynamic filter injection.
Radoslaw Zarzynski [Sun, 23 Apr 2017 02:33:38 +0000 (04:33 +0200)]
rgw: extend RGWRestfulIO to cover dynamic filter injection.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: ONLY move AWSv4Completer from rgw_rest_s3.cc to rgw_auth_s3.cc.
Radoslaw Zarzynski [Sun, 23 Apr 2017 01:27:28 +0000 (03:27 +0200)]
rgw: ONLY move AWSv4Completer from rgw_rest_s3.cc to rgw_auth_s3.cc.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: implement rgw::auth::s3::is_v4_payload_empty.
Radoslaw Zarzynski [Fri, 21 Apr 2017 15:34:05 +0000 (17:34 +0200)]
rgw: implement rgw::auth::s3::is_v4_payload_empty.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: drop the old AWSv4 code.
Radoslaw Zarzynski [Fri, 21 Apr 2017 15:28:32 +0000 (17:28 +0200)]
rgw: drop the old AWSv4 code.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: implement the rgw::auth::Completer for AWSv4.
Radoslaw Zarzynski [Fri, 21 Apr 2017 15:06:28 +0000 (17:06 +0200)]
rgw: implement the rgw::auth::Completer for AWSv4.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: extend rgw::auth::Completer to handle commiting modifications to req_state.
Radoslaw Zarzynski [Wed, 19 Apr 2017 17:38:25 +0000 (19:38 +0200)]
rgw: extend rgw::auth::Completer to handle commiting modifications to req_state.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: switch to the Completer interface for the AWSv4 payload check.
Radoslaw Zarzynski [Tue, 18 Apr 2017 19:45:03 +0000 (21:45 +0200)]
rgw: switch to the Completer interface for the AWSv4 payload check.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: make AWS_AUTHv4_IO const-friendly and const-correct.
Radoslaw Zarzynski [Tue, 18 Apr 2017 19:01:36 +0000 (21:01 +0200)]
rgw: make AWS_AUTHv4_IO const-friendly and const-correct.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: integrate AWSv4 auth schema with the new auth infra.
Radoslaw Zarzynski [Tue, 18 Apr 2017 14:56:51 +0000 (16:56 +0200)]
rgw: integrate AWSv4 auth schema with the new auth infra.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: AWSv4's completer_factory takes the secret_key optionally.
Radoslaw Zarzynski [Tue, 18 Apr 2017 14:55:51 +0000 (16:55 +0200)]
rgw: AWSv4's completer_factory takes the secret_key optionally.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: dissect AWSv4's expected payload extraction into a dedicated function.
Radoslaw Zarzynski [Tue, 18 Apr 2017 12:48:28 +0000 (14:48 +0200)]
rgw: dissect AWSv4's expected payload extraction into a dedicated function.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: make the get_v4_canonical_request_hash identified shorter.
Radoslaw Zarzynski [Tue, 18 Apr 2017 12:46:51 +0000 (14:46 +0200)]
rgw: make the get_v4_canonical_request_hash identified shorter.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: rgw::auth::s3::parse_credentials() extracts access_key_id now.
Radoslaw Zarzynski [Tue, 18 Apr 2017 00:37:57 +0000 (02:37 +0200)]
rgw: rgw::auth::s3::parse_credentials() extracts access_key_id now.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: all S3 auth engines are able to use AWSv4 now.
Radoslaw Zarzynski [Mon, 17 Apr 2017 20:45:09 +0000 (22:45 +0200)]
rgw: all S3 auth engines are able to use AWSv4 now.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: ONLY change names due to AWSv4 adoption in the auth infra.
Radoslaw Zarzynski [Mon, 17 Apr 2017 20:13:23 +0000 (22:13 +0200)]
rgw: ONLY change names due to AWSv4 adoption in the auth infra.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: extend Version2ndEngine::Extractor to handle AWSv4 as well.
Radoslaw Zarzynski [Mon, 17 Apr 2017 16:52:03 +0000 (18:52 +0200)]
rgw: extend Version2ndEngine::Extractor to handle AWSv4 as well.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: decompose rgw::auth::s3::parse_credentials regarding the query string handling.
Radoslaw Zarzynski [Sat, 15 Apr 2017 22:13:16 +0000 (00:13 +0200)]
rgw: decompose rgw::auth::s3::parse_credentials regarding the query string handling.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: AWSv4 completion verifies the payload's fingerprint only.
Radoslaw Zarzynski [Sat, 15 Apr 2017 22:10:36 +0000 (00:10 +0200)]
rgw: AWSv4 completion verifies the payload's fingerprint only.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: clean up the AWSv4 completion calls across RGWOps.
Radoslaw Zarzynski [Sat, 15 Apr 2017 22:03:56 +0000 (00:03 +0200)]
rgw: clean up the AWSv4 completion calls across RGWOps.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: further minimise the req_state::aws4_auth shared state.
Radoslaw Zarzynski [Sat, 15 Apr 2017 21:09:01 +0000 (23:09 +0200)]
rgw: further minimise the req_state::aws4_auth shared state.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: decouple AWSv4 signature verification and payload fingerprint check.
Radoslaw Zarzynski [Sat, 15 Apr 2017 20:54:56 +0000 (22:54 +0200)]
rgw: decouple AWSv4 signature verification and payload fingerprint check.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: eradicate req_state::aws4_auth::credential.
Radoslaw Zarzynski [Sat, 15 Apr 2017 19:03:20 +0000 (21:03 +0200)]
rgw: eradicate req_state::aws4_auth::credential.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: eradicate req_state::aws4_auth::signed_hdrs.
Radoslaw Zarzynski [Sat, 15 Apr 2017 18:51:05 +0000 (20:51 +0200)]
rgw: eradicate req_state::aws4_auth::signed_hdrs.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: clean up rgw::auth::s3::get_v4_signing_key.
Radoslaw Zarzynski [Sat, 15 Apr 2017 18:32:42 +0000 (20:32 +0200)]
rgw: clean up rgw::auth::s3::get_v4_signing_key.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: refactor buf_to_hex and improve its const-correctness.
Radoslaw Zarzynski [Sat, 15 Apr 2017 17:22:03 +0000 (19:22 +0200)]
rgw: refactor buf_to_hex and improve its const-correctness.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: split generation AWSv4's SigningKey into a separate func.
Radoslaw Zarzynski [Sat, 15 Apr 2017 17:03:24 +0000 (19:03 +0200)]
rgw: split generation AWSv4's SigningKey into a separate func.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: add std::array-aware variants of calc_hmac_sha256() and buf_to_hex().
Radoslaw Zarzynski [Fri, 14 Apr 2017 16:59:49 +0000 (18:59 +0200)]
rgw: add std::array-aware variants of calc_hmac_sha256() and buf_to_hex().

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: minimise the number of parameters of rgw::auth::s3::get_v4_signature.
Radoslaw Zarzynski [Fri, 14 Apr 2017 16:14:05 +0000 (18:14 +0200)]
rgw: minimise the number of parameters of rgw::auth::s3::get_v4_signature.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: drop req_state::aws4_auth::payload_hash as it doesn't need to be global.
Radoslaw Zarzynski [Fri, 14 Apr 2017 15:01:44 +0000 (17:01 +0200)]
rgw: drop req_state::aws4_auth::payload_hash as it doesn't need to be global.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: rgw::auth::s3::get_v4_signature doesn't depend on req_state anymore.
Radoslaw Zarzynski [Fri, 14 Apr 2017 14:51:54 +0000 (16:51 +0200)]
rgw: rgw::auth::s3::get_v4_signature doesn't depend on req_state anymore.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: dissect basic AWSv4's credentials parsing into separated function.
Radoslaw Zarzynski [Fri, 14 Apr 2017 14:08:07 +0000 (16:08 +0200)]
rgw: dissect basic AWSv4's credentials parsing into separated function.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: eradicate req_state::http_auth.
Radoslaw Zarzynski [Thu, 13 Apr 2017 19:13:10 +0000 (21:13 +0200)]
rgw: eradicate req_state::http_auth.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: dissect AWSv4's Canonical Headers crafting into a separated function.
Radoslaw Zarzynski [Thu, 13 Apr 2017 17:13:30 +0000 (19:13 +0200)]
rgw: dissect AWSv4's Canonical Headers crafting into a separated function.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: dissect AWSv4's Canonical QS crafting into a separated function.
Radoslaw Zarzynski [Thu, 13 Apr 2017 16:49:38 +0000 (18:49 +0200)]
rgw: dissect AWSv4's Canonical QS crafting into a separated function.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: dissect AWSv4's Canonical URI crafting into a separated function.
Radoslaw Zarzynski [Thu, 13 Apr 2017 16:32:29 +0000 (18:32 +0200)]
rgw: dissect AWSv4's Canonical URI crafting into a separated function.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: get_v4_canonical_request_hash doesn't depend on req_state anymore.
Radoslaw Zarzynski [Thu, 13 Apr 2017 15:12:43 +0000 (17:12 +0200)]
rgw: get_v4_canonical_request_hash doesn't depend on req_state anymore.

In AWSv4 the hash of real, transfered payload IS NOT necessary to form
a Canonical Request, and thus verify a Signature. x-amz-content-sha256
header lets get the information very early -- before seeing first byte
of HTTP body. As a consequence, we can decouple Signature verification
from payload's fingerprint check. Although RadosGW doesn't do that for
now, the situation will definitely change in the future.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: rework interfaces of AWSv4 helper primitives.
Radoslaw Zarzynski [Thu, 13 Apr 2017 02:38:28 +0000 (04:38 +0200)]
rgw: rework interfaces of AWSv4 helper primitives.

Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agorgw: aws4: add AWS4 auth support for S3 Post Object API
Javier M. Mellid [Fri, 10 Mar 2017 12:55:21 +0000 (13:55 +0100)]
rgw: aws4: add AWS4 auth support for S3 Post Object API

RGW S3 supports HTTP POST requests so users can upload content directly.

This patch adds AWS v4 to handle form data properly.

Fixes: http://tracker.ceph.com/issues/18800
Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
8 years agoMerge pull request #15530 from tchaikov/wip-jq-without-first
Kefu Chai [Wed, 7 Jun 2017 08:44:54 +0000 (16:44 +0800)]
Merge pull request #15530 from tchaikov/wip-jq-without-first

qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3

Reviewed-by: David Zafman <dzafman@redhat.com>
8 years agoMerge pull request #15423 from liewegas/wip-fix-indent
Kefu Chai [Wed, 7 Jun 2017 05:09:45 +0000 (13:09 +0800)]
Merge pull request #15423 from liewegas/wip-fix-indent

mon/FSCommand: fix indentation

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #15497 from liewegas/wip-log-last
Kefu Chai [Wed, 7 Jun 2017 04:30:06 +0000 (12:30 +0800)]
Merge pull request #15497 from liewegas/wip-log-last

mon/LogMonitor: 'log last' command

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #15522 from liewegas/wip-19901
Kefu Chai [Wed, 7 Jun 2017 04:20:57 +0000 (12:20 +0800)]
Merge pull request #15522 from liewegas/wip-19901

ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #15422 from liewegas/wip-osd-rotational
Sage Weil [Wed, 7 Jun 2017 03:09:46 +0000 (22:09 -0500)]
Merge pull request #15422 from liewegas/wip-osd-rotational

osd: hdd vs ssd defaults for osd op thread pool

Reviewed-by: Mark Nelson <mnelson@redhat.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
8 years agoMerge pull request #15517 from liewegas/wip-20197
Sage Weil [Wed, 7 Jun 2017 03:07:32 +0000 (22:07 -0500)]
Merge pull request #15517 from liewegas/wip-20197

qa/suites/rados/upgrade: restart mds

8 years agoMerge pull request #15523 from ceph/wip-16674
Sage Weil [Wed, 7 Jun 2017 03:04:48 +0000 (22:04 -0500)]
Merge pull request #15523 from ceph/wip-16674

selinux: Allow read on var_run_t

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoqa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3 15530/head
Kefu Chai [Wed, 7 Jun 2017 01:32:19 +0000 (09:32 +0800)]
qa/workunits/ceph-helpers.sh: use syntax understood by jq 1.3

trusty still ships jq 1.3 which does not offer "first". see
https://stedolan.github.io/jq/manual/v1.3/ .

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #14745 from trociny/wip-18789
Jason Dillaman [Wed, 7 Jun 2017 00:56:49 +0000 (20:56 -0400)]
Merge pull request #14745 from trociny/wip-18789

rbd-mirror: coordinate image syncs with leader

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoMerge pull request #15243 from yuyuyu101/wip-20049
Haomai Wang [Wed, 7 Jun 2017 00:32:53 +0000 (08:32 +0800)]
Merge pull request #15243 from yuyuyu101/wip-20049

msg: don't set msgr addr when disabing client bind

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
8 years agoMerge pull request #14117 from zhangsw/fix-rgw-getobjectmetadata-bug
Yehuda Sadeh [Wed, 7 Jun 2017 00:18:39 +0000 (17:18 -0700)]
Merge pull request #14117 from zhangsw/fix-rgw-getobjectmetadata-bug

rgw: return the version id in get object and object metadata request.

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
8 years agoMerge pull request #15386 from ivancich/wip-add-readme-that-dmclock-is-a-subtree
Josh Durgin [Tue, 6 Jun 2017 22:48:04 +0000 (15:48 -0700)]
Merge pull request #15386 from ivancich/wip-add-readme-that-dmclock-is-a-subtree

doc: add README to dmclock subdir to inform developers it's a git subtree

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #15392 from dillaman/wip-20049
Yuri Weinstein [Tue, 6 Jun 2017 22:18:51 +0000 (15:18 -0700)]
Merge pull request #15392 from dillaman/wip-20049

msg: do not enable client-side binding by default

Reviewed-by: Haomai Wang <haomai@xsky.com>
8 years agoMerge pull request #15513 from Fabian-Gruenbichler/fixmgrdesc
Sage Weil [Tue, 6 Jun 2017 20:31:22 +0000 (15:31 -0500)]
Merge pull request #15513 from Fabian-Gruenbichler/fixmgrdesc

debian: ceph-mgr: fix package description

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: John Spray <john.spray@redhat.com>
8 years agoMerge pull request #15375 from ivancich/wip-fix-dmclock-testing
Sage Weil [Tue, 6 Jun 2017 20:27:07 +0000 (15:27 -0500)]
Merge pull request #15375 from ivancich/wip-fix-dmclock-testing

osd/dmclock/testing: reorganize testing, building now optional

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
8 years agoMerge pull request #15378 from Liuchang0812/print_ret_code_of_json_command
Sage Weil [Tue, 6 Jun 2017 20:26:28 +0000 (15:26 -0500)]
Merge pull request #15378 from Liuchang0812/print_ret_code_of_json_command

ceph.in: print return code when json_command failed

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #15496 from wjwithagen/wip-wjw-host-to-ceph-errno
Sage Weil [Tue, 6 Jun 2017 20:26:15 +0000 (15:26 -0500)]
Merge pull request #15496 from wjwithagen/wip-wjw-host-to-ceph-errno

core: include/types.h, introduce host_to_ceph_errno

Reviewed-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #15500 from liewegas/wip-20135
Sage Weil [Tue, 6 Jun 2017 20:25:37 +0000 (15:25 -0500)]
Merge pull request #15500 from liewegas/wip-20135

pybind/ceph_argparse: fix empty string check

8 years agoMerge pull request #15502 from xiexingguo/wip-fix-overload-extents
Sage Weil [Tue, 6 Jun 2017 20:25:16 +0000 (15:25 -0500)]
Merge pull request #15502 from xiexingguo/wip-fix-overload-extents

os/bluestore: avoid overloading extents during reshard; atomic deferred_batch_ops

Reviewed-by: Igor Fedotov <ifedotov@mirantis.com>
Reviewed-by: Sage Weil <sage@redhat.com>
8 years agoqa/suites/rados/upgrade: restart mds 15517/head
Sage Weil [Tue, 6 Jun 2017 20:23:25 +0000 (16:23 -0400)]
qa/suites/rados/upgrade: restart mds

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoselinux: Allow read on var_run_t 15523/head
Boris Ranto [Tue, 6 Jun 2017 19:27:54 +0000 (21:27 +0200)]
selinux: Allow read on var_run_t

Fixes: http://tracker.ceph.com/issues/16674
Signed-off-by: Boris Ranto <branto@redhat.com>
8 years agoceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry 15522/head
Sage Weil [Tue, 6 Jun 2017 19:13:50 +0000 (15:13 -0400)]
ceph_test_rados_api_misc: fix LibRadosMiscConnectFailure.ConnectFailure retry

Fixes: http://tracker.ceph.com/issues/19901
Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoosd/dmclock/testing: reorganize testing, building now optional 15375/head
J. Eric Ivancich [Fri, 19 May 2017 20:54:33 +0000 (16:54 -0400)]
osd/dmclock/testing: reorganize testing, building now optional

Modify cmake files to take advantage or re-organization of dmclock's
cmake set-up, specifically not having dmclock's cmake files call
add_test. Remove dmclock tests from being dependencies on ceph's
"test" target. Make change so dmclock tests are not built unless
WITH_TESTS and WITH_DMCLOCK_TESTS are both set. This is so openSUSE
Leap will build correctly.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
8 years agoMerge commit '5c612d7e32a07a01b3b97f9cf58f2a3cef0e2e73'
J. Eric Ivancich [Tue, 6 Jun 2017 19:01:03 +0000 (15:01 -0400)]
Merge commit '5c612d7e32a07a01b3b97f9cf58f2a3cef0e2e73'

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
8 years agoSquashed 'src/dmclock/' changes from d6586d7..64bcc6e
J. Eric Ivancich [Tue, 6 Jun 2017 19:01:02 +0000 (15:01 -0400)]
Squashed 'src/dmclock/' changes from d6586d7..64bcc6e

64bcc6e Remove FindGTest and FindBoost, which already exist in cmake required version 2.8.11 and later. Also clean up.
ed6dc60 Do some clean-up and remove memory leaks from tests and simulations.
360172a Allow RunEvery object to be ended before destruction via "join" member function.
135b5d0 Fix two bugs discovered by valgrind. Do some other code clean-up as well.
a26d29e Modify cmake files to match naming of cmake's upstream gtest and ceph's boost.
e23e63f Reorganize CMakeLists.txt files, so that projects that incorporate dmclock can control whether add_test is called. Now, add_test is called only at the top-level. Projects that incorporate dmclock can use add_subdirectory on subdirectories beneath the top-level to selective exactly what is included.

git-subtree-dir: src/dmclock
git-subtree-split: 64bcc6ea697c7e790ec4a4229d1bb1d492f9e803

8 years agoqa/workunits/cephtool/test.sh: test 'log last [n]' 15497/head
Sage Weil [Tue, 6 Jun 2017 18:52:26 +0000 (14:52 -0400)]
qa/workunits/cephtool/test.sh: test 'log last [n]'

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agocommon/LogEntry: make LogEntryKey opaque and cache its hash value
Sage Weil [Tue, 6 Jun 2017 18:50:46 +0000 (14:50 -0400)]
common/LogEntry: make LogEntryKey opaque and cache its hash value

This avoids recalculating.  We eliminate the default ctor at the same
time and make the type totally opaque (so that its fields cannot be
modified except by the ctor and decode).

Signed-off-by: Sage Weil <sage@redhat.com>
8 years agoMerge pull request #15390 from liewegas/wip-osdmap-state
Sage Weil [Tue, 6 Jun 2017 18:19:18 +0000 (13:19 -0500)]
Merge pull request #15390 from liewegas/wip-osdmap-state

osd/OSDMap: make osd_state 32 bits wide

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
8 years agoMerge pull request #15515 from tchaikov/wip-crc32-aarch64
Dan Mick [Tue, 6 Jun 2017 18:01:53 +0000 (11:01 -0700)]
Merge pull request #15515 from tchaikov/wip-crc32-aarch64

crc32c: include acconfig.h to fix ceph_crc32c_aarch64()

Reviewed-by: Dan Mick <dmick@redhat.com>
8 years agocrc32c: include acconfig.h to fix ceph_crc32c_aarch64() 15515/head
Kefu Chai [Tue, 6 Jun 2017 13:40:19 +0000 (21:40 +0800)]
crc32c: include acconfig.h to fix ceph_crc32c_aarch64()

HAVE_ARMV8_CRC is defined by "acconfig.h". so we need to include it for
the definition.

it's a regresssion introduced by 2a3382f. in that change,
crc32c_intel_baseline.h was removed from crc32.cc, and that header
includes accconfig.h indirectly. that's why we will have a dummy
ceph_crc32c_aarch64() which always returns 0. the dummy implementation
was intended to please the compiler. but we can probably just drop it in
future as a cleanup.

Signed-off-by: Kefu Chai <kchai@redhat.com>
8 years agoMerge pull request #15511 from tchaikov/wip-doc-cartesian-product
Kefu Chai [Tue, 6 Jun 2017 13:57:49 +0000 (21:57 +0800)]
Merge pull request #15511 from tchaikov/wip-doc-cartesian-product

doc: update sample explaning "%" operator in test suites

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Loic Dachary <loic@dachary.org>