]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agomsg/async, v2: fix wrong base for KeepAliveFrameAck. 26466/head
Radoslaw Zarzynski [Sat, 23 Feb 2019 00:49:17 +0000 (01:49 +0100)]
msg/async, v2: fix wrong base for KeepAliveFrameAck.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: frame decoding operates on bufferlist.
Radoslaw Zarzynski [Thu, 21 Feb 2019 20:35:13 +0000 (21:35 +0100)]
msg/async, v2: frame decoding operates on bufferlist.

This change is driven by buggy buffer's life time management
polluting AuthAuthorizer::bl with dangling raw_static instances.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop ceph_msg_header2 fields duplicating segment info.
Radoslaw Zarzynski [Thu, 21 Feb 2019 20:33:48 +0000 (21:33 +0100)]
msg/async, v2: drop ceph_msg_header2 fields duplicating segment info.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop the scaffolding in preamble parsing.
Radoslaw Zarzynski [Thu, 21 Feb 2019 00:42:17 +0000 (01:42 +0100)]
msg/async, v2: drop the scaffolding in preamble parsing.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: handle msg authentication failures.
Radoslaw Zarzynski [Thu, 21 Feb 2019 00:26:25 +0000 (01:26 +0100)]
msg/async, v2: handle msg authentication failures.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop depedency on uint128_t. Clean up onwire crypto.
Radoslaw Zarzynski [Wed, 20 Feb 2019 15:01:28 +0000 (16:01 +0100)]
msg/async, v2: drop depedency on uint128_t. Clean up onwire crypto.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: fix cur_msg_size in ::reset_recv_state().
Radoslaw Zarzynski [Wed, 20 Feb 2019 06:16:53 +0000 (07:16 +0100)]
msg/async, v2: fix cur_msg_size in ::reset_recv_state().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop magic numbers for segments.
Radoslaw Zarzynski [Wed, 20 Feb 2019 01:44:38 +0000 (02:44 +0100)]
msg/async, v2: drop magic numbers for segments.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: get rid of magic number in SignedEncryptedFrame.
Radoslaw Zarzynski [Wed, 20 Feb 2019 01:24:24 +0000 (02:24 +0100)]
msg/async, v2: get rid of magic number in SignedEncryptedFrame.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: get rid of the magic number for default alignment.
Radoslaw Zarzynski [Wed, 20 Feb 2019 01:21:52 +0000 (02:21 +0100)]
msg/async, v2: get rid of the magic number for default alignment.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: decouple onwire segment length from logical length.
Radoslaw Zarzynski [Tue, 19 Feb 2019 20:56:25 +0000 (21:56 +0100)]
msg/async, v2: decouple onwire segment length from logical length.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: follow the const bl& concept in authenticated_encrypt_update().
Radoslaw Zarzynski [Tue, 19 Feb 2019 20:51:36 +0000 (21:51 +0100)]
msg/async, v2: follow the const bl& concept in authenticated_encrypt_update().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop handling of extra segments in ::fill_preamble().
Radoslaw Zarzynski [Tue, 19 Feb 2019 16:14:52 +0000 (17:14 +0100)]
msg/async, v2: drop handling of extra segments in ::fill_preamble().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: get rid of magic numbers for alignment.
Radoslaw Zarzynski [Tue, 19 Feb 2019 16:13:32 +0000 (17:13 +0100)]
msg/async, v2: get rid of magic numbers for alignment.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop reserve() from onwire crypto's TxHandler.
Radoslaw Zarzynski [Tue, 19 Feb 2019 13:09:52 +0000 (14:09 +0100)]
msg/async, v2: drop reserve() from onwire crypto's TxHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: add con_mode to debug lines
Sage Weil [Mon, 18 Feb 2019 19:43:31 +0000 (13:43 -0600)]
msg/async: add con_mode to debug lines

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/DispatchQueue: include con_mode in <== line
Sage Weil [Sun, 17 Feb 2019 15:42:23 +0000 (09:42 -0600)]
msg/DispatchQueue: include con_mode in <== line

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/ceph_strings: get_con_mode_name()
Sage Weil [Sun, 17 Feb 2019 15:42:10 +0000 (09:42 -0600)]
common/ceph_strings: get_con_mode_name()

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/Connection: add get_con_mode()
Sage Weil [Sun, 17 Feb 2019 15:41:56 +0000 (09:41 -0600)]
msg/Connection: add get_con_mode()

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async/ProtocolV2: clean up preamble comments
Sage Weil [Sun, 17 Feb 2019 15:30:56 +0000 (09:30 -0600)]
msg/async/ProtocolV2: clean up preamble comments

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async, v2: improve debug around sending client indent.
Radoslaw Zarzynski [Thu, 14 Feb 2019 03:59:32 +0000 (04:59 +0100)]
msg/async, v2: improve debug around sending client indent.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: bring back the no-encryption ability.
Radoslaw Zarzynski [Sun, 17 Feb 2019 01:26:59 +0000 (02:26 +0100)]
msg/async, v2: bring back the no-encryption ability.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: workaround con_mode handling.
Radoslaw Zarzynski [Sat, 16 Feb 2019 00:38:40 +0000 (01:38 +0100)]
msg/async, v2: workaround con_mode handling.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: drop the throttles bypass.
Radoslaw Zarzynski [Fri, 15 Feb 2019 15:40:22 +0000 (16:40 +0100)]
msg/async, v2: drop the throttles bypass.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, v2: READ_MESSAGE_FRONT -> THROTTLE_DONE.
Radoslaw Zarzynski [Fri, 15 Feb 2019 14:11:09 +0000 (15:11 +0100)]
msg/async, v2: READ_MESSAGE_FRONT -> THROTTLE_DONE.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: WaitFrame of V2 can be crypto processed now.
Radoslaw Zarzynski [Thu, 14 Feb 2019 00:41:09 +0000 (01:41 +0100)]
msg/async: WaitFrame of V2 can be crypto processed now.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: initial multi-segment support for V2.
Radoslaw Zarzynski [Fri, 15 Feb 2019 02:09:19 +0000 (03:09 +0100)]
msg/async: initial multi-segment support for V2.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: V2 bypasses throttles just for development.
Radoslaw Zarzynski [Thu, 14 Feb 2019 20:02:52 +0000 (21:02 +0100)]
msg/async: V2 bypasses throttles just for development.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: rectify reseting security state in ProtocolV2::reset_recv_state().
Radoslaw Zarzynski [Thu, 14 Feb 2019 19:31:49 +0000 (20:31 +0100)]
msg/async: rectify reseting security state in ProtocolV2::reset_recv_state().

The reason for that is:

  2019-02-14 19:59:00.774 7f78aebf3700 20 --2- v2:127.0.0.1:40678/0 >>
    v2:127.0.0.1:40680/0 conn(0x5574ae75e480 0x5574ae696000 :-1 s=READY
    pgs=11 cs=0 l=0 rx=0x5574ae2af5f0 tx=0x5574ae79bc00).handle_read_frame_preamble_main
    r=-1
  2019-02-14 19:59:00.774 7f78aebf3700  1 --2- v2:127.0.0.1:40678/0 >>
    v2:127.0.0.1:40680/0 conn(0x5574ae75e480 0x5574ae696000 :-1 s=READY
    pgs=11 cs=0 l=0 rx=0x5574ae2af5f0 tx=0x5574ae79bc00).handle_read_frame_preamble_main
    read frame length and tag failed r=-1 ((1) Operation not permitted)
  2019-02-14 19:59:00.774 7f78aebf3700 10 --2- v2:127.0.0.1:40678/0 >>
    v2:127.0.0.1:40680/0 conn(0x5574ae75e480 0x5574ae696000 :-1 s=READY
    pgs=11 cs=0 l=0 rx=0x5574ae2af5f0 tx=0x5574ae79bc00)._fault

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: switch to CRC32 for V2 preamble blocks.
Radoslaw Zarzynski [Thu, 14 Feb 2019 19:30:05 +0000 (20:30 +0100)]
msg/async: switch to CRC32 for V2 preamble blocks.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: bump up preamble block size to 32 bytes.
Radoslaw Zarzynski [Thu, 14 Feb 2019 19:25:55 +0000 (20:25 +0100)]
msg/async: bump up preamble block size to 32 bytes.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: get rid of the distiction on main and extra V2 preamble.
Radoslaw Zarzynski [Thu, 14 Feb 2019 15:58:42 +0000 (16:58 +0100)]
msg/async: get rid of the distiction on main and extra V2 preamble.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: add debug around empty ClientIdent::addrs.
Radoslaw Zarzynski [Thu, 14 Feb 2019 03:02:41 +0000 (04:02 +0100)]
msg/async: add debug around empty ClientIdent::addrs.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: V2 uses segments instead of next_payload_len, part 1.
Radoslaw Zarzynski [Thu, 14 Feb 2019 00:39:26 +0000 (01:39 +0100)]
msg/async: V2 uses segments instead of next_payload_len, part 1.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: perform V2 frame dispatch in dedicated method.
Radoslaw Zarzynski [Wed, 13 Feb 2019 18:13:43 +0000 (19:13 +0100)]
msg/async: perform V2 frame dispatch in dedicated method.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: implement crc checking for main preamble of V2.
Radoslaw Zarzynski [Wed, 13 Feb 2019 18:05:32 +0000 (19:05 +0100)]
msg/async: implement crc checking for main preamble of V2.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: receive V2 messages with new preable format.
Radoslaw Zarzynski [Wed, 13 Feb 2019 17:28:53 +0000 (18:28 +0100)]
msg/async: receive V2 messages with new preable format.

Currently we do support messages with single segment only.
Adding multi-segment and proper alignment handling is WIP.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: transmit V2 messages with new preable format.
Radoslaw Zarzynski [Tue, 12 Feb 2019 15:30:30 +0000 (16:30 +0100)]
msg/async: transmit V2 messages with new preable format.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: reset crypto processors in ProtocolV2::reset_recv_state().
Radoslaw Zarzynski [Mon, 11 Feb 2019 05:46:18 +0000 (06:46 +0100)]
msg/async: reset crypto processors in ProtocolV2::reset_recv_state().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: preamble of V2 Frames is now encrypted and authenticated.
Radoslaw Zarzynski [Mon, 11 Feb 2019 05:44:36 +0000 (06:44 +0100)]
msg/async: preamble of V2 Frames is now encrypted and authenticated.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: slightly rework ProtocolV2 preamble crafting.
Radoslaw Zarzynski [Mon, 11 Feb 2019 05:42:24 +0000 (06:42 +0100)]
msg/async: slightly rework ProtocolV2 preamble crafting.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: reset the rx stream handler in ::handle_read_frame_length_and_tag.
Radoslaw Zarzynski [Mon, 11 Feb 2019 00:09:48 +0000 (01:09 +0100)]
msg/async: reset the rx stream handler in ::handle_read_frame_length_and_tag.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth, msg/async, v2: drop AuthStreamHandler and AES128GCM_StreamHandler.
Radoslaw Zarzynski [Sun, 10 Feb 2019 23:31:49 +0000 (00:31 +0100)]
auth, msg/async, v2: drop AuthStreamHandler and AES128GCM_StreamHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: Messages in Protocol2 are crypto-processed only once.
Radoslaw Zarzynski [Fri, 8 Feb 2019 15:01:00 +0000 (16:01 +0100)]
msg/async: Messages in Protocol2 are crypto-processed only once.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: SignedEncryptedFrame uses ceph::crypto::onwire.
Radoslaw Zarzynski [Thu, 7 Feb 2019 21:32:41 +0000 (22:32 +0100)]
msg/async: SignedEncryptedFrame uses ceph::crypto::onwire.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: expose message segmentation to ::write_message().
Radoslaw Zarzynski [Thu, 7 Feb 2019 14:11:27 +0000 (15:11 +0100)]
msg/async: expose message segmentation to ::write_message().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: implement ceph::crypto::onwire with OpenSSL EVP.
Radoslaw Zarzynski [Tue, 5 Feb 2019 22:39:05 +0000 (23:39 +0100)]
auth: implement ceph::crypto::onwire with OpenSSL EVP.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: introduce ceph::crypto::onwire interfaces.
Radoslaw Zarzynski [Tue, 5 Feb 2019 14:17:04 +0000 (15:17 +0100)]
auth: introduce ceph::crypto::onwire interfaces.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: decouple MessageHeaderFrame from SignedEncryptedFrame.
Radoslaw Zarzynski [Wed, 30 Jan 2019 20:27:17 +0000 (21:27 +0100)]
msg/async: decouple MessageHeaderFrame from SignedEncryptedFrame.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: move Protocol* asserts in SignedEncryptedFrame to compile time.
Radoslaw Zarzynski [Wed, 30 Jan 2019 20:19:06 +0000 (21:19 +0100)]
msg/async: move Protocol* asserts in SignedEncryptedFrame to compile time.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: simplify encryption handling in the PayloadFrame class.
Radoslaw Zarzynski [Wed, 30 Jan 2019 20:07:42 +0000 (21:07 +0100)]
msg/async: simplify encryption handling in the PayloadFrame class.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: drop AES128CBC_HMACSHA256_StreamHandler.
Radoslaw Zarzynski [Mon, 28 Jan 2019 13:08:25 +0000 (14:08 +0100)]
auth: drop AES128CBC_HMACSHA256_StreamHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: ensure consistency between con_mode and session_security.
Radoslaw Zarzynski [Sun, 27 Jan 2019 19:28:40 +0000 (20:28 +0100)]
msg/async: ensure consistency between con_mode and session_security.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: drop MessageFrame. Use MessageHeaderFrame instead.
Radoslaw Zarzynski [Sun, 27 Jan 2019 16:23:31 +0000 (17:23 +0100)]
msg/async: drop MessageFrame. Use MessageHeaderFrame instead.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: set con_mode and session_security at both peers.
Radoslaw Zarzynski [Sat, 26 Jan 2019 00:37:17 +0000 (01:37 +0100)]
msg/async: set con_mode and session_security at both peers.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async, auth: switch AuthStreamHandler::rxtx_t to std::unique_ptr.
Radoslaw Zarzynski [Thu, 24 Jan 2019 00:46:50 +0000 (01:46 +0100)]
msg/async, auth: switch AuthStreamHandler::rxtx_t to std::unique_ptr.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocrypto: AES128GCM_StreamHandler brings authenticated encryption with AES-GCM.
Radoslaw Zarzynski [Thu, 24 Jan 2019 00:34:31 +0000 (01:34 +0100)]
crypto: AES128GCM_StreamHandler brings authenticated encryption with AES-GCM.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoinclude: uint128_t -> ceph::uint128_t + using.
Radoslaw Zarzynski [Mon, 28 Jan 2019 12:19:23 +0000 (13:19 +0100)]
include: uint128_t -> ceph::uint128_t + using.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: move crypto handling from ProtocolV2 into AuthStreamHandler.
Radoslaw Zarzynski [Wed, 23 Jan 2019 01:28:04 +0000 (02:28 +0100)]
msg/async: move crypto handling from ProtocolV2 into AuthStreamHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth, msg: dissect AuthStreamHandler from AuthSessionHandler.
Radoslaw Zarzynski [Tue, 22 Jan 2019 21:46:36 +0000 (22:46 +0100)]
auth, msg: dissect AuthStreamHandler from AuthSessionHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth/cephx: make _calc_signature() of CephxSessionHandler private.
Radoslaw Zarzynski [Wed, 23 Jan 2019 17:18:25 +0000 (18:18 +0100)]
auth/cephx: make _calc_signature() of CephxSessionHandler private.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: drop {en,de}crypt_message() from AuthSessionHandler.
Radoslaw Zarzynski [Tue, 22 Jan 2019 20:37:49 +0000 (21:37 +0100)]
auth: drop {en,de}crypt_message() from AuthSessionHandler.

Yeah, this means wire encryption isn't supposed for V1 anymore.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: introduce DummyAuthSessionHandler.
Radoslaw Zarzynski [Tue, 22 Jan 2019 20:27:19 +0000 (21:27 +0100)]
auth: introduce DummyAuthSessionHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: make AuthSessionHandler purely abstract.
Radoslaw Zarzynski [Tue, 22 Jan 2019 19:19:25 +0000 (20:19 +0100)]
auth: make AuthSessionHandler purely abstract.

This is possible because the dropped state is/was required only by:
 * CephxSessionHandler,
 * methods removed by the previous commits.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: drop no_security() from AuthSessionHandler.
Radoslaw Zarzynski [Tue, 22 Jan 2019 18:59:46 +0000 (19:59 +0100)]
auth: drop no_security() from AuthSessionHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: drop get_protocol() and get_key() from AuthSessionHandler.
Radoslaw Zarzynski [Tue, 22 Jan 2019 18:43:26 +0000 (19:43 +0100)]
auth: drop get_protocol() and get_key() from AuthSessionHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoauth: drop sign_bufferlist() from AuthSessionHandler.
Radoslaw Zarzynski [Tue, 22 Jan 2019 16:25:18 +0000 (17:25 +0100)]
auth: drop sign_bufferlist() from AuthSessionHandler.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: drop get_auth_meta() from Protocol.
Radoslaw Zarzynski [Tue, 22 Jan 2019 16:24:37 +0000 (17:24 +0100)]
msg/async: drop get_auth_meta() from Protocol.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomsg/async: emphasize ProtocolV2 does authenticated encryption.
Radoslaw Zarzynski [Mon, 21 Jan 2019 23:37:59 +0000 (00:37 +0100)]
msg/async: emphasize ProtocolV2 does authenticated encryption.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agoMerge PR #26541 into master
Sage Weil [Thu, 21 Feb 2019 18:47:35 +0000 (12:47 -0600)]
Merge PR #26541 into master

* refs/pull/26541/head:
msg/async: guard protocol Interceptor with preprocessor variable
cmake: add UNIT_TESTS_BUILD preprocessor var based on WITH_TESTS cmake var
test/msgr: remove test_msgr2 unused test
msg/async: msgr2: resolve reconnect races
test/msgr: msgr2 unit tests using the protocol interceptor WIP
msg/async: Protocol interceptor infrastructure

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #26458 into master
Patrick Donnelly [Thu, 21 Feb 2019 18:43:27 +0000 (10:43 -0800)]
Merge PR #26458 into master

* refs/pull/26458/head:
MDSMonitor: do not assign standby-replay when degraded

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #26468 into master
Patrick Donnelly [Thu, 21 Feb 2019 18:26:25 +0000 (10:26 -0800)]
Merge PR #26468 into master

* refs/pull/26468/head:
qa: config recall settings to test cache drop
qa: check cache dump works without timeout
mds: add 2nd order recall throttle
mds: drive log flush and cache trim during recall
mds: avoid gather assertion when subs exist
mds: output full details for recall threshold

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #26422 into master
Patrick Donnelly [Thu, 21 Feb 2019 18:11:55 +0000 (10:11 -0800)]
Merge PR #26422 into master

* refs/pull/26422/head:
mds: start to trim cache when mds enters clientreplay state
mds: avoid evaluating stray dentry multiple times
mds: simplfy stray manager activation

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #26459 into master
Patrick Donnelly [Thu, 21 Feb 2019 18:10:25 +0000 (10:10 -0800)]
Merge PR #26459 into master

* refs/pull/26459/head:
mds: do not show standby-replay as ranks

Reviewed-by: Zheng Yan <zyan@redhat.com>
6 years agoMerge PR #26486 into master
Patrick Donnelly [Thu, 21 Feb 2019 18:09:12 +0000 (10:09 -0800)]
Merge PR #26486 into master

* refs/pull/26486/head:
mds: remove wrong puts on Message

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #26237 into master
Sage Weil [Thu, 21 Feb 2019 17:18:46 +0000 (11:18 -0600)]
Merge PR #26237 into master

* refs/pull/26237/head:
Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"
doc/librados: explicitly mention that the C++ API is not stable
ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
librados: add symbol versioning to the C++ API
librados: add symbol versioning to the C API
librados: revert librados3/libradoscc back to librados2

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agomsg/async: guard protocol Interceptor with preprocessor variable 26541/head
Ricardo Dias [Thu, 21 Feb 2019 16:01:22 +0000 (16:01 +0000)]
msg/async: guard protocol Interceptor with preprocessor variable

Signed-off-by: Ricardo Dias <rdias@suse.com>
6 years agocmake: add UNIT_TESTS_BUILD preprocessor var based on WITH_TESTS cmake var
Ricardo Dias [Thu, 21 Feb 2019 16:00:26 +0000 (16:00 +0000)]
cmake: add UNIT_TESTS_BUILD preprocessor var based on WITH_TESTS cmake var

Signed-off-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge pull request #26395 from ykcowrebbaj/patch-1
Jason Dillaman [Thu, 21 Feb 2019 14:54:17 +0000 (09:54 -0500)]
Merge pull request #26395 from ykcowrebbaj/patch-1

doc: corrected options of iscsiadm command

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge pull request #26521 from dillaman/wip-38385
Mykola Golub [Thu, 21 Feb 2019 14:46:05 +0000 (16:46 +0200)]
Merge pull request #26521 from dillaman/wip-38385

qa/workunits: fixed mon address parsing for rbd-mirror

6 years agoMerge pull request #26502 from tchaikov/wip-common-coroutine-ifdef
Casey Bodley [Thu, 21 Feb 2019 14:33:58 +0000 (09:33 -0500)]
Merge pull request #26502 from tchaikov/wip-common-coroutine-ifdef

common: define BOOST_COROUTINES_NO_DEPRECATION_WARNING if not yet

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoRevert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split" 26237/head
Jason Dillaman [Wed, 20 Feb 2019 20:00:18 +0000 (15:00 -0500)]
Revert "qa: update test_envlibrados_for_rocksdb.sh for libradospp split"

This reverts commit 0475dfdea315e5208abc201355523c8dab78469f.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agodoc/librados: explicitly mention that the C++ API is not stable
Jason Dillaman [Tue, 12 Feb 2019 14:07:16 +0000 (09:07 -0500)]
doc/librados: explicitly mention that the C++ API is not stable

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoceph.spec: force use of upgrade devtoolset-gcc under RHEL 7
Jason Dillaman [Tue, 5 Feb 2019 14:40:02 +0000 (09:40 -0500)]
ceph.spec: force use of upgrade devtoolset-gcc under RHEL 7

There is a known crash under C++17 mode that requires an updated
devtoolset to address.

See https://bugzilla.redhat.com/show_bug.cgi?id=1616223

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agolibrados: add symbol versioning to the C++ API
Jason Dillaman [Mon, 4 Feb 2019 21:13:45 +0000 (16:13 -0500)]
librados: add symbol versioning to the C++ API

The future goal would be to change the version for each Ceph major
release to ensure C++ applications will need to be recompiled against
the librados C++ API since we don't guarentee ABI stability.

Fixes: https://tracker.ceph.com/issues/38177
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agodoc/rbd: fix options of iscsiadm command 26395/head
ykcowrebbaj [Wed, 13 Feb 2019 09:13:46 +0000 (17:13 +0800)]
doc/rbd: fix options of iscsiadm command

Signed-off-by: ZhuJieWen <154667715@qq.com>
6 years agoMerge pull request #26241 from jmolmo/hosts_management_add_rm
Sebastian Wagner [Thu, 21 Feb 2019 12:40:29 +0000 (13:40 +0100)]
Merge pull request #26241 from jmolmo/hosts_management_add_rm

mgr/ansible: Add/remove hosts

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sébastien Han <seb@redhat.com>
6 years agomgr/ansible: Add/remove hosts 26241/head
Juan Miguel Olmo Martínez [Fri, 1 Feb 2019 11:06:04 +0000 (12:06 +0100)]
mgr/ansible: Add/remove hosts

- Implementation of operations add/rm hosts
- Improvement of error management in Ansible Runner Service Client

- Addressed @sebastian-philipp suggestions and findings
- Remove the <role> parameter of hosts operations.
Now all the hosts are placed by default in a specific Ansible Inventory group called <orchestrator>.
Discussion on-going about to keep Host management API endpoint or not.
If hosts management is removed, further modifications will be needed to:
- Keep updated the <host inventory> in the orchestrator
- Manage hosts groups when operations are executed
- Adapted new commands (host add/rm) to use to the new <orchestrator_cli> syntax

- Improved error management
- Added return information to Add/remove host methods docstring

- Removed redundant exceptions following @sebastian-philipp suggestion

- Removed duplicated code
- Removed extra space

- Fixed unit tests
- Improved error management in launch playbook

- removed unused param in docstring (orchestrator.py)

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
6 years agoMerge pull request #26525 from liupengs/wip-msg-async-fix-rdma-exchage-port
Kefu Chai [Thu, 21 Feb 2019 07:08:28 +0000 (15:08 +0800)]
Merge pull request #26525 from liupengs/wip-msg-async-fix-rdma-exchage-port

msg/async/rdma: parse IBSYNMsg.lid as hex when receiving message

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26532 from xiexingguo/wip-pool-scrub
Xie Xingguo [Thu, 21 Feb 2019 05:26:15 +0000 (13:26 +0800)]
Merge pull request #26532 from xiexingguo/wip-pool-scrub

mgr: add per pool scrub commands

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #26533 from badone/wip-test-dup_index-trim
Kefu Chai [Thu, 21 Feb 2019 05:13:01 +0000 (13:13 +0800)]
Merge pull request #26533 from badone/wip-test-dup_index-trim

test: Verify a log trim trims the dup_index

Reviewed-By: Eric Ivanvich <ivanvich@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #26402 from tchaikov/wip-install-deps
Kefu Chai [Thu, 21 Feb 2019 03:59:10 +0000 (11:59 +0800)]
Merge pull request #26402 from tchaikov/wip-install-deps

 install-deps.sh: selectively install dependencies

Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
6 years agoMerge PR #26551 into master
Sage Weil [Thu, 21 Feb 2019 03:40:36 +0000 (21:40 -0600)]
Merge PR #26551 into master

* refs/pull/26551/head:
osd/PG: fix get debug refcount line

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge PR #26511 into master
Sage Weil [Thu, 21 Feb 2019 03:36:58 +0000 (21:36 -0600)]
Merge PR #26511 into master

* refs/pull/26511/head:
mgr: Selftest fails, dashboard/server_port not string

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
6 years agoMerge PR #26513 into master
Sage Weil [Thu, 21 Feb 2019 03:36:31 +0000 (21:36 -0600)]
Merge PR #26513 into master

* refs/pull/26513/head:
osd/PG: fix comments in merge_from
osd/PG: align past_intervals and last_epoch_clean for fabricated merge target

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge PR #26526 into master
Sage Weil [Thu, 21 Feb 2019 03:36:13 +0000 (21:36 -0600)]
Merge PR #26526 into master

* refs/pull/26526/head:
rpm,deb: remove btrfs-tools as a build-dependency
rpm,deb: remove bc as a build-dependency

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
6 years agoMerge PR #26536 into master
Sage Weil [Thu, 21 Feb 2019 03:35:11 +0000 (21:35 -0600)]
Merge PR #26536 into master

* refs/pull/26536/head:
src/tools: only build dedup tool if WITH_TESTS is set

Reviewed-by: Myoungwon Oh <omwmw@sk.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
6 years agomsg/async/rdma: parse IBSYNMsg.lid as hex when receiving message 26525/head
LiuPeng [Wed, 20 Feb 2019 02:39:00 +0000 (10:39 +0800)]
msg/async/rdma: parse IBSYNMsg.lid as hex when receiving message

function send_msg encode struct IBSYNMsg to a string, and recv_msg parse the string.
In the function send_msg, im.lid (unsigned short int) is formatted into a string with format string %04x,
so, recv_msg should read im.lid from the string with format string %hx instead of %hu (unsigned short).

Fixes: https://tracker.ceph.com/issues/38391
Signed-off-by: Peng Liu <liupeng37@baidu.com>
6 years agomgr: add per pool scrub commands 26532/head
xie xingguo [Wed, 20 Feb 2019 06:14:26 +0000 (14:14 +0800)]
mgr: add per pool scrub commands

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoosd/PG: fix get debug refcount line 26551/head
Sage Weil [Wed, 20 Feb 2019 23:23:51 +0000 (17:23 -0600)]
osd/PG: fix get debug refcount line

Signed-off-by: Sage Weil <sage@redhat.com>