Previously relied on client being able to unmount
while the MDS was offline, which is not necessarily
so. Use kill instead.
Signed-off-by: John Spray <john.spray@redhat.com>
As per Sam Just advice, remove the EXPECT_DEATH tests to avoid
intermittent hang because they do not play well with threads.
Fixes: http://tracker.ceph.com/issues/18030
Signed-off-by: Loic Dachary <loic@dachary.org>
* find_package(keyutils REQUIRED) if (WITH_LIBCEPHFS OR WITH_RBD)
prior to this change, we detect keyutils if the building platform is not
FreeBSD, we should instead check the WITH_* options, and let the
maintainer to decided what is the best for his/her platform, and error
out if the building host cannot fulfill the requirement to build the
asserts.
* build krbd.cc if (WITH_RBD)
Signed-off-by: Kefu Chai <kchai@redhat.com>
"start" is used to calculate the global bluestore commit latency
and hence shall not be updated at each internal state enter/exit.
Otherwise the l_bluestore_commit_lat counter won't reflect the
real commit latency precisely.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
The libcephfs tests are negatively affected by other mounts. This commit
adds a kclient disable in addition to the ceph-fuse one.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
This commit synchronizes the multimds suite with the fs suite. The
basic/verify sub-suites now do the same tests except with different
cluster layouts (i.e. multiple actives). This is mostly accomplished by
symlinking parts of each sub-suite to its counterpart in the fs suite.
This commit also does a few things of note to the prior multimds suite:
o Turn on directory fragmentation.
o Add several tests from fs/basic/tasks to multimds/basic.
o Remove libcephfs as fs/basic/tasks already contain
multimds/basic/tasks.
Prior implementation and discussion are in PR#1114: https://github.com/ceph/ceph-qa-suite/pull/1114
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
queue_op will check the op epoch with current osdmap epoch,
and then, the op will be push into waiting_for_map or mark
queued flag.
but when the op pop from waiting_for_map, take_op_map_waiters
forget to mark queued flag before handle it.
Signed-off-by: Yunchuan Wen <yunchuan.wen@kylin-cloud.com>
Previously this assumed it was running with exactly two MDS
daemons. When there were more, it would fail to execute
"fs reset" because the extra daemons were active in
the map.
Signed-off-by: John Spray <john.spray@redhat.com>
This relies on quota-ish stuff that doesn't exist
in kclient. We can still run the outer part
of the test though.
Signed-off-by: John Spray <john.spray@redhat.com>
Should have been to umount_wait, not umount (i.e.
the blocking foreground version). This happened
to matter because umount_wait is more tolerant
of being called if the client is not already mounted.
Signed-off-by: John Spray <john.spray@redhat.com>
This test was probably buggy and only happened to work
with ceph-fuse, because it expects the MDS to immediately
respond to updates to the client's auth caps, but that
doesn't happen.
Signed-off-by: John Spray <john.spray@redhat.com>
With the kernel client, this was proceeding to attempt
a split before the directory had persisted, because
there was no fsync after creating it.
Signed-off-by: John Spray <john.spray@redhat.com>
This tests a fuse-only feature, ticket for adding
it in kclient is:
http://tracker.ceph.com/issues/17805
Signed-off-by: John Spray <john.spray@redhat.com>
Change the Mount interface to take it as an
argument to mount() instead of setting it
out of band in a config file as we used to
for the fuse client.
Signed-off-by: John Spray <john.spray@redhat.com>
It was not correct to expect a client to block after
eviction unless it was also deauthorised. I guess
this was working with fuse because fuse does a less
good job at re-establishing a session than the kclient?
Signed-off-by: John Spray <john.spray@redhat.com>
Some tests want to use power cycling to reset stuck
mounts, and that needs to not kill OSDs as collateral
damage.
Need to revisit this to avoid unnecessarily using a whole
node for the client for those tests that don't require it
(i.e. those that don't use CephFSTestCase.REQUIRE_KCLIENT_REMOTE)
Signed-off-by: John Spray <john.spray@redhat.com>
With fuse client we expect everything to be
runnable so treat SkipTest as a failure because
it indicates something bad in the config. With kclient
we known we have to skip some tests, so tolerate it.
Signed-off-by: John Spray <john.spray@redhat.com>
Instead of asserting in configure_auth (which in fact
works fine with KernelMount.write_secret_file), raise
a SkipTest in test_session_reject (because the kernel
client cannot handle the client_metadata setting to
inject bogus data)
Signed-off-by: John Spray <john.spray@redhat.com>