]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agocommon/blkdev: check retval of stat() 26040/head
Kefu Chai [Sat, 19 Jan 2019 13:09:59 +0000 (21:09 +0800)]
common/blkdev: check retval of stat()

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25304 from tchaikov/wip-crimson-osd
Kefu Chai [Fri, 18 Jan 2019 06:07:42 +0000 (14:07 +0800)]
Merge pull request #25304 from tchaikov/wip-crimson-osd

crimson/osd: crimson osd driver

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocrimson/osd: add mkfs() 25304/head
Kefu Chai [Fri, 18 Jan 2019 04:27:30 +0000 (12:27 +0800)]
crimson/osd: add mkfs()

we will need it for preparing crimson-osd without help of ceph-osd.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/osd: send beacon to mon periodically
Kefu Chai [Mon, 14 Jan 2019 09:48:18 +0000 (17:48 +0800)]
crimson/osd: send beacon to mon periodically

so monitor won't mark crimson-osd down and out

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/osd: enable crimson-osd to boot
Kefu Chai [Fri, 11 Jan 2019 10:47:39 +0000 (18:47 +0800)]
crimson/osd: enable crimson-osd to boot

* add state.h to encapsulate the state represeting different stages
  related to booting an OSD. the boot process of an OSD can be blocked
  by
  - waiting for PG consuming updated osdmaps
  - waiting for osdmaps marking osd.{whoami} up
  - waiting for new osdmaps to bring this osd up to speed.
  - waiting for current OSD to be healthy
  we could chain these "waits" in a more seastarized way, and let
OSD::start() wait on the future returned by this chain. but that'd
requires adding some seastar::shard_future<> as member variables of
`OSD` class, which is a little bit more convoluted than the state
machine approach used in this change. we could switch over to the
`future<>` chain approach, if we found that these futures could have
more consumers than merely `OSD::start()`.
* all osdmaps are now stored in an `std::map` in `OSD`, we can
  improve it by
  - caching it using an LRU cache
  - trimming the stale ones
  - persisting the evicted maps into the meta collection in ObjectStore
* superblock is not persited to store, neither is it read from the
  store.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agotest/crimson: s/get_connection/connect_to/
Kefu Chai [Wed, 16 Jan 2019 07:54:38 +0000 (15:54 +0800)]
test/crimson: s/get_connection/connect_to/

in aa3d6f66, we removed Messenger::get_connection(), so update the test
accordingly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agomessages/MOSDBeacon: include PaxosServiceMessage.h
Kefu Chai [Mon, 14 Jan 2019 09:50:41 +0000 (17:50 +0800)]
messages/MOSDBeacon: include PaxosServiceMessage.h

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: integrate mon::Client into OSD
Kefu Chai [Fri, 11 Jan 2019 10:21:25 +0000 (18:21 +0800)]
crimson: integrate mon::Client into OSD

and register them as dispatchers using ChainedDispatchers

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: add ChainedDispatchers
Kefu Chai [Fri, 11 Jan 2019 09:53:15 +0000 (17:53 +0800)]
crimson: add ChainedDispatchers

it will be used to glue multiple dispatchers for subscribing events
emitted by messenger

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: add prototype of crimson/osd
Kefu Chai [Tue, 9 Oct 2018 07:17:35 +0000 (15:17 +0800)]
crimson: add prototype of crimson/osd

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: add a dummy object store
Kefu Chai [Mon, 7 Jan 2019 10:50:05 +0000 (18:50 +0800)]
crimson: add a dummy object store

CyanStore only provides just-enough facility for booting an OSD.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: set src for message
Kefu Chai [Thu, 10 Jan 2019 13:15:18 +0000 (21:15 +0800)]
crimson: set src for message

monitor will panic at seeing a MOSDBoot message which is not from an
OSD. see OSDMonitor::preprocess_boot()
```
ceph_assert(m->get_orig_source_inst().name.is_osd());
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: ignore v2 only addvec
Kefu Chai [Thu, 10 Jan 2019 13:14:28 +0000 (21:14 +0800)]
crimson: ignore v2 only addvec

crimson need to be v2 compatible. but let's leave this for another PR.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocmake: silence -Wsign-compare in libfmt
Kefu Chai [Mon, 14 Jan 2019 03:26:25 +0000 (11:26 +0800)]
cmake: silence -Wsign-compare in libfmt

* silence -Wsign-compare in libfmt
* silence -Wattributes in seastar

to silence warnings like:

/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/fmt/include/fmt/format.h:
In instantiation of 'constexpr bool fmt::v5::internal::find(Ptr, Ptr, T,
Ptr&) [with bool IS_CONSTEXPR = false; T = char; Ptr = const wchar_t*]':
/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/fmt/include/fmt/format.h:2154:32:
required from 'constexpr void
fmt::v5::internal::parse_format_string(fmt::v5::basic_string_view<Char>,
Handler&&)::writer::operator()(const Char*, const Char*) [with bool
IS_CONSTEXPR = false; Char = wchar_t; Handler =
fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::basic_buffer<wchar_t>
> >, wchar_t,
fmt::v5::basic_format_context<std::back_insert_iterator<fmt::v5::internal::basic_buffer<wchar_t>
>, wchar_t> >&]'
/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/fmt/include/fmt/format.h:2164:3:
required from 'constexpr void
fmt::v5::internal::parse_format_string(fmt::v5::basic_string_view<Char>,
Handler&&) [with bool IS_CONSTEXPR = false; Char = wchar_t; Handler =
fmt::v5::format_handler<fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::basic_buffer<wchar_t>
> >, wchar_t,
fmt::v5::basic_format_context<std::back_insert_iterator<fmt::v5::internal::basic_buffer<wchar_t>
>, wchar_t> >&]'
/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/fmt/include/fmt/format.h:3346:39:
required from 'typename Context::iterator fmt::v5::vformat_to(typename
ArgFormatter::range, fmt::v5::basic_string_view<Char>,
fmt::v5::basic_format_args<Context>) [with ArgFormatter =
fmt::v5::arg_formatter<fmt::v5::back_insert_range<fmt::v5::internal::basic_buffer<wchar_t>
> >; Char = wchar_t; Context =
fmt::v5::basic_format_context<std::back_insert_iterator<fmt::v5::internal::basic_buffer<wchar_t>
>, wchar_t>; typename Context::iterator =
std::back_insert_iterator<fmt::v5::internal::basic_buffer<wchar_t> >;
typename ArgFormatter::range =
fmt::v5::back_insert_range<fmt::v5::internal::basic_buffer<wchar_t> >]'
/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/fmt/include/fmt/format.h:3457:64:
required from here

/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/fmt/include/fmt/format.h:2120:14:
error: comparison of integer expressions of different signedness: 'const
wchar_t' and 'char' [-Werror=sign-compare]
     if (*out == value)
         ~~~~~^~~~~~~~
cc1plus: all warnings being treated as errors

where libfmt compares a wchar_t with a literal '}', which is char.
because the former is unsigned, and the latter is of a signed type,
GCC is annoyed. but since both of them are ASCII, and when performing
comparison, the signed one is converted to unsigned, then result of
comparison is correct per-se. hence, it's safe to silence this very
warning.

and warning like:

/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/src/core/future-util.cc:61:5:
required from 'seastar::future<> seastar::sleep_abortable(typename
Clock::duration, seastar::abort_source&) [with Clock =
std::chrono::_V2::steady_clock; typename Clock::duration =
std::chrono::duration<long int, std::ratio<1, 1000000000> >]'
/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/src/core/future-util.cc:68:105:
required from here
/home/jenkins-build/build/workspace/ceph-pull-requests-arm64/src/seastar/src/core/future-util.cc:48:28:
error: 'seastar::sleep_abortable(typename Clock::duration,
seastar::abort_source&)::sleeper::sleeper(typename Clock::duration,
seastar::abort_source&) [with Clock = std::chrono::_V2::steady_clock;
typename Clock::duration = std::chrono::duration<long int, std::ratio<1,
1000000000> >]::<lambda()>' declared with greater visibility than the
type of its field 'seastar::sleep_abortable(typename Clock::duration,
seastar::abort_source&)::sleeper::sleeper(typename Clock::duration,
seastar::abort_source&) [with Clock = std::chrono::_V2::steady_clock;
typename Clock::duration = std::chrono::duration<long int, std::ratio<1,
1000000000> >]::<lambda()>::<this capture>' [-Werror=attributes]
                 : tmr([this] { done.set_value(); }) {
                            ^
Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoseastar: pick up the cmake fix
Kefu Chai [Fri, 11 Jan 2019 12:55:01 +0000 (20:55 +0800)]
seastar: pick up the cmake fix

to pick up the fix for seastar/issues/576

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: set default keyring path
Kefu Chai [Thu, 10 Jan 2019 13:12:25 +0000 (21:12 +0800)]
crimson: set default keyring path

otherwise crimson-osd won't be able to load the keyring

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: add entity_addrvec_t interfaces to Messenger
Kefu Chai [Wed, 9 Jan 2019 15:51:44 +0000 (23:51 +0800)]
crimson: add entity_addrvec_t interfaces to Messenger

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/monc: add subcription helpers
Kefu Chai [Fri, 4 Jan 2019 12:56:25 +0000 (20:56 +0800)]
crimson/monc: add subcription helpers

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/monc: add start() method
Kefu Chai [Fri, 21 Dec 2018 10:30:37 +0000 (18:30 +0800)]
crimson/monc: add start() method

to boot strap mon::Client once seastar and msgr is ready. this allows us
to allocate mon::Client on stack.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agotest/crimson/monc: start/stop perf counter
Kefu Chai [Fri, 21 Dec 2018 10:34:22 +0000 (18:34 +0800)]
test/crimson/monc: start/stop perf counter

in CephContext::CephContext(), we assume that
ceph::common::local_perf_coll() is ready when a CephContext is to be
contructed. so we need to prepare start it before creating CephContext.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge PR #25900 into master
Sage Weil [Fri, 18 Jan 2019 03:02:59 +0000 (21:02 -0600)]
Merge PR #25900 into master

* refs/pull/25900/head:
qa/tasks/ceph.py: bracket addrvecs in mon_host etc
vstart.sh: bracket addrvec on mon_host for msgr2-only mode
unittest_addrs: entity_addr_t: strengthen tests slightly
common/ceph_argparse: make parse_ip_port_vec handle list of addrs or addrvecs
common/ceph_argparse: parse_ip_port_vec returns addrvecs, not addrds
msg/msg_types: entity_addrvec_t: require brackets for size >1
msg/msg_types: entity_addrvec_t: allow brackets when parsing addrvec to match output
msg/msg_types: entity_addrvec_t: allow only ',' as an addrvec separator
msg/msg_types: entity_addr_t: we should not parse an addrvec
msg/msg_types: entity_addr_t: fix empty string parse cases
msg/msg_types: entity_addr_t: is_ipv6() and is_ipv4()

Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge PR #25998 into master
Sage Weil [Fri, 18 Jan 2019 00:51:33 +0000 (18:51 -0600)]
Merge PR #25998 into master

* refs/pull/25998/head:
msg/Dispatcher: remove force_new arg from ms_get_authorizer()
crimson/net: drop authenticator retry
msg/simple: remove forced authorizer refresh

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoMerge PR #25937 into master
Sage Weil [Fri, 18 Jan 2019 00:51:16 +0000 (18:51 -0600)]
Merge PR #25937 into master

* refs/pull/25937/head:
qa: specify filestore for misc tests
osd/objectstore: change osd_objectstore default to bluestore

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge pull request #25693 from shun-s/silence-mon-load-metadata
Xie Xingguo [Fri, 18 Jan 2019 00:49:23 +0000 (08:49 +0800)]
Merge pull request #25693 from shun-s/silence-mon-load-metadata

MDSMonitor: silence unable to load metadata

Reviewed-by: Joao Eduardo Luis <joao@suse.de>
6 years agoMerge PR #25849 into master
Sage Weil [Thu, 17 Jan 2019 17:04:30 +0000 (11:04 -0600)]
Merge PR #25849 into master

* refs/pull/25849/head:
qa/suites/rados/upgrade: one mon per node, and enable-msgr2 at end
qa/rados/thrash-old-clients: avoid msgr2
mon: make bootstrap rank check more robust
mon: clean up probe debug output a bit
msg/async: use v1 for v1 <-> [v2,v1] peers
msg/async/AsyncMessenger: drop single-use _send_to
mon/HealthMonitor: raise MON_MSGR2_NOT_ENABLED if mons not bound to msgr2
doc/rados/operations/health-checks: document MON_* health warnings
mon/MonMapMonitor: add 'mon enable-msgr2' command
mon: respawn if rank addr changes
mon/MonMap: calc_addr_mons() after setting rank addrvec

Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoqa/suites/rados/upgrade: one mon per node, and enable-msgr2 at end 25849/head
Sage Weil [Wed, 16 Jan 2019 23:27:37 +0000 (17:27 -0600)]
qa/suites/rados/upgrade: one mon per node, and enable-msgr2 at end

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoqa/rados/thrash-old-clients: avoid msgr2
Sage Weil [Thu, 17 Jan 2019 03:42:31 +0000 (21:42 -0600)]
qa/rados/thrash-old-clients: avoid msgr2

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25654 from tspmelo/wip-missing-i18n
Lenz Grimmer [Thu, 17 Jan 2019 15:33:43 +0000 (16:33 +0100)]
Merge pull request #25654 from tspmelo/wip-missing-i18n

mgr/dashboard: Add missing frontend I18N

Reviewed-by: Sebastian Krah <skrah@suse.com>
6 years agoMerge pull request #25997 from zmc/wip-db-graf-validate
Lenz Grimmer [Thu, 17 Jan 2019 15:25:56 +0000 (16:25 +0100)]
Merge pull request #25997 from zmc/wip-db-graf-validate

mgr/dashboard: Fix /api/grafana/validation

Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agomsg/Dispatcher: remove force_new arg from ms_get_authorizer() 25998/head
Sage Weil [Wed, 16 Jan 2019 21:45:32 +0000 (15:45 -0600)]
msg/Dispatcher: remove force_new arg from ms_get_authorizer()

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocrimson/monc: set name using a setter
Kefu Chai [Wed, 28 Nov 2018 13:00:33 +0000 (21:00 +0800)]
crimson/monc: set name using a setter

* set entity_name using a setter not pass it to constructor, because
  the entity_name is retrieved in seastar's app.run() by ConfigProxy,
  while it'd be simpler if we can instantiate mon::Client in main()
  as a local variable, instead of managing it on heap using a smart
  pointer. so we cannot pass the entity_name as a parameter of ctor.
* also cleanup the #include's, as they are included already in the
  header.

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson: pass entity_name and cluster to ctor of ConfigProxy
Kefu Chai [Wed, 28 Nov 2018 12:55:44 +0000 (20:55 +0800)]
crimson: pass entity_name and cluster to ctor of ConfigProxy

as we always need to set entity_name and cluster before start using
ConfigProxy, and we do not read these settings from config file,
this makes these two setting special. so it'd be simpler to just
pass them as parameters of constructor.

and more importantly, we need to parse the command line arguments
using ceph_argparse_early_args() first, as it will consume the parsed
arguments, and leave the unparsed ones in the input parameter of `args`,
and then, we can pass the unparsed args to app.run().

it's not a perfect solution. as there are some options that both parsers
are interested, for instance, `-c` -- ceph take it as the conf file's
path, while seastar takes it as the number of cores to use. but let's
feed ceph's parser first. unless it's fine to drop the backward
compatibility of command line syntax of ceph-osd.

Signed-off-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agocrimson/auth: add domain specific error types
Kefu Chai [Tue, 9 Oct 2018 07:18:14 +0000 (15:18 +0800)]
crimson/auth: add domain specific error types

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25870 from votdev/validate_ip_addr
Lenz Grimmer [Thu, 17 Jan 2019 12:08:48 +0000 (13:08 +0100)]
Merge pull request #25870 from votdev/validate_ip_addr

mgr/dashboard: Improve RGW address parser

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
6 years agoMerge pull request #25959 from xiexingguo/wip-memory-leak
Xie Xingguo [Thu, 17 Jan 2019 10:23:23 +0000 (18:23 +0800)]
Merge pull request #25959 from xiexingguo/wip-memory-leak

crush: fix memory leak

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25941 from xiexingguo/wip-warn-enable-upmap
Xie Xingguo [Thu, 17 Jan 2019 10:22:28 +0000 (18:22 +0800)]
Merge pull request #25941 from xiexingguo/wip-warn-enable-upmap

mgr/balancer: blame if upmap won't actually work

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25836 from votdev/improve_rgw_status_endpoint
Lenz Grimmer [Thu, 17 Jan 2019 08:05:34 +0000 (09:05 +0100)]
Merge pull request #25836 from votdev/improve_rgw_status_endpoint

mgr/dashboard: Improve exception handling in /api/rgw/status

Reviewed-by: Patrick Nawracay <pnawracay@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
6 years agoMerge pull request #25950 from gregsfortytwo/wip-githubmap
Gregory Farnum [Thu, 17 Jan 2019 05:09:29 +0000 (21:09 -0800)]
Merge pull request #25950 from gregsfortytwo/wip-githubmap

Wip githubmap

6 years agoMerge pull request #25751 from batrick/stackstringstream-reset
Kefu Chai [Thu, 17 Jan 2019 02:43:35 +0000 (10:43 +0800)]
Merge pull request #25751 from batrick/stackstringstream-reset

common: reinit StackStringStream on clear

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMDSMon: silence unable to load metadata 25693/head
Song Shun [Mon, 24 Dec 2018 12:49:24 +0000 (20:49 +0800)]
MDSMon: silence unable to load metadata

  silence unable to load metadata

Signed-off-by: Song Shun <song.shun3@zte.com.cn>
6 years agocrimson/net: drop authenticator retry
Sage Weil [Wed, 16 Jan 2019 21:44:06 +0000 (15:44 -0600)]
crimson/net: drop authenticator retry

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/simple: remove forced authorizer refresh
Sage Weil [Wed, 16 Jan 2019 21:39:53 +0000 (15:39 -0600)]
msg/simple: remove forced authorizer refresh

This synchronous check has always been kludgey; remove it and just fault
instead, just like we did with 794a8f9cf51cf176636d114ccfbbf68fbc304083
in AsyncMessenger.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25994 into master
Patrick Donnelly [Wed, 16 Jan 2019 20:43:35 +0000 (12:43 -0800)]
Merge PR #25994 into master

* refs/pull/25994/head:
qa: silence read-only WRN for damage testing

Reviewed-by: Jeff Layton <jlayton@redhat.com>
6 years agomgr/dashboard: Fix /api/grafana/validation 25997/head
Zack Cerza [Wed, 16 Jan 2019 20:36:23 +0000 (13:36 -0700)]
mgr/dashboard: Fix /api/grafana/validation

If the Grafana URL contains a trailing slash, this endpoint ends up
returning a 404, disabling the integration entirely. Fix that.

Signed-off-by: Zack Cerza <zack@redhat.com>
6 years agoqa: silence read-only WRN for damage testing 25994/head
Patrick Donnelly [Wed, 16 Jan 2019 18:52:09 +0000 (10:52 -0800)]
qa: silence read-only WRN for damage testing

Fixes: http://tracker.ceph.com/issues/37944
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoMerge PR #25934 into master
Sage Weil [Wed, 16 Jan 2019 19:12:35 +0000 (13:12 -0600)]
Merge PR #25934 into master

* refs/pull/25934/head:
msg/msg_type: entity_addr_t: fix legacy decode
msg/msg_types: make set_sockaddr() work with AF_UNSPEC (i.e., zeroed)
msg/msg_types: make set_sockaddr() a bit more robust
msg/async: fix IP inference

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoqa: specify filestore for misc tests 25937/head
Vikhyat Umrao [Tue, 23 Oct 2018 22:51:00 +0000 (15:51 -0700)]
qa: specify filestore for misc tests

Signed-off-by: Vikhyat Umrao <vumrao@redhat.com>
Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoosd/objectstore: change osd_objectstore default to bluestore
Vikhyat Umrao [Wed, 17 Oct 2018 17:52:52 +0000 (10:52 -0700)]
osd/objectstore: change osd_objectstore default to bluestore
Fixes: http://tracker.ceph.com/issues/36494
Signed-off-by: Vikhyat Umrao <vumrao@redhat.com>
6 years agoMerge PR #25975 into master
Patrick Donnelly [Wed, 16 Jan 2019 18:17:50 +0000 (10:17 -0800)]
Merge PR #25975 into master

* refs/pull/25975/head:
doc: complete documentation for ceph fs administration commands

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25964 from jmolmo/get_config_replaced
Sebastian Wagner [Wed, 16 Jan 2019 15:50:06 +0000 (16:50 +0100)]
Merge pull request #25964 from jmolmo/get_config_replaced

mgr/ansible: Replace deprecated <get_config> calls

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
6 years agoMerge PR #25966 into master
Sage Weil [Wed, 16 Jan 2019 14:44:34 +0000 (08:44 -0600)]
Merge PR #25966 into master

* refs/pull/25966/head:
doc: add mimic 13.2.3 and 13.2.4 to releases chart

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
6 years agodoc: complete documentation for ceph fs administration commands 25975/head
Patrick Donnelly [Wed, 16 Jan 2019 01:39:50 +0000 (17:39 -0800)]
doc: complete documentation for ceph fs administration commands

Fixes: http://tracker.ceph.com/issues/24580
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agoqa/tasks/ceph.py: bracket addrvecs in mon_host etc 25900/head
Sage Weil [Thu, 10 Jan 2019 22:25:00 +0000 (16:25 -0600)]
qa/tasks/ceph.py: bracket addrvecs in mon_host etc

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agovstart.sh: bracket addrvec on mon_host for msgr2-only mode
Sage Weil [Thu, 10 Jan 2019 22:22:47 +0000 (16:22 -0600)]
vstart.sh: bracket addrvec on mon_host for msgr2-only mode

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agounittest_addrs: entity_addr_t: strengthen tests slightly
Sage Weil [Thu, 10 Jan 2019 20:27:22 +0000 (14:27 -0600)]
unittest_addrs: entity_addr_t: strengthen tests slightly

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/ceph_argparse: make parse_ip_port_vec handle list of addrs or addrvecs
Sage Weil [Thu, 10 Jan 2019 20:18:55 +0000 (14:18 -0600)]
common/ceph_argparse: make parse_ip_port_vec handle list of addrs or addrvecs

This helper is only used for mon_host.

We want to be able to list addrs or addrvecs.  It is slight wonky because
you could parse something like

 "1.2.3.4,5.6.7.8"

as either a list of addrs or a list of addrvecs.  Since the addr parse
takes a default type, it is preferred, so first try parsing as an addr
before proceeding.  Addrvecs that are size >1 must have brackets, so we
will always parse "[1.2.3.4,5.6.7.8]" unambiguously (since "[1.2.3.4"
won't parse as an addr).

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/ceph_argparse: parse_ip_port_vec returns addrvecs, not addrds
Sage Weil [Thu, 10 Jan 2019 18:32:42 +0000 (12:32 -0600)]
common/ceph_argparse: parse_ip_port_vec returns addrvecs, not addrds

No functional change yet.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_types: entity_addrvec_t: require brackets for size >1
Sage Weil [Thu, 10 Jan 2019 19:53:55 +0000 (13:53 -0600)]
msg/msg_types: entity_addrvec_t: require brackets for size >1

Allowing us to parse "1.2.3.4,5.6.7.8" means we can't unambiguously
differentiate between one addrvec and a list of addrvecs, which we'll
want/need to do later.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_types: entity_addrvec_t: allow brackets when parsing addrvec to match output
Sage Weil [Thu, 10 Jan 2019 19:26:00 +0000 (13:26 -0600)]
msg/msg_types: entity_addrvec_t: allow brackets when parsing addrvec to match output

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_types: entity_addrvec_t: allow only ',' as an addrvec separator
Sage Weil [Thu, 10 Jan 2019 18:31:56 +0000 (12:31 -0600)]
msg/msg_types: entity_addrvec_t: allow only ',' as an addrvec separator

This will allow us to list addrvecs using [ ;] as separators.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_types: entity_addr_t: we should not parse an addrvec
Sage Weil [Thu, 10 Jan 2019 20:14:36 +0000 (14:14 -0600)]
msg/msg_types: entity_addr_t: we should not parse an addrvec

Just a sanity check to ensure the addrvec's leading '[' prevents us from
parsing the first addr.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_types: entity_addr_t: fix empty string parse cases
Sage Weil [Thu, 10 Jan 2019 19:12:34 +0000 (13:12 -0600)]
msg/msg_types: entity_addr_t: fix empty string parse cases

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_types: entity_addr_t: is_ipv6() and is_ipv4()
Sage Weil [Thu, 10 Jan 2019 19:06:19 +0000 (13:06 -0600)]
msg/msg_types: entity_addr_t: is_ipv6() and is_ipv4()

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/msg_type: entity_addr_t: fix legacy decode 25934/head
Sage Weil [Wed, 16 Jan 2019 13:13:14 +0000 (07:13 -0600)]
msg/msg_type: entity_addr_t: fix legacy decode

If we decode a zeroed sockaddr, we should end up with a TYPE_NONE
entity_addr_t, not v1::/0.

This was obscured by unit test TestAddrvecEncodeAddrDecode3, which
took an addrvec with all v2 addrs, decoded to an addr variable that
previously had v1:1.2.3.4:/0, and asserted the result was not v1::/0.
The test passed before because the set_sockaddr() failed on AF_UNSPEC
and the addr kept v1:1.2.3.4, but with the previous commit it failed
because it equaled v1::/0.  In reality, addr should get - (addr TYPE_NONE).

The TestEmptyAddrvecEncodeAddrDecode test case is similarly adjusted.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25970 from jtlayton/wip-rook
Sebastian Wagner [Wed, 16 Jan 2019 13:49:03 +0000 (14:49 +0100)]
Merge pull request #25970 from jtlayton/wip-rook

Fix rook spec and have service_describe provide rados_config_location field for nfs services

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
6 years agomgr/dashboard: Add missing frontend I18N 25654/head
Tiago Melo [Thu, 20 Dec 2018 13:23:36 +0000 (12:23 -0100)]
mgr/dashboard: Add missing frontend I18N

Fixes: http://tracker.ceph.com/issues/36719
Signed-off-by: Tiago Melo <tmelo@suse.com>
6 years agoMerge pull request #25376 from rhcs-dashboard/about-modal
Lenz Grimmer [Wed, 16 Jan 2019 11:20:16 +0000 (12:20 +0100)]
Merge pull request #25376 from rhcs-dashboard/about-modal

mgr/dashboard: About modal proposed changes

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
6 years agoMerge pull request #25978 from falcon78921/wip-submitting-patches-doc
Kefu Chai [Wed, 16 Jan 2019 10:42:02 +0000 (18:42 +0800)]
Merge pull request #25978 from falcon78921/wip-submitting-patches-doc

SubmittingPatches: added inline markup to important references

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoMerge pull request #25865 from Devp00l/wip-issue-37841
Lenz Grimmer [Wed, 16 Jan 2019 10:38:45 +0000 (11:38 +0100)]
Merge pull request #25865 from Devp00l/wip-issue-37841

mgr/dashboard: RbdMirroringService test suite fails in dev mode

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
6 years agomgr/dashboard: Improve exception handling in /api/rgw/status 25836/head
Volker Theile [Tue, 8 Jan 2019 14:24:59 +0000 (15:24 +0100)]
mgr/dashboard: Improve exception handling in /api/rgw/status

In some cases the exception message was not forwarded to the caller.

Signed-off-by: Volker Theile <vtheile@suse.com>
6 years agomgr/dashboard: About modal proposed changes 25376/head
Kanika Murarka [Sun, 2 Dec 2018 17:49:54 +0000 (23:19 +0530)]
mgr/dashboard: About modal proposed changes

Fixes: http://tracker.ceph.com/issues/35693
Signed-off-by: Kanika Murarka <kmurarka@redhat.com>
6 years agoMerge pull request #25939 from cyx1231st/wip-crimson-msgr-fix-segfault
Kefu Chai [Wed, 16 Jan 2019 07:15:14 +0000 (15:15 +0800)]
Merge pull request #25939 from cyx1231st/wip-crimson-msgr-fix-segfault

crimson/net: fix misc issues for segment-fault and test-failures

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agoSubmittingPatches: added inline markup to important references 25978/head
James McClune [Wed, 16 Jan 2019 03:42:05 +0000 (22:42 -0500)]
SubmittingPatches: added inline markup to important references

Signed-off-by: James McClune <jmcclune@mcclunetechnologies.net>
6 years agomgr/balancer: blame if upmap won't actually work 25941/head
xie xingguo [Mon, 14 Jan 2019 06:39:18 +0000 (14:39 +0800)]
mgr/balancer: blame if upmap won't actually work

With automatic balancing on, and if mode is set to upmap,
balancer will fail silently if min_compat_client is lower than
luminous.
You can't figure out that unless you take a closer look at the
mgr log, which is super annoying..

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agoMerge pull request #25940 from xiexingguo/wip-balancer-pools-support
Xie Xingguo [Wed, 16 Jan 2019 00:52:29 +0000 (08:52 +0800)]
Merge pull request #25940 from xiexingguo/wip-balancer-pools-support

mgr/balancer: auto balance a list of pools

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agomgr/rook: populate rados_config_location field 25970/head
Jeff Layton [Tue, 15 Jan 2019 18:50:22 +0000 (13:50 -0500)]
mgr/rook: populate rados_config_location field

The dashboard ganesha management code requires the rados:// config
URL for the nfs-ganesha daemons. Ensure that we populate that.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
6 years agomgr/rook: lowercase the "RADOS" dict label
Jeff Layton [Tue, 15 Jan 2019 17:41:19 +0000 (12:41 -0500)]
mgr/rook: lowercase the "RADOS" dict label

rook is lowercasing this tag in the CRD in response to review comments.
Change the orchestrator accordingly.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
6 years agodoc: add mimic 13.2.3 and 13.2.4 to releases chart 25966/head
Nathan Cutler [Tue, 15 Jan 2019 17:40:16 +0000 (18:40 +0100)]
doc: add mimic 13.2.3 and 13.2.4 to releases chart

Signed-off-by: Nathan Cutler <ncutler@suse.com>
6 years agomgr/ansible: Replace deprecated <get_config> calls 25964/head
Juan Miguel Olmo Martínez [Tue, 15 Jan 2019 17:04:06 +0000 (18:04 +0100)]
mgr/ansible: Replace deprecated <get_config> calls

Changes needed to replace the obsolete get_config by the new get_module_option manager module method

Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
6 years agomon: make bootstrap rank check more robust
Sage Weil [Tue, 15 Jan 2019 16:42:18 +0000 (10:42 -0600)]
mon: make bootstrap rank check more robust

If we search for myaddrs, then we will detect our rank properly if we were
[a,b] and the a addr got removed.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon: clean up probe debug output a bit
Sage Weil [Tue, 15 Jan 2019 14:53:31 +0000 (08:53 -0600)]
mon: clean up probe debug output a bit

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async: use v1 for v1 <-> [v2,v1] peers
Sage Weil [Tue, 15 Jan 2019 16:38:29 +0000 (10:38 -0600)]
msg/async: use v1 for v1 <-> [v2,v1] peers

If *peers* are communicating, i.e. there may be bidirectional connection
attempts, we must use the same protocol version from both ends or else
we will get very confused.

Fix this by forcing the use of v1 when we

- are bound to a v1 endpoint only (people can't connect to us via v2)
- we are connecting to a *peer*

If it is a non-peer, then connections are uni-directional.  If we both
have v2, we will both use v2.

If we ever switch to [v2,v1], it will be as part of a restart.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomsg/async/AsyncMessenger: drop single-use _send_to
Sage Weil [Tue, 15 Jan 2019 16:24:10 +0000 (10:24 -0600)]
msg/async/AsyncMessenger: drop single-use _send_to

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/HealthMonitor: raise MON_MSGR2_NOT_ENABLED if mons not bound to msgr2
Sage Weil [Wed, 9 Jan 2019 03:53:45 +0000 (21:53 -0600)]
mon/HealthMonitor: raise MON_MSGR2_NOT_ENABLED if mons not bound to msgr2

If the ms_bind_msgr2 option is enabled, and all mons are nautilus,
raise a health alert if any mons aren't bound to msgr2 addresses.

Whitelist tests that mon_bind_addrvec=false or mon_bind_msgr2=false.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodoc/rados/operations/health-checks: document MON_* health warnings
Sage Weil [Wed, 9 Jan 2019 03:38:42 +0000 (21:38 -0600)]
doc/rados/operations/health-checks: document MON_* health warnings

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/MonMapMonitor: add 'mon enable-msgr2' command
Sage Weil [Tue, 8 Jan 2019 22:54:21 +0000 (16:54 -0600)]
mon/MonMapMonitor: add 'mon enable-msgr2' command

This switches any monitor listening on v1:...:6789 only to v2 (on
3300) + v1 (on 6789).  It should be run after upgrading all monitors
to nautilus.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon: respawn if rank addr changes
Sage Weil [Tue, 8 Jan 2019 22:53:13 +0000 (16:53 -0600)]
mon: respawn if rank addr changes

If the address for our rank change, then respawn!

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #25947 into master
Sage Weil [Tue, 15 Jan 2019 15:42:40 +0000 (09:42 -0600)]
Merge PR #25947 into master

* refs/pull/25947/head:
msg/Messenger: remove get_connection() and send_message()
ceph_test_msgr: remove final get_connection() user

Reviewed-by: Kefu Chai <kchai@redhat.com>
6 years agocommon: restore constructor fmtflags on clear 25751/head
Patrick Donnelly [Wed, 2 Jan 2019 18:07:45 +0000 (10:07 -0800)]
common: restore constructor fmtflags on clear

This is to prevent fmtflags changes from a previous use (e.g. debug message)
leaking into the the next (i.e. the next debug message).

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agocommon: use better name reset for clear method
Patrick Donnelly [Mon, 7 Jan 2019 17:46:10 +0000 (09:46 -0800)]
common: use better name reset for clear method

Reset is more analogous to re-initilization which is the intent.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
6 years agomsg/msg_types: make set_sockaddr() work with AF_UNSPEC (i.e., zeroed)
Sage Weil [Tue, 15 Jan 2019 14:24:48 +0000 (08:24 -0600)]
msg/msg_types: make set_sockaddr() work with AF_UNSPEC (i.e., zeroed)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #25649 from SUSE/wip-orchestrator-service-op
Sebastian Wagner [Tue, 15 Jan 2019 13:37:35 +0000 (14:37 +0100)]
Merge pull request #25649 from SUSE/wip-orchestrator-service-op

mgr/orchestrator: Add service_action method

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Ricardo Dias <rdias@suse.com>
6 years agoMerge pull request #25669 from sebastian-philipp/orchestrator-type-hinting
Sebastian Wagner [Tue, 15 Jan 2019 13:36:40 +0000 (14:36 +0100)]
Merge pull request #25669 from sebastian-philipp/orchestrator-type-hinting

mgr/orchestrator: Improve docstrings, add type hinting

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
6 years agoMerge pull request #25543 from rjfd/wip-mgr-cli-commands
Lenz Grimmer [Tue, 15 Jan 2019 10:59:54 +0000 (11:59 +0100)]
Merge pull request #25543 from rjfd/wip-mgr-cli-commands

mgr: modules CLI commands declaration using @CLICommand decorator

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
6 years agoMerge pull request #25426 from Tinatinak/fix_bug25094_2
Lenz Grimmer [Tue, 15 Jan 2019 09:59:10 +0000 (10:59 +0100)]
Merge pull request #25426 from Tinatinak/fix_bug25094_2

mgr/dashboard: Filter out tasks depending on permissions

Reviewed-by: Ricardo Dias <rdias@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
6 years agocrush: fix memory leak 25959/head
xie xingguo [Tue, 15 Jan 2019 08:23:26 +0000 (16:23 +0800)]
crush: fix memory leak

If we remove the last item of bucket, there should still be
one final entry in the __weights__ field of __weight_set__.
Free the corresponding memory before we __null__ the pointer.

Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agomgr/orchestrator_cli: Add service and service-instance start/stop/reload 25649/head
Tim Serong [Fri, 21 Dec 2018 06:06:57 +0000 (17:06 +1100)]
mgr/orchestrator_cli: Add service and service-instance start/stop/reload

Signed-off-by: Tim Serong <tserong@suse.com>
6 years agomgr/orchestrator: Add service_action method
Tim Serong [Thu, 20 Dec 2018 11:47:53 +0000 (22:47 +1100)]
mgr/orchestrator: Add service_action method

This is to facilitate service start/stop/reload (for example,
after altering NFS Ganesha configuration, we need to trigger
a service reload).

Signed-off-by: Tim Serong <tserong@suse.com>
6 years agoMerge pull request #25953 from falcon78921/wip-doc-24924
Xie Xingguo [Tue, 15 Jan 2019 06:05:34 +0000 (14:05 +0800)]
Merge pull request #25953 from falcon78921/wip-doc-24924

doc: fixed typo in CRUSH map docs

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
6 years agocrimson/net: fix potential parallel write in SocketConnection 25939/head
Yingxin Cheng [Mon, 14 Jan 2019 02:43:05 +0000 (10:43 +0800)]
crimson/net: fix potential parallel write in SocketConnection

All the write/flush in SocketConnection should be serialized, or nasty
segment-fault could happen in seastar which is hard to diagnose.

This fix serializes the writes in `handle_keepalive2()` with other
writes in the open state.

Signed-off-by: Yingxin Cheng <yingxincheng@gmail.com>