From: Venky Shankar Date: Wed, 20 Jan 2021 04:45:51 +0000 (-0500) Subject: qa: valgrind test for cephfs-mirror daemon X-Git-Tag: v17.1.0~2889^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7583126d195746ff6645837a714a91082b048c20;p=ceph.git qa: valgrind test for cephfs-mirror daemon Fixes: http://tracker.ceph.com/issues/49040 Signed-off-by: Venky Shankar --- diff --git a/qa/suites/fs/mirror/cephfs-mirror/+ b/qa/suites/fs/mirror/cephfs-mirror/+ deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/qa/suites/fs/valgrind/% b/qa/suites/fs/valgrind/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/fs/valgrind/.qa b/qa/suites/fs/valgrind/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/fs/valgrind/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/fs/valgrind/begin.yaml b/qa/suites/fs/valgrind/begin.yaml new file mode 120000 index 000000000000..311d404f7c27 --- /dev/null +++ b/qa/suites/fs/valgrind/begin.yaml @@ -0,0 +1 @@ +.qa/cephfs/begin.yaml \ No newline at end of file diff --git a/qa/suites/fs/valgrind/centos_latest.yaml b/qa/suites/fs/valgrind/centos_latest.yaml new file mode 120000 index 000000000000..bd9854e70298 --- /dev/null +++ b/qa/suites/fs/valgrind/centos_latest.yaml @@ -0,0 +1 @@ +.qa/distros/supported/centos_latest.yaml \ No newline at end of file diff --git a/qa/suites/fs/valgrind/mirror/% b/qa/suites/fs/valgrind/mirror/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/fs/valgrind/mirror/.qa b/qa/suites/fs/valgrind/mirror/.qa new file mode 120000 index 000000000000..a602a0353e75 --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/fs/valgrind/mirror/cephfs-mirror/one-per-cluster.yaml b/qa/suites/fs/valgrind/mirror/cephfs-mirror/one-per-cluster.yaml new file mode 100644 index 000000000000..4112a0af0b10 --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/cephfs-mirror/one-per-cluster.yaml @@ -0,0 +1,7 @@ +meta: +- desc: run one cephfs-mirror daemon on primary cluster + +tasks: +- cephfs-mirror: + client: client.mirror + valgrind: [--tool=memcheck, --leak-check=full, --show-reachable=yes] diff --git a/qa/suites/fs/valgrind/mirror/clients/mirror.yaml b/qa/suites/fs/valgrind/mirror/clients/mirror.yaml new file mode 100644 index 000000000000..eb1ee5c55f58 --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/clients/mirror.yaml @@ -0,0 +1,18 @@ +meta: +- desc: configure the permissions for client.mirror +overrides: + ceph: + conf: + client: + debug cephfs_mirror: 20 + log to stderr: false + # make these predictable + client.mirror: + admin socket: /var/run/ceph/cephfs-mirror.asok + pid file: /var/run/ceph/cephfs-mirror.pid +tasks: +- exec: + client.mirror: + - "sudo ceph auth caps client.mirror mon 'allow r' mds 'allow r' osd 'allow rw tag cephfs metadata=*, allow r tag cephfs data=*' mgr 'allow r'" + client.mirror_remote: + - "sudo ceph auth caps client.mirror_remote mon 'allow r' mds 'allow rwps' osd 'allow rw tag cephfs *=*' mgr 'allow r'" diff --git a/qa/suites/fs/valgrind/mirror/cluster/1-node.yaml b/qa/suites/fs/valgrind/mirror/cluster/1-node.yaml new file mode 100644 index 000000000000..cae4aca5ebb2 --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/cluster/1-node.yaml @@ -0,0 +1,17 @@ +meta: +- desc: 1 ceph cluster with 1 mon, 1 mgr, 3 osds, 5 mdss +roles: +- - mon.a + - mgr.x + - mds.a + - mds.b + - mds.c + - mds.d + - mds.e + - osd.0 + - osd.1 + - osd.2 + - client.0 + - client.1 + - client.mirror + - client.mirror_remote diff --git a/qa/suites/fs/valgrind/mirror/mount/fuse.yaml b/qa/suites/fs/valgrind/mirror/mount/fuse.yaml new file mode 100644 index 000000000000..1fdf55ab4621 --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/mount/fuse.yaml @@ -0,0 +1,2 @@ +tasks: + - ceph-fuse: [client.0, client.1] diff --git a/qa/suites/fs/valgrind/mirror/overrides/.qa b/qa/suites/fs/valgrind/mirror/overrides/.qa new file mode 120000 index 000000000000..fea2489fdf6d --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/overrides/.qa @@ -0,0 +1 @@ +../.qa \ No newline at end of file diff --git a/qa/suites/fs/valgrind/mirror/overrides/whitelist_health.yaml b/qa/suites/fs/valgrind/mirror/overrides/whitelist_health.yaml new file mode 120000 index 000000000000..74f39a49b27e --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/overrides/whitelist_health.yaml @@ -0,0 +1 @@ +.qa/cephfs/overrides/whitelist_health.yaml \ No newline at end of file diff --git a/qa/suites/fs/valgrind/mirror/tasks/mirror.yaml b/qa/suites/fs/valgrind/mirror/tasks/mirror.yaml new file mode 100644 index 000000000000..af60495e53f8 --- /dev/null +++ b/qa/suites/fs/valgrind/mirror/tasks/mirror.yaml @@ -0,0 +1,10 @@ +overrides: + ceph: + conf: + mgr: + debug client: 10 + +tasks: + - cephfs_test_runner: + modules: + - tasks.cephfs.test_mirroring diff --git a/qa/suites/fs/valgrind/notcmalloc.yaml b/qa/suites/fs/valgrind/notcmalloc.yaml new file mode 100644 index 000000000000..dab8426e9151 --- /dev/null +++ b/qa/suites/fs/valgrind/notcmalloc.yaml @@ -0,0 +1,8 @@ +meta: +- desc: use notcmalloc version for valgrind + +overrides: + install: + ceph: + flavor: notcmalloc + debuginfo: true diff --git a/qa/tasks/cephfs_mirror.py b/qa/tasks/cephfs_mirror.py index 037f13e1def0..aa67fca135c8 100644 --- a/qa/tasks/cephfs_mirror.py +++ b/qa/tasks/cephfs_mirror.py @@ -41,8 +41,15 @@ class CephFSMirror(Task): 'term', ] + if 'valgrind' in self.config: + args = misc.get_valgrind_args( + testdir, 'cephfs-mirror-{id}'.format(id=self.client), + args, self.config.get('valgrind')) + args.extend([ 'cephfs-mirror', + '--cluster', + self.cluster_name, '--id', self.client_id, ])