Commit Graph

97836 Commits

Author SHA1 Message Date
Sebastian Wagner
f82013123f
Merge pull request #26185 from jmolmo/hosts_management_ls
mgr/ansible: Host ls implementation
2019-04-30 13:36:43 +02:00
Kefu Chai
0d1071bd1a
Merge pull request #27883 from majianpeng/crimson-compiler-error
test/crimson: fix a compiler error.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-04-30 19:36:24 +08:00
Sebastian Wagner
828241b675
Merge pull request #27607 from sebastian-philipp/test-orchestrator-id-race
mgr/test_orchestrator: Fix 'TestWriteCompletion' object has no attribute 'id'

Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
2019-04-30 13:29:37 +02:00
Nathan Cutler
8bce53fa72
Merge pull request #27614 from smithfarm/wip-39323
tests: mgr/tox: make run-tox.sh scripts more robust

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
2019-04-30 10:13:00 +02:00
Lenz Grimmer
3ec1130719
Merge pull request #27613 from Devp00l/wip-issue-23858
mgr/dashboard: RBD snapshot name suggestion with local time suffix

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
2019-04-30 09:43:01 +02:00
Jianpeng Ma
13e04977ac test/crimson: fix a compiler error.
When with -DWITH_SEASTAR=ON, met the following bug:
/home/ceph/src/test/crimson/test_alien_echo.cc:164:13: error: ‘client’ was not declared in this scope
             client.msgr->set_require_authorizer(false);
             ^~~~~~
/home/ceph/src/test/crimson/test_alien_echo.cc:164:13: note: suggested alternative: ‘client_t’
             client.msgr->set_require_authorizer(false);
             ^~~~~~
             client_t
/home/ceph/src/test/crimson/test_alien_echo.cc: In instantiation of ‘seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)>::<lambda(auto:48&)> [with auto:48 = seastar_pingpong::Client; auto:47 = ceph::net::Messenger*]’:
/usr/include/c++/7/type_traits:2428:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)> [with auto:47 = ceph::net::Messenger*]::<lambda(auto:48&)>; _Args = {seastar_pingpong::Client&}]’
/usr/include/c++/7/type_traits:2439:55:   required from ‘struct std::__result_of_impl<false, false, seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)> [with auto:47 = ceph::net::Messenger*]::<lambda(auto:48&)>, seastar_pingpong::Client&>’
/usr/include/c++/7/type_traits:2444:12:   required from ‘struct std::__invoke_result<seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)> [with auto:47 = ceph::net::Messenger*]::<lambda(auto:48&)>, seastar_pingpong::Client&>’
/usr/include/c++/7/type_traits:2457:12:   required from ‘class std::result_of<seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)> [with auto:47 = ceph::net::Messenger*]::<lambda(auto:48&)>(seastar_pingpong::Client&)>’
/home//ceph/src/seastar/include/seastar/core/do_with.hh:93:17:   required from ‘auto seastar::do_with(T&&, F&&) [with T = seastar_pingpong::Client; F = seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)> [with auto:47 = ceph::net::Messenger*]::<lambda(auto:48&)>]’
/home/ceph/src/test/crimson/test_alien_echo.cc:184:32:   required from ‘seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)> [with auto:47 = ceph::net::Messenger*]’
/usr/include/c++/7/type_traits:2428:26:   required by substitution of ‘template<class _Fn, class ... _Args> static std::__result_of_success<decltype (declval<_Fn>()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)>; _Args = {ceph::net::Messenger*&&}]’
/usr/include/c++/7/type_traits:2439:55:   required from ‘struct std::__result_of_impl<false, false, seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)>, ceph::net::Messenger*&&>’
/usr/include/c++/7/type_traits:2444:12:   required from ‘struct std::__invoke_result<seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)>, ceph::net::Messenger*&&>’
/usr/include/c++/7/type_traits:2457:12:   required from ‘class std::result_of<seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)>(ceph::net::Messenger*&&)>’
/home//ceph/src/seastar/include/seastar/core/future.hh:980:30:   required by substitution of ‘template<class Func, class Result>  requires  CanApply<Func, ceph::net::Messenger*> Result seastar::future<ceph::net::Messenger*>::then<Func, Result>(Func&&) [with Func = seastar_echo(entity_addr_t, echo_role, unsigned int)::<lambda(auto:47)>; Result = <missing>]’
/home//ceph/src/test/crimson/test_alien_echo.cc:207:8:   required from here
/home/ceph/src/test/crimson/test_alien_echo.cc:190:13: error: base operand of ‘->’ has non-pointer type ‘ceph::net::Messenger’
             client.msgr->set_require_authorizer(false);
             ^~~~~~

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2019-04-30 15:29:08 +08:00
Kefu Chai
1f5bb0c200
Merge pull request #27880 from majianpeng/fio_ceph_messenger
test/fio: fix a compiler error.

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-04-30 14:49:05 +08:00
Jianpeng Ma
c6a9e988f3 test/fio: fix a compiler error.
Met the following bug when -DWITH_FIO=ON:
/home/src/test/fio/fio_ceph_messenger.cc:217:5: error: ‘require_authorizer’ was not declared in this scope
     require_authorizer = false;
This bug introduce by f10660e84f85116b9 which omit this.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
2019-04-30 13:48:47 +08:00
Gregory Farnum
8cd1128157
Merge pull request #27867 from tchaikov/wip-ceph-object-corpus
ceph-object-corpus: pick up 15.0.0-539-g191ab33faf

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2019-04-29 13:45:16 -07:00
Casey Bodley
f0a9719d2c
Merge pull request #27730 from cbodley/wip-rgw-boost-170
rgw: fix compile errors with boost 1.70

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2019-04-29 13:06:47 -04:00
Kefu Chai
c99f7e1682
Merge pull request #27861 from tchaikov/wip-utime-cleanup
include/utime: do not cast sec to time_t

Reviewed-by: Samuel Just <sjust@redhat.com>
2019-04-30 00:17:08 +08:00
Kefu Chai
b1ed98a617 ceph-object-corpus: pick up 15.0.0-539-g191ab33faf
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-30 00:13:41 +08:00
Lenz Grimmer
f92638fe3d
Merge pull request #27784 from Devp00l/wip-39483
mgr/dashboard: Make all columns sortable
2019-04-29 18:05:26 +02:00
Sage Weil
f3f2490620 Merge PR #27590 into master
* refs/pull/27590/head:
	messages: #include necessary header

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-04-29 11:04:31 -05:00
Sage Weil
5b1bbdfec1 Merge PR #27804 into master
* refs/pull/27804/head:
	common, osd: remove erroneous 'section' in dump functions
	dencoder: include some missed types
	common: make utime_t dencoder-compatible
	common: make uuid_d dencoder-compatible
	osd: make watch_item_t dencoder-compatible

Reviewed-by: Sage Weil <sage@redhat.com>
2019-04-29 11:04:15 -05:00
Sage Weil
0191a27579 Merge PR #27832 into master
* refs/pull/27832/head:
	qa/suites/upgrade/mimic-x-singleton: suppress legacy statfs warning
	osd: reenable authorizer on hb messenger for nautilus+
	mon/MonClient: do not crash on empty auth request buffer
	msg: set_require_authorizer on messenger, not dispatcher
	mon/Monitor: allow probe if MMonProbe::mon_release == 0
	mon: fix min_mon_release print

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-04-29 11:03:53 -05:00
Kefu Chai
519f417ef5
Merge pull request #27788 from cyx1231st/wip-seastar-msgr-batch-send
crimson/net: improve batching in the write path

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-04-29 23:38:16 +08:00
Stephan Müller
a23ec08795 mgr/dashboard: RBD snapshot name suggestion with local time suffix
The new suffix is still a time that follows the ISO standard as it can
be converted into any other time zone through the time zone prefix of
itself.

Fixes: https://tracker.ceph.com/issues/23858
Signed-off-by: Stephan Müller <smueller@suse.com>
2019-04-29 16:49:28 +02:00
Kefu Chai
41747f7d9e
Merge pull request #27776 from JunHe77/install-deps
install-deps.sh: add option to skip prebuilt boost-* pkgs installation

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-04-29 22:34:10 +08:00
Stephan Müller
ba6d0f96db mgr/dashboard: Make all columns sortable
Fixes: https://tracker.ceph.com/issues/39483
Signed-off-by: Stephan Müller <smueller@suse.com>
2019-04-29 15:48:37 +02:00
Kefu Chai
50226ef63c include/utime: do not cast sec to time_t
strictly speaking, time_t is an opaque time, and in this context, we
need a uint32_t, so it is not necessary and wrong. let's remove it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 21:11:52 +08:00
Lenz Grimmer
34b4cce61e
mgr/dashboard: auth: fix user lastUpdate timestamp generation (#27604)
mgr/dashboard: auth: fix user lastUpdate timestamp generation

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-04-29 14:23:17 +02:00
Lenz Grimmer
106388be8f
monitoring: Prometheus default alerts (#27596)
monitoring: Prometheus default alerts

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-04-29 13:36:05 +02:00
Kefu Chai
1e8183e01b
Merge pull request #27837 from cyx1231st/wip-seastar-msgr-fix-read
crimson/net: misc fixes in v1 read path

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-04-29 18:51:09 +08:00
Yingxin Cheng
5ca97cd358 crimson/net: misc fixes in v1 read path
* abort when decoding/signature-check failed;
* change log-level to warn;
* free the decoded message when failed;
* add unlikely to read path;

Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
2019-04-29 23:13:23 +08:00
Yingxin Cheng
c9aae7a99f crimson/net: increase out buffer to 65536
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
2019-04-29 15:58:03 +08:00
Yingxin Cheng
4df5bb5860 crimson/net: group write-related general implementations
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
2019-04-29 15:58:03 +08:00
Yingxin Cheng
4091f76a68 crimson/net: use optional keepalive_ack to notify writes
Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
2019-04-29 15:58:03 +08:00
Yingxin Cheng
b5e9c89065 crimson/net: gather message buffers when send
Gather buffers from pending messages/keepalive and send them together.

Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>
2019-04-29 15:58:03 +08:00
Kefu Chai
f2bafe4b03
Merge pull request #27809 from tchaikov/wip-crimson-auth
crimson,auth: fix FTBFS of crimson-osd and fix v1/v2 auth

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-04-29 09:10:16 +08:00
Kefu Chai
378b057e59
Merge pull request #27831 from tchaikov/wip-crimson-silence-warning
crimson/net: prefer <fmt/chrono.h> over <fmt/time.h>

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2019-04-29 09:09:15 +08:00
Sage Weil
fdf6f8b26b qa/suites/upgrade/mimic-x-singleton: suppress legacy statfs warning
Signed-off-by: Sage Weil <sage@redhat.com>
2019-04-28 19:21:52 -05:00
Mykola Golub
24ef73f4cf
Merge pull request #27756 from dillaman/wip-39025
librbd: initial consolidation of internal locks

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-04-28 20:03:02 +03:00
Kefu Chai
535aef6082 crimson/osd: silence -Wunused-variable warning
silence warning like

/home/kchai/ceph/src/crimson/osd/heartbeat.cc:314:24: warning: unused
variable ‘peer’ [-Wunused-variable]
       auto& [peer, info] = item;
                        ^

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
2e28ea3f30 crimson/mon: log when a monitor is fully connected
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
870937b979 crimson/mon: hold rotating_keyring using a pointer
we could have kept rotating_keyring as a plain member variable, but
`AuthClientHandler` keeps a weak reference to it, we are not able to
update it to point it to the new rotating_keyring in the newly created
active_con created from the connected pending connection -- the move
ctor of ceph::mon::Connection does create a new RotatingKeyring. so this
has two consequences:

- the raw pointer held by AuthClientHandler is not valid anymore, after
  the pending connection is destroyed when it is promoted to active_con.
  so we are writing to freed memory when renewing the rotating keyring.
- we won't have access to the updated keyring.

if we use a std::vector<unique_ptr<Connection>> for pending_conns, this
change won't be needed. we could make this change in a future change
though.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
7dfca035ac auth,mon,crimson: pass KeyStore by const reference
AuthAuthorizeHandler::verify_authorizer() neither changes the keystore,
nor expects a nullptr. so we should pass the keystore by const reference
for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
0a8dbddf88 test/crimson: do not link against ceph-common
crimson-common and ceph-common have subtle difference which is
conditionalized by WITH_SEASTAR macro. and the different implementations
share the same name, so we should not link crimson executables against ceph-common .

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
adc65bcbe4 auth: do not use cct unless i have to
crimson messenger's tests does not use ConfigProxy at the time of writing,
and ldout() cannot tell if a log message should be written to the
logfile or not without querying config subsystem, so, to avoid involving
config system in crimson messenger's tests, the log line is disabled if
WITH_SEASTAR, we will kill this workaround once we ditch crimson/net/Config.h.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
66b1f5537d crimson/mon: renew rotating secret if necessary
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
1070a1f788 auth/Auth: pass utime_t by const reference
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
8dbb9a1c91 auth/cephx: do not require a cct for accessing config
crimson/msgr does not depend on ConfigProxy at the time of writing. we
want to decouple it from config subsystem in hope to have less cross
subsystem dependencies and speed up the compiling speed.

but, to introduce cephx to msgr, we need to enable msgr to read from
ConfigProxy at runtime. so, to avoid keeping a CephContext instance
simply for accessing the ConfigProxy reference in it, it would be more
efficient to define a free function `conf()` which hides the difference
between crimson and classic user of auth/cephx.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
2283f9580a crimson/net: learn my address from peer
OSD always relies on its server to tell its address, without this
feature, it will advertise a blank ip address to monitor in MOSDBoot.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
e9dc950a16 crimson/mon: pass cct to verify_authorizer()
CephxAuthorizeHandler::verify_authorizer() uses it for querying config
and for a RNG, so we have to pass it a CephContext which has `_conf` and
`random()`.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
4cef78aa91 crimson/osd: pass Connection* to Dispatch::ms_dispatch()
it's a regression introduced by c69bf0c002f1b62283b3eb5df62fdcb65963b4ae

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
04786235c2 crimson/net: sign message and check it if authorizer is available
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
1d30bb4e79 crimson/mon: set entity_name before trying to connect to mon
otherwise Monitor.cc or AuthMonitor.cc won't be able to find it in the
keyring.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
ad5fe6a70d crimson/mgr: connect mgr with v2 protocol
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
5f61282e8e crimson: remove ms_get_authorizer() and friends
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00
Kefu Chai
2eb4ee45d5 test/crimson: disable authorizer for tests
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-04-29 00:12:57 +08:00