]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tasks/ceph_fuse: fix ceph-fuse mount failed 22895/head
authorliyan <liyan.wang@xtaotech.com>
Wed, 22 Nov 2017 07:02:47 +0000 (15:02 +0800)
committerNathan Cutler <ncutler@suse.com>
Fri, 6 Jul 2018 04:31:17 +0000 (06:31 +0200)
Fixes: http://tracker.ceph.com/issues/22205
Signed-off-by: liyan <liyan.wang@xtaotech.com>
(cherry picked from commit 0a752e634a64baa1b678018f39a788be0284106d)

qa/tasks/ceph_fuse.py

index c9d83549668208147e1f99ad67b87fd26b9d8a78..14c6989720b584772d5159c6b82abf130f1c6ed7 100644 (file)
@@ -7,6 +7,8 @@ import logging
 
 from teuthology import misc as teuthology
 from cephfs.fuse_mount import FuseMount
+from tasks.cephfs.filesystem import MDSCluster
+from tasks.cephfs.filesystem import Filesystem
 
 log = logging.getLogger(__name__)
 
@@ -103,6 +105,14 @@ def task(ctx, config):
     all_mounts = getattr(ctx, 'mounts', {})
     mounted_by_me = {}
 
+    log.info('Wait for MDS to reach steady state...')
+    mds_cluster = MDSCluster(ctx)
+    status = mds_cluster.status()
+    for filesystem in status.get_filesystems():
+        fs = Filesystem(ctx, fscid=filesystem['id']) 
+        fs.wait_for_daemons()
+    log.info('Ready to start ceph-fuse...')
+
     # Construct any new FuseMount instances
     for id_, remote in clients:
         client_config = config.get("client.%s" % id_)