Commit Graph

16 Commits

Author SHA1 Message Date
Patrick Donnelly
88f74dbfa6
qa: deep merge top level overrides for fuse/kclient
This allows for array/dict configs like mntopts to accumulate changes
from multiple yaml fragments.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2021-06-04 19:15:12 -07:00
Jeff Layton
4181742a3b qa: allow arbitrary mount options on kclient mounts
With this, we can pass a list of mount options to the kclient that will
be added onto the default ones. This is necessary to support testing
with fscache enabled (and other features activated by mount options).

Fixes: https://tracker.ceph.com/issues/6373
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2020-12-04 18:22:28 -05:00
Ramana Raja
a38b836589 qa/suites/fs: enable thrashing in multifs environment
Fixes: https://tracker.ceph.com/issues/15134
Co-authored-by: Patrick Donnelly <pdonnell@redhat.com>
Signed-off-by: Ramana Raja <rraja@redhat.com>
2020-11-27 15:55:01 +05:30
Ramana Raja
8c11cdf5dc qa/tasks/{kclient,ceph_fuse}: allow mounting
... a specific filesystem.

Signed-off-by: Ramana Raja <rraja@redhat.com>
2020-11-20 13:23:21 +05:30
Patrick Donnelly
e8642c742a
qa: run norstats workunit for klient
Fixes: https://tracker.ceph.com/issues/23718
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-11-03 13:00:35 -08:00
Rishabh Dave
07e493ffb5 qa/cephfs: allow reusing mount objects and add remount method
This commit introduces following two set of changes -

First, make client keyring path, mountpoint on host FS and CephFS and
CephFS's name attributes of the object representing the mount
and update all the mount object creation calls accordingly. Also,
rewrite all the mount object creation to use keyword arguments instead
of positional arguments to avoid mistakes, especially since a new
argument was added in this commit.

Second, add remount method to mount.py so that it's possible to unmount
safely, modify the attributes of the object representing the mount and
mount again based on new state of the object *in a single call*. The
method is placed in mount.py to avoid duplication.

This change has two leads to two more changes: upgrading interface of
mount() and mount_wait() and upgrading testsuites to adapt to these
change.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-09-10 17:10:51 +05:30
Xiubo Li
47600028ae qa: defer cleaning the mountpoint's netnses and the bridge
The netnses maybe created/deleted many times in the whole test cases,
we can defer cleaning them untile the last mountpoint is unmounted
or when the test is exiting.

Fixes: https://tracker.ceph.com/issues/46282
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-07-29 20:58:36 -04:00
Xiubo Li
c0c5550ed7 qa/tasks/cephfs/mount.py: remove the stale netnses and bridge
If the previous test cases failed, the netnses and bridge will be
left. Here will remove them when new test cases begin.

Fixes: https://tracker.ceph.com/issues/45806
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-07-29 08:41:18 +08:00
Michael Fritch
44bcee8d1a
qa/tasks: logger.warn() -> logger.warning()
logger.warn() is the same as logger.warning(), but was removed in py3.3

Signed-off-by: Michael Fritch <mfritch@suse.com>
2020-05-13 17:18:13 -06:00
Xiubo Li
f0c67256b9 qa/vstart_runner: add unsharing network namespace support
This will isolate the network namespace for each mount point with
a private ip address and iptables, etc.

For the kill() stuff it will just do DOWN the veth interface instead
of sending ipmi request for kernel mount and kill the fuse processes
for the fuse mount. This could avoid sending the socket FIN to the
ceph cluster.

Fixes: https://tracker.ceph.com/issues/44044
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-04-14 07:47:03 -04:00
Kyr Shatskyy
06f22a3097 qa/tasks/kclient: fix import for py3
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-03-06 10:19:55 +01:00
Jeff Layton
57f91d1550 qa: have kclient tests use new mount.ceph functionality
Now that the mount helper has the ability to discover mon addrs and
can scrape secrets from the keyring, take advantage of it and simplify
the KernelMount class.

Fixes: https://tracker.ceph.com/issues/41892
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2019-09-20 06:50:43 -04:00
Patrick Donnelly
441a2730e5
qa: add tests for client features
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-12 10:12:12 -07:00
John Spray
3c9f16d8ab tasks/kclient: apply timeout to umount
The umount process can get stuck, in which case
we want to fail the test rather than waiting around for it.

During teardown of the kclient task catch this
timeout explicitly so that we will powercycle the node if
needed.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-02-02 15:09:48 +00:00
John Spray
7f7f44ea5c qa/tasks: force umount during kclient teardown
Previously we could readily end up hanging on teardown
when something had gone wrong with umount.  Forcing
is a big hammer (umount_wait will power cycle the node
if umount isn't working), so if we had to do that
then raise an exception to indicate that something
was wrong with the test.

Fixes: http://tracker.ceph.com/issues/18663
Signed-off-by: John Spray <john.spray@redhat.com>
2017-02-01 00:26:59 +00:00
Sage Weil
c01f2ee0e2 move ceph-qa-suite dirs into qa/ 2016-12-14 11:29:55 -06:00