Commit Graph

28 Commits

Author SHA1 Message Date
John Spray
a693be2792 tasks/cephfs: vstart & fuse improvements
A couple of corner cases that would get tripped up sometimes
in a vstart_runner.py environment.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-03-10 12:27:44 +00:00
John Spray
08c28765ce tasks/cephfs: optionally check result of fuse proc on umount
For cases where the client process successfully unmounts,
but then crashes before finishing.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-02-10 12:22:05 +00:00
John Spray
9fd891f078 tasks/cephfs: make FuseMount.admin_socket public
For tests that specifically want to exercise an
asok operation (the test is responsible for
verifying that its mount object really is a
FuseMount and not a KernelMount)

Signed-off-by: John Spray <john.spray@redhat.com>
2016-02-10 12:22:05 +00:00
John Spray
aafa06eb9d tasks/cephfs: generate mount paths on the fly
...because new tests that modify the client ID will
get confused about whether they're mounted or not, otherwise.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 14:04:05 +00:00
John Spray
acff449c04 tasks/cephfs: support mount_path in Mount subclasses
For e.g. volumeclient guests that want to mount
a subpath.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-11 13:26:58 +00:00
John Spray
a6970271be tasks/cephfs: fixes to FuseMount
This was getting stressed in new ways by
TestSessionMap.test_session_reject, which
has a mount that fails initially.

Two changes here:
 * Raise CommandFailedError instead of RuntimeError when
   a mount fails (i.e. catch process termination instead
   of timing out on /sys/ population)
 * Generalise error handling on umount, so that we only
   raise the exception on an umount failure if the mount
   appears to really not be unmounted.  There is some
   EINVAL corner case that was getting triggered by the test.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-01-05 18:58:01 +00:00
John Spray
904fd76813 tasks/cephfs: fix FuseMount._asok_path
Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:17 +01:00
John Spray
c0e90aa5a7 tasks/cephfs: make FuseMount.teardown safer
(don't assume fuse_daemon exists)

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
be749f8fde tasks/cephfs: work around fuse weirdness
I am seeing a strange thing where it seems like sometimes
a ls of /sys/fs/fuse/connections is returning empty when
connections do exist.  It is pretty easy to make this
a non-issue by waiting for "more conns than we started with"
instead of "list of conns is different", so do that.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
e51cd6bee3 tasks/cephfs: prefix override in FuseMount
For asok and invokation of ceph CLI.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
John Spray
48cf533f0a tasks/cephfs: handle endpoint not connected
Previously failure to stat mnt dir was interpreted
as being unmounted.  For "transport endpoint no connected"
error we do want to recognise that it is mounted, albeit
with no ceph-fuse process.

Signed-off-by: John Spray <john.spray@redhat.com>
2015-10-02 17:41:16 +01:00
Gregory Farnum
e3c99476b0 Merge pull request #453 from ceph/wip-11835
tasks/cephfs: time out on ceph-fuses that don't die

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-09-21 16:09:48 -07:00
Greg Farnum
f97fde6c26 tasks/cephfs: switch unmount timeout to 15 minutes
Our ffsb and fsync tests contain so many small writes at random offsets
that it can take >10 minutes to commit all of them to disk if we get
a slower OSD cluster. 15 minutes is still a plenty-fast timeout for
this stage compared to just hanging and losing the logs!

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2015-09-16 14:27:14 -07:00
John Spray
8e275049a0 tasks/cephfs: fix mount_timeout config loading
Previously were defaulting to a string, which
always compared greater than elapsed, so never
timed out.

Fixes: #12820
Signed-off-by: John Spray <john.spray@redhat.com>
2015-09-01 11:31:23 +01:00
Loic Dachary
ec12f21a7e tasks/ceph_fuse.py: virtual machines need flexible mount timeout
1) add a wait time before the mount attempt to let the cluster get set up.
By default this should be skipped, but for VMs and known-slow systems we
can give them 60 seconds.
2) Make the timeout configurable, with a 30-second default, but override it
for VM tests.

http://tracker.ceph.com/issues/12320 Fixes: #12320

Signed-off-by: Loic Dachary <loic@dachary.org>
2015-07-14 13:03:01 +02:00
John Spray
07eb03acee tasks/cephfs: time out on ceph-fuses that don't die
For cases where we have e.g. poked the fuse abort
file for a process, but it's still not dying.  Because
this is a special class of error (unlike e.g. when
we force umount something because the network is gone)
raise the error instead of trying again to kill
the client.

Fixes: #11835
Signed-off-by: John Spray <john.spray@redhat.com>
2015-06-10 10:56:07 +01:00
Yan, Zheng
bd542353f5 tasks/cephfs: mount fusectl before listing fuse connections
Fixes: #11756
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-26 22:18:57 +08:00
Yan, Zheng
c7e8e544a8 cephfs/test_client_limits.py: invalidate kernel dcache according to client_cache_size
Signed-off-by: Yan, Zheng <zyan@redhat.com>
2015-05-13 14:40:28 +08:00
John Spray
fc4e90930b tasks/cephfs: fix/improve fuse force umount (again)
teuthology helpfully escapes things for us so
the \; didn't need the backslash.  The logic
was still falling over in some cases too.

Additionally, make the FUSE /sys/ abort operation
more surgical by working out the connection name
of our own mount during mount().

Signed-off-by: John Spray <john.spray@redhat.com>
2015-02-26 23:08:33 +00:00
John Spray
03b0e1064c tasks/cephfs: fix fuse force unmount
This was broken in the case of multiple
mounts, and in the case of stuck mounts.

Fixes: #10702
Signed-off-by: John Spray <john.spray@redhat.com>
2015-02-10 14:58:23 +00:00
John Spray
849e259b96 tasks: add mds_full task
This is for exercising the CephFS behaviour
when the cluster becomes full.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:31 +00:00
John Spray
8fa6b154e3 tasks/cephfs: enable osd epoch get from mounts
Using new hooks for #7317

Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
John Spray
dedcc6483a tasks/cephfs: enable kclient for mds_* tasks
Signed-off-by: John Spray <john.spray@redhat.com>
2014-12-18 12:45:30 +00:00
John Spray
0073e25d77 tasks: rename FuseMount.get_client_id to get_global_id
'client_id' was ambiguous because in other places it
meant the '0' in client.0, whereas here it means
the runtime-generated global ID of the client.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-29 15:04:25 +01:00
John Spray
b77b3bec72 tasks: add mds_client_limits
New CephFS tests for the behaviour of the system while
enforcing its resource limits.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-09-29 15:04:18 +01:00
John Spray
bb52a9733a tasks/mds_client_recovery: network freeze test
This is about testing the CephFS client's handling
of losing connectivity to the MDS.

Fixes: #7810

Signed-off-by: John Spray <john.spray@redhat.com>
2014-08-21 23:09:00 +01:00
Zack Cerza
4e1e929f75 Update module references
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-07 08:24:59 -06:00
Zack Cerza
0e1df3cc72 Import teuthology tasks (master branch)
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-07 08:24:58 -06:00