]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agomgr/balancer: make weekday be compatible with C 26501/head
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)

6 years agomgr/balancer: restrict automatic balancing to specific weekdays
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.

6 years agoMerge pull request #25720 from ashishkumsingh/wip-36692-luminous
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>
6 years agoMerge pull request #25768 from ashishkumsingh/wip-26913-luminous
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>
6 years agoMerge pull request #25955 from pdvian/wip-37901-luminous
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>
6 years agoMerge pull request #26000 from pdvian/wip-37926-luminous
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>
6 years agoMerge pull request #26286 from smithfarm/wip-38186-luminous
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>
6 years agoMerge pull request #25990 from ukernel/luminous-37760
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>
6 years agoMerge pull request #26005 from ukernel/luminous-37481
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>
6 years agoMerge pull request #26257 from batrick/i38084
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>
6 years agoMerge pull request #26271 from batrick/i38104
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>
6 years agoMerge pull request #26278 from ukernel/luminous-stale-caps
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>
6 years agoMerge pull request #26326 from alfredodeza/luminous-rm38229
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>
6 years agodoc: pin the version for `breathe` to 4.1.11 26326/head
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>
6 years agoMerge pull request #26295 from jan--f/25390-luminous
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>
6 years agoceph-volume: add inventory call to functional tests 26295/head
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)

6 years agoceph-volume: add partition support to Device
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)

6 years agoRevert "ceph-volume tests.util ensure partitions are listed as top-level keys"
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)

6 years agoRevert "ceph-volume util.disk include partitions as top level devices in get_devices"
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)

6 years agoqa: update krbd tests for zeroout 26286/head
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

6 years agomds: optimize resuming stale caps 26278/head
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

6 years agoclient: avoid unnecessary wakeup when handling RENEWCAPS
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)

6 years agoclient: set cap->wanted when adding new cap
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

6 years agoclient: don't wakeup cap waiters twice when mds recovered
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

6 years agomds: optimize revoking stale caps
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

6 years agomds: put notable caps at the front of session's caps list
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

6 years agomds: track if client has writeable range in Capability
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

6 years agomds: add session pointer to Capability
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

6 years agoclient: skip updating 'wanted' caps if caps are already issued
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

6 years agoclient: sync 'retain caps' logical from kernel client
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)

6 years agoMerge pull request #26207 from vumrao/wip-vumrao-38108
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>
6 years agoMerge pull request #26186 from tchaikov/luminous-36737
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>
6 years agoclient: flush cap release on session flush 26271/head
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

6 years agomds: do not log internal journal error 26257/head
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

6 years agomds: clean up log level 2 messages
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

6 years agomds: log session open stats
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

6 years agocmake: use $CMAKE_BINARY_DIR for default $CEPH_BUILD_VIRTUALENV 26186/head
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.

6 years agomgr/DaemonServer: log pgmap usage to cluster log 26207/head
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

6 years ago12.2.11 v12.2.11
Jenkins Build Slave User [Wed, 30 Jan 2019 15:51:26 +0000 (15:51 +0000)]
12.2.11

6 years agotest: listen on random port in tests which start ceph-mon
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)

6 years agotest: write log file to current directory
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

6 years agoMerge pull request #26117 from ceph/backport-luminous-26084 26163/head
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

6 years agoMerge pull request #26114 from alfredodeza/luminous-rm37963
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>
6 years agoceph-volume: mark a device not available if it belongs to ceph-disk 26117/head
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)

6 years agoceph-volume tests verify behavior of create_dmcrypt_key in python 3 26114/head
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)

6 years agoceph-volume util.encryption ensure int is used for urandom (py3 compat)
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)

6 years agoMerge pull request #26088 from ukernel/luminous-37977
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>
6 years agomds: fix infinite loop in OpTracker::check_ops_in_flight 26088/head
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>
6 years agoRevert "mds: fix infinite loop in OpTracker::check_ops_in_flight"
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>
6 years agoMerge pull request #26037 from yuriw/wip-yuriw-p2p-luminous
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>
6 years agoMerge pull request #25867 from ashishkumsingh/wip-37827-luminous
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

6 years agoqa/tests: changed to `supported' distro and moved all `p2p` suites under the same... 26037/head
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>
6 years agoMerge pull request #26061 from yuriw/wip-yuriw-p2p-luminous_3
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>
6 years agoMerge pull request #26048 from ukernel/luminous-37977
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>
6 years agoMerge pull request #26036 from noahdesu/luminous-pr26015
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>
6 years agoMerge pull request #26030 from alfredodeza/luminous-fix_raw_input
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>
6 years agoqa/tests: changed start point from `luminous` to v12.2.10 26061/head
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>
6 years agoMerge pull request #26014 from alfredodeza/luminous-bz1644847
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>
6 years agoMerge pull request #25553 from jan--f/25238-luminous
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>
6 years agomds: fix infinite loop in OpTracker::check_ops_in_flight 26048/head
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>
6 years agoMerge pull request #25307 from trociny/wip-37438-luminous
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>
6 years agoMerge pull request #25949 from neha-ojha/wip-36686-luminous
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>
6 years agoMerge pull request #25804 from ashishkumsingh/wip-37758-luminous
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>
6 years agoMerge pull request #25904 from pdvian/wip-37829-luminous
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>
6 years agoMerge pull request #26011 from batrick/i37953
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>
6 years agocli: dump osd-fsid as part of osd find <id> 26036/head
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)

6 years agodoc: pglog_hardlimit flag recommendations 25949/head
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>
6 years agoqa/suites/upgrade/jewel-x/stress-split*: require-osd-release luminous after upgrade
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>
6 years agoinclude/rados.h: hide CEPH_OSDMAP_PGLOG_HARDLIMIT from ceph -s
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)

6 years agoqa/suites/upgrade/luminous-p2p-stress-split: add split scenario
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>
6 years agoqa/suites/upgrade/jewel-x: add pg log settings
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>
6 years agomon/OSDMonitor.cc: make a note about reusing jewel feature bit
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

6 years agomon: add and use OSD_PGLOG_HARDLIMIT feature bit
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

6 years agoosd/mon: fix upgrades for pg log hard limit
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.

6 years agoosd: bring back old calc_trim_to and rename new method
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)

6 years agoosd/PrimaryLogPG: fix potential pg-log overtrimming
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

6 years agoosd/PrimaryLogPG: avoid dereferencing invalid complete_to
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)

6 years agoosd/PrimaryLogPG.cc: limit trimming at can_rollback_to
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)

6 years agoosd/PGLog.cc: check if complete_to points to log.end()
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)

6 years agosrc/osd/PG.cc: remove redundant call to trim_log()
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.

6 years agoosd/PGLog.cc: use lgeneric_subdout instead of generic_dout
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)

6 years agoosd/PGLog: allow pg log trim when complete_to is less than trim_to
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.

6 years agoosd: reset complete_to when trimming the log past it
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)

6 years agoosd: allow trim() to proceed when there are missing items
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.

6 years agoosd: handle trim() during backfill
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)

6 years agoosd: print pg log length and trim_to
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)

6 years agoosd: make calc_trim_to() independent of min_last_complete_ondisk
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.

6 years agoMerge pull request #25833 from vshankar/wip-37762
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>
6 years agoceph-volume: Adapt code to support Python3 26030/head
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)

6 years agoceph-volume tests.functional.batch symlink test_zap to all batch scenarios 26014/head
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)

6 years agoceph-volume tests.functional.batch add test_zap yaml to tox.ini
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)

6 years agoceph-volume tests.functional.batch create a separate test_zap playbook
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)

6 years agoceph-volume lvm.zap update success message for OSD IDs
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)

6 years agodoc/man/ceph-volume add zapping by osd-id examples
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)

6 years agodoc/ceph-volume add zapping by osd-id examples
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)

6 years agoceph-volume tests.lvm verify associated lvs by osd id+fsid behavior
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)

6 years agoceph-volume lvm.zap initial take on zapping by OSD ID, FSID
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)

6 years agoqa: silence read-only WRN for damage testing 26011/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>
(cherry picked from commit ac302de7b7725c259fee1852e3f402533d69f8cf)

6 years agoMerge pull request #25719 from ashishkumsingh/wip-37553-luminous
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>
6 years agomds: handle state change race 26005/head
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