]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
xie xingguo [Tue, 19 Feb 2019 10:36:25 +0000 (18:36 +0800)]
mgr/balancer: make weekday be compatible with C
The __desc__ field of **begin[end]_weekend** suggests
sunday is the prevailing start of the week, whereas the
Python implementation says no.
See https://stackoverflow.com/questions/
21045569 /why-is-pythons-weekday-different-from-tm-wday-in-c
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
b9da0925490d4e9e964249c54e7775d9c76b1719 )
xie xingguo [Fri, 15 Feb 2019 05:35:53 +0000 (13:35 +0800)]
mgr/balancer: restrict automatic balancing to specific weekdays
We have implemented similar semantics for the scrub behaviour.
Let's try to keep pace with that.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
0412a51ac6dfecc1a72b654196ecb1a599dcc94d )
Conflicts:
- path: src/pybind/mgr/balancer/module.py
comment: 'get_module_option()' -> 'get_config()' for mgr config-key
'begin_weekday' and 'begin_weekday' should be int, but
luminous/mimic config-key always return string.
Yuri Weinstein [Mon, 18 Feb 2019 17:06:25 +0000 (09:06 -0800)]
Merge pull request #25720 from ashishkumsingh/wip-36692-luminous
luminous: rbd-mirror: update mirror status when stopping
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Yuri Weinstein [Mon, 18 Feb 2019 17:05:42 +0000 (09:05 -0800)]
Merge pull request #25768 from ashishkumsingh/wip-26913-luminous
luminous: mgr: "balancer execute" only requires read permissions
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Yuri Weinstein [Mon, 18 Feb 2019 17:04:50 +0000 (09:04 -0800)]
Merge pull request #25955 from pdvian/wip-37901-luminous
luminous: [journal] max journal order is incorrectly set at 64
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
Yuri Weinstein [Mon, 18 Feb 2019 17:04:19 +0000 (09:04 -0800)]
Merge pull request #26000 from pdvian/wip-37926-luminous
luminous: common: fix for broken rbdmap parameter parsing
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Yuri Weinstein [Mon, 18 Feb 2019 17:03:49 +0000 (09:03 -0800)]
Merge pull request #26286 from smithfarm/wip-38186-luminous
luminous: tests: krbd discard no longer guarantees zeroing
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Yuri Weinstein [Tue, 12 Feb 2019 21:52:53 +0000 (13:52 -0800)]
Merge pull request #25990 from ukernel/luminous-37760
luminous: mds: handle fragment notify race
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Tue, 12 Feb 2019 21:52:21 +0000 (13:52 -0800)]
Merge pull request #26005 from ukernel/luminous-37481
luminous: mds: handle state change race
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Tue, 12 Feb 2019 21:51:56 +0000 (13:51 -0800)]
Merge pull request #26257 from batrick/i38084
luminous: mds: log new client sessions with various metadata
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Yuri Weinstein [Tue, 12 Feb 2019 21:51:24 +0000 (13:51 -0800)]
Merge pull request #26271 from batrick/i38104
luminous: client: session flush does not cause cap release message flush
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Yuri Weinstein [Tue, 12 Feb 2019 21:50:52 +0000 (13:50 -0800)]
Merge pull request #26278 from ukernel/luminous-stale-caps
luminous: mds: optimize revoking stale caps
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Andrew Schoen [Fri, 8 Feb 2019 15:58:07 +0000 (09:58 -0600)]
Merge pull request #26326 from alfredodeza/luminous-rm38229
luminous: doc: pin the version for "breathe" to 4.1.11
Reviewed-by: Andrew Schoen <aschoen@redhat.com>
Alfredo Deza [Thu, 7 Feb 2019 22:04:47 +0000 (17:04 -0500)]
doc: pin the version for `breathe` to 4.1.11
It has the compatibility needed for Sphinx version 1.6.3
Signed-off-by: Alfredo Deza <adeza@redhat.com>
Andrew Schoen [Thu, 7 Feb 2019 21:29:43 +0000 (15:29 -0600)]
Merge pull request #26295 from jan--f/25390-luminous
[luminous] ceph-volume: revert partition as disk
Reviewed-by: Andrew Schoen <aschoen@redhat.com>
Jan Fajerski [Fri, 7 Dec 2018 08:59:34 +0000 (09:59 +0100)]
ceph-volume: add inventory call to functional tests
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit
a183a28c5e423c5658a37f7a1d3add9d64c6d683 )
Jan Fajerski [Tue, 4 Dec 2018 16:00:59 +0000 (17:00 +0100)]
ceph-volume: add partition support to Device
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit
05ac680cb37fd15fdeadaea86780bf1b4f2d566a )
Jan Fajerski [Tue, 4 Dec 2018 07:33:53 +0000 (08:33 +0100)]
Revert "ceph-volume tests.util ensure partitions are listed as top-level keys"
This reverts commit
6dc01772245e557b73551111f7c48cc60aec0893 .
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit
3c1c32cbc2736d72295f1bd7921c4a3cd2f4727e )
Jan Fajerski [Tue, 4 Dec 2018 07:29:39 +0000 (08:29 +0100)]
Revert "ceph-volume util.disk include partitions as top level devices in get_devices"
This reverts commit
7f3c3598491e556ec1b93ea0a54f52144202fab6 .
Fixes: http://tracker.ceph.com/issues/37506
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit
50bc44f1c2327ad38504950fe62820a44ead9b14 )
Ilya Dryomov [Fri, 1 Feb 2019 09:35:33 +0000 (10:35 +0100)]
qa: update krbd tests for zeroout
Discard no longer guarantees zeroing, use BLKZEROOUT and "fallocate -z"
instead (blkdiscard(8) in xenial doesn't support -z).
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit
04f5b343f9987f0cf67509c2a76ddf7ef46288e5 )
Conflicts:
qa/rbd/krbd_whole_object_zeroout.t
qa/suites/krbd/basic/tasks/krbd_whole_object_zeroout.yaml
- the modifications to these files are not relevant for luminous
Yan, Zheng [Mon, 10 Dec 2018 03:37:32 +0000 (11:37 +0800)]
mds: optimize resuming stale caps
If client doesn't want any cap, there is no need to re-issue stale
caps.
A special case is that client wants some caps, but skipped updating
'wanted'. For this case, client needs to update 'wanted' when stale
session get renewed.
Fixes: http://tracker.ceph.com/issues/38043
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
e824b3d2024db36789fdf579f0af9bf3bbe55d51 )
Conflicts:
src/client/Client.cc
src/mds/cephfs_features.h
Yan, Zheng [Thu, 6 Dec 2018 09:22:25 +0000 (17:22 +0800)]
client: avoid unnecessary wakeup when handling RENEWCAPS
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
c744bc1673ca0b4e50f41516fdf49c8560db073a )
Yan, Zheng [Thu, 6 Dec 2018 07:30:44 +0000 (15:30 +0800)]
client: set cap->wanted when adding new cap
This avoids unnecessary cap message if cap is added by open/create
request reply.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
314660a46a8a1af97f70b2bac05b2f6fa5d23bc4 )
Conflicts:
src/client/Client.cc
src/client/Client.h
Yan, Zheng [Thu, 6 Dec 2018 09:16:49 +0000 (17:16 +0800)]
client: don't wakeup cap waiters twice when mds recovered
Both kick_maxsize_requests() and wake_inode_waiters() wake up cap
waiters
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
5993a93e606d23ef311831863444294d7c64cc04 )
Conflicts:
src/client/Client.cc
src/client/Client.h
Yan, Zheng [Tue, 5 Feb 2019 09:06:48 +0000 (17:06 +0800)]
mds: optimize revoking stale caps
For caps that are not being revoked and don't have writeable range
and don't want exclusive caps or file read/write. there is no need
to call Locker::revoke_stale_caps(Capability*). Because these caps
don't need recover and don't affect eval_gather()/try_eval().
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
cb62030f0468fc04735c1b4cff73da779cb11ad8 )
Conflicts:
src/mds/CInode.cc
src/mds/Capability.h
src/mds/Locker.cc
src/mds/Migrator.cc
Yan, Zheng [Thu, 22 Nov 2018 09:28:15 +0000 (17:28 +0800)]
mds: put notable caps at the front of session's caps list
Notable Capabilities are ones that are being revoked, ones that
have writeable ranges and ones that want exclusive caps or want
file read/write.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
cb6e7184458e64720ad83c266e5e393a80c32697 )
Conflicts:
src/mds/Capability.cc
Yan, Zheng [Wed, 21 Nov 2018 12:22:25 +0000 (20:22 +0800)]
mds: track if client has writeable range in Capability
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
370ae1cb3e5dc07867d80e998082bc514e8fccfd )
Conflicts:
src/mds/Capability.h
src/mds/Locker.cc
src/mds/MDCache.h
src/mds/Server.cc
Yan, Zheng [Mon, 26 Nov 2018 01:44:56 +0000 (09:44 +0800)]
mds: add session pointer to Capability
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
7c628472a86c6acebb20f0a2504744b10f250587 )
Conflicts:
src/mds/CInode.cc
src/mds/Capability.cc
src/mds/Capability.h
src/mds/Locker.cc
Yan, Zheng [Thu, 22 Nov 2018 07:02:36 +0000 (15:02 +0800)]
client: skip updating 'wanted' caps if caps are already issued
When reading cached inode that already has Fscr caps, this can avoid
two cap messages (one updats 'wanted' caps, one clears 'wanted' caps).
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
d20b260ecf3f323c87ad1e6865f87e2381444546 )
Conflicts:
src/client/Client.cc
Yan, Zheng [Thu, 22 Nov 2018 07:55:12 +0000 (15:55 +0800)]
client: sync 'retain caps' logical from kernel client
The main change is keeping CEPH_CAP_ANY_RD for unused file inodes
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
29034396398b1706db625e1abf2e6682be7130a5 )
Neha Ojha [Mon, 4 Feb 2019 16:43:53 +0000 (08:43 -0800)]
Merge pull request #26207 from vumrao/wip-vumrao-38108
luminous: mgr/DaemonServer: log pgmap usage to cluster log
Reviewed-by: Neha Ojha <nojha@redhat.com>
Kefu Chai [Mon, 4 Feb 2019 16:20:53 +0000 (00:20 +0800)]
Merge pull request #26186 from tchaikov/luminous-36737
luminous: build/ops: Allow multi instances of "make tests" on the same machine
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Yuri Weinstein <yweins@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
Patrick Donnelly [Tue, 22 Jan 2019 18:44:26 +0000 (10:44 -0800)]
client: flush cap release on session flush
MDS expects the completed cap release prior to responding to the session flush
for cache drop.
Fixes: http://tracker.ceph.com/issues/38009
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
59eca7a17816317d5064840745ea5e28d3349d1a )
Conflicts:
src/client/Client.cc
Patrick Donnelly [Thu, 3 Jan 2019 22:02:52 +0000 (14:02 -0800)]
mds: do not log internal journal error
MDS can't reach this code due to assert in C_MDS_session_finish.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
0992ac1fa62edb6143efc80a6fea7b4704107705 )
Conflicts:
src/mds/Server.cc
Patrick Donnelly [Mon, 17 Dec 2018 23:05:24 +0000 (15:05 -0800)]
mds: clean up log level 2 messages
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
a225c266052d09ffcb066aead83a18dec918aa35 )
Conflicts:
src/mds/MDSRank.cc
Patrick Donnelly [Sat, 15 Dec 2018 02:16:09 +0000 (18:16 -0800)]
mds: log session open stats
This is to assist with tracking what clients are connecting and how long it
takes for them to open a session (a rough estimate of how long it takes to
mount).
Example line:
2018-12-17 17:21:31.682
7f822703c700 2 mds.0.server New client session: addr="127.0.0.1:60552/
2307908923 ",elapsed=0.013384,throttled=0.000071,status="ACCEPTED",root="/"
Fixes: http://tracker.ceph.com/issues/37678
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit
c89cd8cac16789ed98dc1487ec17f45adf03dd26 )
Conflicts:
src/mds/Server.cc
src/mds/SessionMap.cc
src/mds/SessionMap.h
src/mds/events/ESession.h
Kefu Chai [Wed, 23 Jan 2019 11:41:18 +0000 (19:41 +0800)]
cmake: use $CMAKE_BINARY_DIR for default $CEPH_BUILD_VIRTUALENV
to avoid conflict with other `make check` runs in the same host
See-also: http://tracker.ceph.com/issues/36737
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
a8d6b2170dfa0838dad0d1b7b03fc8cf19e4eeff )
Conflicts:
- drop the change to mgr/*/run-tox.sh, as they don't exist in
luminous.
- apply the change to ceph-disk/run-tox.sh
- apply the change to ceph-helpers.sh: as it set $PATH using
$TMPDIR, which is set to /tmp if $TMPDIR is empty.
Neha Ojha [Thu, 24 Jan 2019 03:25:12 +0000 (19:25 -0800)]
mgr/DaemonServer: log pgmap usage to cluster log
- change default of mon_cluster_log_file_level to debug
- log to clog->debug()
Fixes: https://tracker.ceph.com/issues/37886
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
f64a69e5054fb319e9f717bbcb7ddd8541e01c6f )
Conflicts:
src/common/options.cc
dropped master .add_service, .add_see_also
Jenkins Build Slave User [Wed, 30 Jan 2019 15:51:26 +0000 (15:51 +0000)]
12.2.11
Kefu Chai [Sun, 27 Jan 2019 06:27:57 +0000 (14:27 +0800)]
test: listen on random port in tests which start ceph-mon
See-also: http://tracker.ceph.com/issues/36737
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
94a84b6f5adad75b3cbf956447ee5d9caf1018d2 )
Kefu Chai [Wed, 26 Dec 2018 04:58:08 +0000 (12:58 +0800)]
test: write log file to current directory
instead of writing log files to '/tmp', write them to current directory.
by default, ctest runs the tests in ${CMAKE_CURRENT_BINARY_DIR}, so, in
this case, the log files are located in build/src/test/. this ensure
that current user has enough previledge to remove the log files.
this also allows multiple instances of 'unittest_log' to run in parallel.
See-also: http://tracker.ceph.com/issues/36737
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit
a13a6f1d0b39a541896591cd04fc1980bb1acfee )
Conflicts:
src/log/test.cc: trivial resolution
Alfredo Deza [Fri, 25 Jan 2019 15:59:11 +0000 (10:59 -0500)]
Merge pull request #26117 from ceph/backport-luminous-26084
luminous: ceph-volume: mark a device not available if it belongs to ceph-disk
Andrew Schoen [Fri, 25 Jan 2019 15:59:02 +0000 (09:59 -0600)]
Merge pull request #26114 from alfredodeza/luminous-rm37963
luminous ceph-volume fix TypeError on dmcrypt when using Python3
Reviewed-by: Andrew Schoen <aschoen@redhat.com>
Andrew Schoen [Tue, 22 Jan 2019 15:32:00 +0000 (09:32 -0600)]
ceph-volume: mark a device not available if it belongs to ceph-disk
The `ceph-volume inventory` command will now show if a device is being
used by ceph-disk and mark it not available if so.
Fixes: https://tracker.ceph.com/issues/24871
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
(cherry picked from commit
d14a6b284c44a3f61c0dd8c60ccc474203003653 )
Alfredo Deza [Fri, 18 Jan 2019 17:51:04 +0000 (12:51 -0500)]
ceph-volume tests verify behavior of create_dmcrypt_key in python 3
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
69613cc5a8b2e111e24b75ad5b69f924c89fd75b )
Alfredo Deza [Fri, 18 Jan 2019 17:50:38 +0000 (12:50 -0500)]
ceph-volume util.encryption ensure int is used for urandom (py3 compat)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
0ab9fa62d6d46464b16f08d3a5bb3da50f5030e7 )
Abhishek L [Wed, 23 Jan 2019 15:42:14 +0000 (16:42 +0100)]
Merge pull request #26088 from ukernel/luminous-37977
luminous: mds: fix infinite loop in OpTracker::check_ops_in_flight
Reviewed-By: Patrick Donelly <pdonelly@redhat.com>
Yan, Zheng [Wed, 23 Jan 2019 09:32:05 +0000 (17:32 +0800)]
mds: fix infinite loop in OpTracker::check_ops_in_flight
introduced by backport commit
02faf3d
"mds: don't report slow request for blocked filelock request"
Fixes: http://tracker.ceph.com/issues/37977
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Yan, Zheng [Wed, 23 Jan 2019 09:29:27 +0000 (17:29 +0800)]
Revert "mds: fix infinite loop in OpTracker::check_ops_in_flight"
This reverts commit
adad2d873a37770e4910b04dfddf92f70964be4a .
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Yuri Weinstein [Tue, 22 Jan 2019 16:38:04 +0000 (08:38 -0800)]
Merge pull request #26037 from yuriw/wip-yuriw-p2p-luminous
luminous: qa/tests: changed to `supported' distro and moved all `p2p` suites un…
Reviewed-by: Neha Ojha <nojha@redhat.com>
Sage Weil [Tue, 22 Jan 2019 16:09:06 +0000 (10:09 -0600)]
Merge pull request #25867 from ashishkumsingh/wip-37827-luminous
luminous: mgr: fix crash due to multiple sessions from daemons with same name
Yuri Weinstein [Fri, 18 Jan 2019 20:53:05 +0000 (12:53 -0800)]
qa/tests: changed to `supported' distro and moved all `p2p` suites under the same folder
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Yuri Weinstein [Mon, 21 Jan 2019 23:53:56 +0000 (15:53 -0800)]
Merge pull request #26061 from yuriw/wip-yuriw-p2p-luminous_3
qa/tests: changed start point from `luminous` to v12.2.10
Reviewed-by: Neha Ojha <nojha@redhat.com>
Yuri Weinstein [Mon, 21 Jan 2019 23:25:33 +0000 (15:25 -0800)]
Merge pull request #26048 from ukernel/luminous-37977
luminous: mds: fix infinite loop in OpTracker::check_ops_in_flight
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Noah Watkins [Mon, 21 Jan 2019 21:33:01 +0000 (13:33 -0800)]
Merge pull request #26036 from noahdesu/luminous-pr26015
luminous: cli: dump osd-fsid as part of osd find <id>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Andrew Schoen [Mon, 21 Jan 2019 21:28:07 +0000 (15:28 -0600)]
Merge pull request #26030 from alfredodeza/luminous-fix_raw_input
luminous ceph-volume: Adapt code to support Python3
Reviewed-by: Andrew Schoen <aschoen@redhat.com>
Yuri Weinstein [Mon, 21 Jan 2019 19:10:39 +0000 (11:10 -0800)]
qa/tests: changed start point from `luminous` to v12.2.10
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
Andrew Schoen [Mon, 21 Jan 2019 19:39:41 +0000 (13:39 -0600)]
Merge pull request #26014 from alfredodeza/luminous-bz1644847
luminous ceph-volume zap devices associated with an OSD ID and/or OSD FSID
Reviewed-by: Andrew Schoen <aschoen@redhat.com>
Alfredo Deza [Mon, 21 Jan 2019 17:15:45 +0000 (12:15 -0500)]
Merge pull request #25553 from jan--f/25238-luminous
luminous ceph-volume: introduce class hierachy for strategies
Reviewed-by: Alfredo Deza <adeza@redhat.com>
Yan, Zheng [Mon, 21 Jan 2019 02:08:51 +0000 (10:08 +0800)]
mds: fix infinite loop in OpTracker::check_ops_in_flight
introduced by backport commit
02faf3dc321
"mds: don't report slow request for blocked filelock request"
Fixes: http://tracker.ceph.com/issues/37977
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Yuri Weinstein [Fri, 18 Jan 2019 21:56:15 +0000 (13:56 -0800)]
Merge pull request #25307 from trociny/wip-37438-luminous
luminous: crushtool: add --reclassify operation to convert legacy crush maps to use device classes
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Yuri Weinstein [Fri, 18 Jan 2019 20:38:00 +0000 (12:38 -0800)]
Merge pull request #25949 from neha-ojha/wip-36686-luminous
luminous: osd/mon: pg log hard limit with upgrades fixed
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Yuri Weinstein [Fri, 18 Jan 2019 20:33:59 +0000 (12:33 -0800)]
Merge pull request #25804 from ashishkumsingh/wip-37758-luminous
luminous: mds: clean up log messages for standby-replay
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Yan, Zheng <zyan@redhat.com>
Yuri Weinstein [Fri, 18 Jan 2019 20:33:13 +0000 (12:33 -0800)]
Merge pull request #25904 from pdvian/wip-37829-luminous
luminous : client: fix fuse client hang because its pipe to mds is not ok4
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Yuri Weinstein [Fri, 18 Jan 2019 20:30:04 +0000 (12:30 -0800)]
Merge pull request #26011 from batrick/i37953
luminous: qa: test_damage needs to silence MDS_READ_ONLY
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Noah Watkins [Thu, 17 Jan 2019 19:16:44 +0000 (11:16 -0800)]
cli: dump osd-fsid as part of osd find <id>
Dumps the osd-fsid uuid as part of the `osd find <id>` command.
Currently this uuid is only available as part of `osd dump` but
ceph-ansible has a use case to interrogate a single osd without needing
the entire osdmap dump.
Fixes: http://tracker.ceph.com/issues/37966
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
(cherry picked from commit
4d01b2c96e0ea1122225c30da21bc39c40e15c0e )
Neha Ojha [Fri, 18 Jan 2019 19:01:18 +0000 (14:01 -0500)]
doc: pglog_hardlimit flag recommendations
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Fri, 11 Jan 2019 23:35:50 +0000 (18:35 -0500)]
qa/suites/upgrade/jewel-x/stress-split*: require-osd-release luminous after upgrade
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Thu, 10 Jan 2019 02:12:17 +0000 (18:12 -0800)]
include/rados.h: hide CEPH_OSDMAP_PGLOG_HARDLIMIT from ceph -s
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
dfc292923548fe1e1b5329555dd46949feb96b99 )
Neha Ojha [Fri, 11 Jan 2019 02:40:30 +0000 (21:40 -0500)]
qa/suites/upgrade/luminous-p2p-stress-split: add split scenario
This commit adds stress-split test cases to test luminous against a point
release of luminous.
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Fri, 11 Jan 2019 00:25:32 +0000 (19:25 -0500)]
qa/suites/upgrade/jewel-x: add pg log settings
- vary pg log lengths
- test pglog_hardlimit flag
These are qa suites changes specific to luminous.
Signed-off-by: Neha Ojha <nojha@redhat.com>
Neha Ojha [Mon, 7 Jan 2019 23:26:27 +0000 (15:26 -0800)]
mon/OSDMonitor.cc: make a note about reusing jewel feature bit
For OSD_PGLOG_HARDLIMIT, we have reused a jewel feature bit that was retired
in luminous. Therefore, we need to check the release version for
>= CEPH_RELEASE_LUMINOUS, before using it.
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
6abcc20dca0ee5a08a3fe7c560750f904fe3fa65 )
Conflicts:
src/mon/OSDMonitor.cc: trivial resolution
Neha Ojha [Thu, 20 Dec 2018 17:27:34 +0000 (09:27 -0800)]
mon: add and use OSD_PGLOG_HARDLIMIT feature bit
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
6b0a3ded5baabb19809618de16cdf67c925a8e5a )
Conflicts:
src/mon/OSDMonitor.cc: trivial resolution
Neha Ojha [Tue, 18 Dec 2018 00:20:10 +0000 (16:20 -0800)]
osd/mon: fix upgrades for pg log hard limit
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
6ceeab6e204286148a69eb147fbc4045beddef49 )
Conflicts:
src/include/rados.h
src/mon/MonCommands.h
src/mon/OSDMonitor.cc
src/osd/OSDMap.cc
Luminous does not have CEPH_OSDMAP_NOSNAPTRIM flag.
In nautilus, CEPH_OSDMAP_PGLOG_HARDLIMIT is set by default,
which is not the case in luminous.
Neha Ojha [Fri, 14 Dec 2018 23:59:24 +0000 (15:59 -0800)]
osd: bring back old calc_trim_to and rename new method
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
0536aef761fefda9a86d5bc72a12ca8cab931ccb )
xie xingguo [Mon, 30 Jul 2018 10:56:56 +0000 (18:56 +0800)]
osd/PrimaryLogPG: fix potential pg-log overtrimming
In https://github.com/ceph/ceph/pull/21580 I set a trap to catch some wired
and random segmentfaults and in a recent QA run I was able to observe it was
successfully triggered by one of the test case, see:
```
http://qa-proxy.ceph.com/teuthology/xxg-2018-07-30_05:25:06-rados-wip-hb-peers-distro-basic-smithi/
2837916 /teuthology.log
```
The root cause is that there might be holes on log versions, thus the
approx_size() method should (almost) always overestimate the actual number of log entries.
As a result, we might be at the risk of overtrimming log entries.
https://github.com/ceph/ceph/pull/18338 reveals a probably easier way
to fix the above problem but unfortunately it also can cause big performance regression
and hence comes this pr..
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
3654d56985c67d15506fa37b56ef5b0c04e01a65 )
Conflicts:
src/osd/PrimaryLogPG.cc: trivial resolution
xie xingguo [Mon, 3 Sep 2018 07:37:36 +0000 (15:37 +0800)]
osd/PrimaryLogPG: avoid dereferencing invalid complete_to
For the auto-repair (EIO caused) case, we will not reinitialize
**complete_to** (because last_complete is equal to last_update!)
and hence there is chance that **complete_to** should aleady
point to **log.end()** before we call recover_got.
We could simply drop it here as we (already) logged the **complete_to**
iterator change in a more compatible way a few lines below.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
(cherry picked from commit
69a2cc35840939436da09691ca62476d7f599de4 )
Neha Ojha [Thu, 16 Aug 2018 18:48:19 +0000 (11:48 -0700)]
osd/PrimaryLogPG.cc: limit trimming at can_rollback_to
This change is motivated by the failures seen in the multimds suite,
where we hit assert(s <= can_rollback_to), while trimming the log in ec
pools.
This is due to the fact that we had removed limits on the trim_to value to
address https://tracker.ceph.com/issues/23979.
But, seems that this could be dangerous for ec pools. So, keep the
can_rollback_to limit, while calculating the trim_to value.
Fixes: http://tracker.ceph.com/issues/21416
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
4b5c6b88d444e2173e716fe4890717873c8dc8e5 )
Neha Ojha [Sat, 4 Aug 2018 00:38:22 +0000 (17:38 -0700)]
osd/PGLog.cc: check if complete_to points to log.end()
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
630daa1d7d233aa01a2d49bf1bc7b858bf73348a )
Neha Ojha [Tue, 31 Jul 2018 00:09:51 +0000 (17:09 -0700)]
src/osd/PG.cc: remove redundant call to trim_log()
This change is motived by the failure tracked in
https://tracker.ceph.com/issues/25198. The failure highlights a case, when a
call to trim_log() after the PG has recovered, races with the previous op,
on a replica OSD. Since the previous operation has not completed, the
last_complete value for that OSD is not valid, when we try to trim the
log. It is also worth noting that the race is due to MOSDPGTrim going through
the strict queue as a peering message vs regular ops going through the
non-strict queue.
During the investigation of this bug, we noticed that, with
https://tracker.ceph.com/issues/23979, we allow pg log trimming to
happen on the primary and replicas, whenever we cross the upper bound of
the pg log. This also ensures that pg log trimming happens while processing
any new op.
Therefore, the function trim_log(), which earlier served the purpose of
trimming logs on the primary and replicas, just before the PG went into
the Recovered state, is no more required. This acted like a last line of
defense to trim logs, when we did not need the logs any more. But, this call
seems redundant now, because, we are limiting the pg log length at all times.
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
283b0bde4a52128c1590afe8e5011b266a2e334b )
Conflicts:
src/osd/PG.cc: We do not need the trim_log() call any longer,
due to the explanation provided in the commit message.
Neha Ojha [Mon, 30 Jul 2018 23:42:55 +0000 (16:42 -0700)]
osd/PGLog.cc: use lgeneric_subdout instead of generic_dout
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
1b6dafb351b4f80e1e2c9a304f9e1d508ae8bf72 )
Neha Ojha [Tue, 17 Jul 2018 01:11:27 +0000 (18:11 -0700)]
osd/PGLog: allow pg log trim when complete_to is less than trim_to
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
a5329ba8dd169e55deaff47d042354e53d8e722d )
Conflicts:
src/osd/PGLog.cc: Now it is possible to have complete_to version
less than or equal to trim version, because the pg log length upper
limit is a hard limit, and trim can proceed even when there is
pending recovery/backfill. So do not complain when this happens.
Neha Ojha [Tue, 17 Jul 2018 01:01:26 +0000 (18:01 -0700)]
osd: reset complete_to when trimming the log past it
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
38170cdb1b8c3ea7e8b411fabe1fe99abd06cf52 )
Neha Ojha [Mon, 16 Jul 2018 23:48:58 +0000 (16:48 -0700)]
osd: allow trim() to proceed when there are missing items
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
de42fee0dff299f4d0377961d05e02fd8f49f21b )
Conflicts:
src/osd/PGLog.cc: The async recovery feature is not present
in luminous. Remove async recovery requirements from this commit.
Neha Ojha [Mon, 16 Jul 2018 23:31:22 +0000 (16:31 -0700)]
osd: handle trim() during backfill
Remove async recovery components: The async recovery feature is not present
in luminous. We do not need commit
22d17fb5aad6ab9d7525d9492c0e96a36d02879e ,
which adds a flag to remember async recovery. We have also removed async
recovery requirements from this commit and modified the commit message to
only reflect backfill.
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
e538c31f0f3133f811a8e478fcb25b575cad66bf )
Neha Ojha [Mon, 16 Jul 2018 22:06:12 +0000 (15:06 -0700)]
osd: print pg log length and trim_to
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
f48584a5b468949c31bffba1b507fb13a8756284 )
Neha Ojha [Mon, 16 Jul 2018 21:46:21 +0000 (14:46 -0700)]
osd: make calc_trim_to() independent of min_last_complete_ondisk
Signed-off-by: Neha Ojha <nojha@redhat.com>
(cherry picked from commit
1ae5fd32c92ea2f025344c663535d00f71f2cdda )
Conflicts:
src/osd/PrimaryLogPG.cc: min_last_complete_ondisk and
pg_log.get_can_rollback_to() are no longer the limit of the pg log.
Make the head of the pg log the new limit for pg log trimming.
Yuri Weinstein [Fri, 18 Jan 2019 15:47:26 +0000 (07:47 -0800)]
Merge pull request #25833 from vshankar/wip-37762
luminous: config: drop config::lock when invoking config observer
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Volker Theile [Thu, 29 Nov 2018 12:48:30 +0000 (13:48 +0100)]
ceph-volume: Adapt code to support Python3
- raw_input() has been renamed to input() in Python3
- Changed signature of prompt_bool. Variables that are named like built-ins must be named like xxx_ and not _xxx
Fixes: https://tracker.ceph.com/issues/37470
Signed-off-by: Volker Theile <vtheile@suse.com>
(cherry picked from commit
fe25a0ea625e75c598f6d0749e7259eef167fa8e )
Alfredo Deza [Fri, 7 Dec 2018 17:29:45 +0000 (12:29 -0500)]
ceph-volume tests.functional.batch symlink test_zap to all batch scenarios
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
d3c0058911fd0b3e273a7afb1a9f4f6072942d75 )
Alfredo Deza [Fri, 7 Dec 2018 17:28:37 +0000 (12:28 -0500)]
ceph-volume tests.functional.batch add test_zap yaml to tox.ini
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
25843b762953e53c08e6475d1f9dbfd5102a283f )
Alfredo Deza [Fri, 7 Dec 2018 17:08:44 +0000 (12:08 -0500)]
ceph-volume tests.functional.batch create a separate test_zap playbook
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
6b8f0d483a6203de204fcc605ade536749a9f6c8 )
Alfredo Deza [Fri, 7 Dec 2018 12:53:43 +0000 (07:53 -0500)]
ceph-volume lvm.zap update success message for OSD IDs
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
73bb17f79a5b67b28ceace9dc7dcc2dde38dad5e )
Alfredo Deza [Thu, 6 Dec 2018 20:30:38 +0000 (15:30 -0500)]
doc/man/ceph-volume add zapping by osd-id examples
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
acbf7c9b2ad2810621d7ed3987e814cd8c2a2f65 )
Alfredo Deza [Thu, 6 Dec 2018 20:30:22 +0000 (15:30 -0500)]
doc/ceph-volume add zapping by osd-id examples
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
f82304f4b5f5ecd865b6a208f894b59cec6386e2 )
Alfredo Deza [Thu, 6 Dec 2018 20:00:00 +0000 (15:00 -0500)]
ceph-volume tests.lvm verify associated lvs by osd id+fsid behavior
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
40a414464727375d5c558532aed3b70766ec5b78 )
Alfredo Deza [Thu, 6 Dec 2018 15:54:11 +0000 (10:54 -0500)]
ceph-volume lvm.zap initial take on zapping by OSD ID, FSID
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit
59f6cec6dd0687a2528f75a518bd0d4617c27fe0 )
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>
(cherry picked from commit
ac302de7b7725c259fee1852e3f402533d69f8cf )
Yuri Weinstein [Thu, 17 Jan 2019 18:06:56 +0000 (10:06 -0800)]
Merge pull request #25719 from ashishkumsingh/wip-37553-luminous
luminous: osdc/Objecter: update op_target_t::paused in _calc_target
Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Yan, Zheng [Mon, 29 Oct 2018 03:03:00 +0000 (11:03 +0800)]
mds: handle state change race
In multi-mds cluster, recovering mds may receive mdsmap that changes
its state after other mds. Furthermore, the recovering mds may receive
messages tiggered by its state change from other mds before it receive
corresponding mdsmap.
Fixes: http://tracker.ceph.com/issues/37594
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit
d3a444473abc98e5ce8121af24538a141a292777 )
Conflicts:
src/mds/Locker.cc
src/mds/MDCache.cc
src/mds/MDSRank.h