From: dehao shang Date: Fri, 20 Mar 2020 13:41:19 +0000 (+0800) Subject: qa: fix nfs setup and teardown bug in qemu task X-Git-Tag: wip-pdonnell-testing-20200918.022351~1625^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=5bcb27c975756edfed50f5fcbd3b692f11a57020;p=ceph-ci.git qa: fix nfs setup and teardown bug in qemu task For example, when there are two RBD client in the same teuthology node, no matter what the result of test case is, always lead to the below error : "Error : test -f /home/ubuntu/cephtest/archive/qemu/client.1/success" The main reason is that _setup_nfs_mount and _teardown_nfs_mount just support single mount point. Signed-off-by: Dehao Shang --- diff --git a/qa/tasks/qemu.py b/qa/tasks/qemu.py index 2a0cb40fba0..35c665a84df 100644 --- a/qa/tasks/qemu.py +++ b/qa/tasks/qemu.py @@ -285,8 +285,10 @@ def _setup_nfs_mount(remote, client, service_name, mount_dir): export = "{dir} *(rw,no_root_squash,no_subtree_check,insecure)".format( dir=export_dir ) + log.info("Deleting export from /etc/exports...") remote.run(args=[ - 'sudo', 'sed', '-i', '/^\/export\//d', "/etc/exports", + 'sudo', 'sed', '-i', "\|{export_dir}|d".format(export_dir=export_dir), + '/etc/exports' ]) remote.run(args=[ 'echo', export, run.Raw("|"), @@ -319,13 +321,10 @@ def _teardown_nfs_mount(remote, client, service_name): remote.run(args=[ 'sudo', 'umount', export_dir ]) - log.info("Deleting exported directory...") - remote.run(args=[ - 'sudo', 'rm', '-r', '/export' - ]) log.info("Deleting export from /etc/exports...") remote.run(args=[ - 'sudo', 'sed', '-i', '$ d', '/etc/exports' + 'sudo', 'sed', '-i', "\|{export_dir}|d".format(export_dir=export_dir), + '/etc/exports' ]) log.info("Starting NFS...") if remote.os.package_type == "deb": @@ -457,6 +456,12 @@ def run_qemu(ctx, config): ), ], ) + log.info("Deleting exported directory...") + for client in config.keys(): + (remote,) = ctx.cluster.only(client).remotes.keys() + remote.run(args=[ + 'sudo', 'rm', '-r', '/export' + ]) @contextlib.contextmanager