]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: valgrind test for cephfs-mirror daemon 39138/head
authorVenky Shankar <vshankar@redhat.com>
Wed, 20 Jan 2021 04:45:51 +0000 (23:45 -0500)
committerVenky Shankar <vshankar@redhat.com>
Tue, 2 Feb 2021 14:25:20 +0000 (09:25 -0500)
Fixes: http://tracker.ceph.com/issues/49040
Signed-off-by: Venky Shankar <vshankar@redhat.com>
16 files changed:
qa/suites/fs/mirror/cephfs-mirror/+ [deleted file]
qa/suites/fs/valgrind/% [new file with mode: 0644]
qa/suites/fs/valgrind/.qa [new symlink]
qa/suites/fs/valgrind/begin.yaml [new symlink]
qa/suites/fs/valgrind/centos_latest.yaml [new symlink]
qa/suites/fs/valgrind/mirror/% [new file with mode: 0644]
qa/suites/fs/valgrind/mirror/.qa [new symlink]
qa/suites/fs/valgrind/mirror/cephfs-mirror/one-per-cluster.yaml [new file with mode: 0644]
qa/suites/fs/valgrind/mirror/clients/mirror.yaml [new file with mode: 0644]
qa/suites/fs/valgrind/mirror/cluster/1-node.yaml [new file with mode: 0644]
qa/suites/fs/valgrind/mirror/mount/fuse.yaml [new file with mode: 0644]
qa/suites/fs/valgrind/mirror/overrides/.qa [new symlink]
qa/suites/fs/valgrind/mirror/overrides/whitelist_health.yaml [new symlink]
qa/suites/fs/valgrind/mirror/tasks/mirror.yaml [new file with mode: 0644]
qa/suites/fs/valgrind/notcmalloc.yaml [new file with mode: 0644]
qa/tasks/cephfs_mirror.py

diff --git a/qa/suites/fs/mirror/cephfs-mirror/+ b/qa/suites/fs/mirror/cephfs-mirror/+
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/qa/suites/fs/valgrind/% b/qa/suites/fs/valgrind/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/fs/valgrind/.qa b/qa/suites/fs/valgrind/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (symlink)
index 0000000..311d404
--- /dev/null
@@ -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 (symlink)
index 0000000..bd9854e
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/qa/suites/fs/valgrind/mirror/.qa b/qa/suites/fs/valgrind/mirror/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..4112a0a
--- /dev/null
@@ -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 (file)
index 0000000..eb1ee5c
--- /dev/null
@@ -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 (file)
index 0000000..cae4aca
--- /dev/null
@@ -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 (file)
index 0000000..1fdf55a
--- /dev/null
@@ -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 (symlink)
index 0000000..fea2489
--- /dev/null
@@ -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 (symlink)
index 0000000..74f39a4
--- /dev/null
@@ -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 (file)
index 0000000..af60495
--- /dev/null
@@ -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 (file)
index 0000000..dab8426
--- /dev/null
@@ -0,0 +1,8 @@
+meta:
+- desc: use notcmalloc version for valgrind
+
+overrides:
+  install:
+    ceph:
+      flavor: notcmalloc
+      debuginfo: true
index 037f13e1def0d47a335f5f15c941723fc76a536c..aa67fca135c8c390da91a3f7859e60c366445f59 100644 (file)
@@ -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,
             ])