Sage Weil [Sun, 17 Feb 2019 14:18:06 +0000 (08:18 -0600)]
Merge PR #24805 into master
* refs/pull/24805/head:
qa/suite: add dedup test
src/tools: fix compile error (master version issue)
src/tools: add stats (fixed objects,total objects)
src/tools: make room for cdc
src/tools: make enhacned stats and interface class
src/tools: set timelimit and add signal handler to check progress
src/tools: use the slice thing and make parallel (chunk_scrub)
src/test: add max-thread test in test_dedup_tool.sh
src/tools: use the slice thing and make parallel
src/test: add chunk-scrub test in test_dedup_tool.sh
src/tools: add chunk-scrub op in dedup tool
src/cls/cas: add has_chunk op
src/test: add test_dedup_tool.sh
src/tools: initial works for dedup tool
Sage Weil [Sat, 16 Feb 2019 00:14:05 +0000 (18:14 -0600)]
Merge PR #26455 into master
* refs/pull/26455/head:
qa/suites/upgrade/mimic-x/stress-split: drop pglog_hardlimit test
qa/suites/upgrade/mimic-x/stress-split: update for msgr2
qa/suites/upgrade/mimic-x/parallel: update for msgr v2
Sage Weil [Fri, 15 Feb 2019 22:22:14 +0000 (16:22 -0600)]
Merge PR #26448 into master
* refs/pull/26448/head:
osd: do not send peers really old maps
osd: build_incremental_map_msg: recover if we are missing an incremental
osd: build_incremental_map_msg: behave if we have latest full but not incremental
Sage Weil [Fri, 15 Feb 2019 22:08:55 +0000 (16:08 -0600)]
Merge PR #26345 into master
* refs/pull/26345/head:
ceph-osd: be helpful about upgrade gate
mon: record 'min_mon_release' file and prevent startup if it's too old
mon/Monitor: do not join cluster that is >2 releases old
mon/Elector: respect monmap min_mon_release
mon: check min_mon_release during probe
mon/MonmapMonitor: increase min_mon_release when full quorum is upgraded
mon: maintain quorum_min_mon_release
mon/MonMapMonitor: set initial min_mon_release
monmaptool: add --set-min-mon-release
monmaptool: don't spew usage on any error
mon/MonMap: add min_mon_release field
Sage Weil [Fri, 15 Feb 2019 14:43:23 +0000 (08:43 -0600)]
osd: do not send peers really old maps
We may receive a message that sat in a queue for a while with a low
priority and is tagged with an older epoch. Don't send a bunch of old
maps that we have already sent the peer.
Sage Weil [Fri, 15 Feb 2019 00:21:38 +0000 (18:21 -0600)]
mgr: hold GIL while generating a typed option value
Drop the GIL while looking up the module and option value. Retake
it before calling get_typed_option_value(), where we generate the
Python objects for the value.
Fixes: http://tracker.ceph.com/issues/38123 Fixes: http://tracker.ceph.com/issues/38204 Fixes: http://tracker.ceph.com/issues/38292 Signed-off-by: Sage Weil <sage@redhat.com>
Sage Weil [Thu, 14 Feb 2019 19:44:43 +0000 (13:44 -0600)]
msg/async/ProtocolV2: assume peer has SERVER_NAUTILUS for encoding v2 frame
The v2 frames may contain entity_addr_t and entity_addrvec_t. Those have
been understood since the MSG_ADDR2 feature, but with nautilus we've
additionally added the TYPE_ANY, and we encode TYPE_ANY addrs as
TYPE_LEGACY when the peer lacks SERVER_NAUTILUS.
For the purposes of the v2 protocol, we assume the peer understands
TYPE_ANY.
No other complex types are used in the v2 frame protocol, so this has no
effect on, e.g., what features we assume the peer has for the purposes
of encoding actual messages.
xie xingguo [Tue, 12 Feb 2019 04:07:42 +0000 (20:07 -0800)]
osd: Fix the problem by rechecking backfill status each time
a RemoteReservationRevoked message is received, so we can
restart the backfill process in a more safe and less-likely raced way.
This original fix handled the race by accepting the RecoveryDone
while in RepWaitBackfillReserved by going to RepNotRecovering.
Once we weren't crashing OSDs, none of the tests at the time
detected that backfill was actually hung.
alfonsomthd [Thu, 14 Feb 2019 15:15:58 +0000 (16:15 +0100)]
mgr/dashboard: fix: toast notifications hiding utility menu
* Fixed margin-top taking into account responsiveness.
* dropdown-menu class: set z-index to avoid notification
hiding dropdown menus when menu item clicked.
Fixes: https://tracker.ceph.com/issues/38313 Signed-off-by: Alfonso Martínez <almartin@redhat.com>
Boris Ranto [Thu, 14 Feb 2019 09:35:56 +0000 (10:35 +0100)]
restful: Fix regression when traversing leaf nodes
The commit 23b6c90 introduced a regression when traversing leaf nodes.
The issue is that it traverses the keys of a `dict` returned by
`nodes_by_id`, not the actual `items` of the node. That resulted in an
500 error because it tried to treat `str` as a `dict` and failed.
Nathan Cutler [Tue, 15 Jan 2019 14:43:13 +0000 (15:43 +0100)]
rpm: move Python deps out of distro-conditional blocks
The python%{_python_buildid}-bcrypt and python%{_python_buildid}-requests RPMs
are identically named across all the RPM distros, so move them out of the
distro conditional blocks.
Yan, Zheng [Tue, 18 Dec 2018 08:22:21 +0000 (16:22 +0800)]
mds: update MClientReconnect encoding
The old encoding assumes that snaprealms are encoded at the tail of
message payload. So it does not allow adding new fields to the message.
The patch introduce new encoding for MClientReconnect, the new encoding
allows us to extend MClientReconnect.
The new encoding is not compatible with the old encoding. If mds does
not understand the new encoding. client needs to use the old encoding
to encode MClientReconnect.
xie xingguo [Sat, 26 Jan 2019 10:03:15 +0000 (18:03 +0800)]
osd/OSDMap: more improvements to upmap
- add ability of appending a 2nd, 3rd, etc... pair to existing upmaps
when possible, rather than just continuing to the next PG
- handle the underfull case: we can rm-pg-upmap-items if there exist
any upmaps which remapped a PG out from an underfull OSD
Sage Weil [Wed, 13 Feb 2019 22:22:40 +0000 (16:22 -0600)]
Merge PR #26389 into master
* refs/pull/26389/head:
message/MMonMgrReport: conditionally reencode PGMapDigest
qa/suites/upgrade/luminous-x/parallel: enable all classes
qa/suites/upgrade/luminous-x/parallel/5-final-workload/rados_mon_thrash: use x branch
qa/suites/upgade/luminous-x: pglog_hardlimit succeeds now on luminous due to backport
mgr/DaemonServer: use a luminous-compatible 'mgr metadata' command
mgr/Mgr: print bad (non-object) json
qa/suites/upgrade/luminous-x/stress-split: mons on separate hosts, enable msgr2
qa/suites/upgrade/luminous-x/parallel: mon per host, msgr2
qa/suites/upgrade/luminous-x: whitelist 'slow request'
mon/HealthMonitor: add mon_warn_on_msgr2_not_enabled
Sage Weil [Fri, 8 Feb 2019 19:46:00 +0000 (13:46 -0600)]
qa/suites/upgrade/luminous-x/parallel: enable all classes
Otherwise it's annoying because the class list changes between luminous and nautilus,
and we don't want to futz around with changing this setting during the upgrade.
The problematic classes are 'cas' (added) and 'sdk' (not enabled by default but
included by the cls/ workunit.