FindBoost.cmake from upstream cmake now finds python libraries like
find_package(Boost 1.67 python36)
and it export targets like Boost::python36
but we are still linking against Boost::python, so to be compatible
with FindBoost.cmake, we need to update BuildBoost.cmake and
mgr/CMakeLists.txt accordingly. in other words, to export
Boost::python36 and to link Boost::python36.
Signed-off-by: Kefu Chai <kchai@redhat.com>
easier to manage its dependency this way, also pave its road to pypi.
please note, cephfs is not hosted by pypi yet.
Signed-off-by: Kefu Chai <kchai@redhat.com>
ceph-crash runs from systemd and watches /var/lib/ceph/crash
for crashdumps, posting them to the mgrs using the mgr's
crash plugin
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Because the cluster topology may change (e.g., because we add some
new racks, hosts and disks) and we want the existing osds are then
aware of new incoming osds, guaranteeing osds are always trying to
do heartbeat as wide as possible(e.g., across all racks, hosts etc.).
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
We currently remove a rule without adjusting the **rules** array
because we don't recycle the rule_no and hence there can be
holes in the "rules" array.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
By default, monitor requires at least two valid failure votes/reports from
different hosts to mark an OSD down, which turns out to be impossible sometimes
for a replicated-pool of size of 2 in those clusters made up of hosts
with contiguous labeled OSDs.
This patch instead does a breadth-first search based on the highest level of
failure domain at cluster-wide, to try to make heartbeat peers can cover all failure domains
whenever possible, which can hopefully help accelerating osd failure detection
in the above case..
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Otherwise a cli command may unexpectedly hang forever with not output
because no ceph-mgr is running, which can be confusing for an admin.
Signed-off-by: Sage Weil <sage@redhat.com>
Misc fixes to resolve compilation failures on 32 bit
architectures. These are mostly due to differences
in types under 32 bit archs which are typically fixed
by switching to a type which is consistent between
architectures - size_t -> uint64_t for example.
Signed-off-by: James Page <james.page@ubuntu.com>
While using config set or injectargs command to decrease
mon_stat_smooth_intervals, it didn't apply the new value.
this change fix it.
Signed-off-by: Yan Jun <yan.jun8@zte.com.cn>
In bd565bca3f we start returning EINVAL if
the pg_num argument is not valid, whereas before it was silently ignored.
Signed-off-by: Sage Weil <sage@redhat.com>
This avoids a c_str() on a temporary string later down the line, which
avoids a use-after-free.
Fixes: http://tracker.ceph.com/issues/26875
Signed-off-by: Sage Weil <sage@redhat.com>
it fixes the issue where the conf->foo fails to expand if it is set
as "$bar" in a .conf file, and "bar" is another config var, and bar
is set using config_proxy.parse_argv().
because before 773ef117, apply_changes() calls update_legacy_vals(),
which expand meta vars for legacy config vals, but after 773ef117,
we cannot change config_values in apply_changes() anymore. so
update_legacy_vals() calls is moved to apply_changes()'s callers
accordingly. but the apply_changes() is also called by global_init()
directly instead of by the routines in config.cc. so in 773ef117,
i missed it.
in this change, it's put back into parse_argv() instead of into
global_init(), as update_legacy_vals() is a low level function, and
parse_argv() could change the config_values, it's better to call
update_legacy_vals() out there, just like set_mon_vals() and
parse_config_files().
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/pull/23432/head:
Revert "rocksdb: pickup change to link against libsnappy.a"
cmake,make-dist: revert "build gperftools if WITH_STATIC_LIBSTDCXX"
cmake: cleanup snappy related script
debian: strip "-Wl,-Bsymbolic-functions" from LDFLAGS
* refs/pull/23243/head:
mon/OSDMonitor: remove ambiguous type case for 'osd pool set' value
mon: use throwing variant of cmd_getval
common/cmdparse: add cmd_getval_throws variants that throw bad_cmd_get
mon: catch bad_cmd_exception and reply EINVAL
common/cmdparse: add bad_cmd_get exception
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Make
out << si_u_t(foo) << " objects"
result in strings like
"0 objects"
"123k objects"
"3M objects"
instead of
"0 objects"
"0 k objects"
"3 M objects"
Signed-off-by: Sage Weil <sage@redhat.com>