From: Sage Weil Date: Wed, 29 Jan 2020 00:15:35 +0000 (-0600) Subject: qa/suites/rados: improve valgrind leak check X-Git-Tag: v15.1.1~531^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F32946%2Fhead;p=ceph.git qa/suites/rados: improve valgrind leak check Verify we can detect leak in the osd, mon, and mgr independently. Also include a negative test (no leaks). Signed-off-by: Sage Weil --- diff --git a/qa/suites/rados/singleton-flat/valgrind-leaks/+ b/qa/suites/rados/singleton-flat/valgrind-leaks/+ deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/qa/suites/rados/singleton-flat/valgrind-leaks/.qa b/qa/suites/rados/singleton-flat/valgrind-leaks/.qa deleted file mode 120000 index fea2489fdf6d..000000000000 --- a/qa/suites/rados/singleton-flat/valgrind-leaks/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa \ No newline at end of file diff --git a/qa/suites/rados/singleton-flat/valgrind-leaks/centos_latest.yaml b/qa/suites/rados/singleton-flat/valgrind-leaks/centos_latest.yaml deleted file mode 120000 index bd9854e70298..000000000000 --- a/qa/suites/rados/singleton-flat/valgrind-leaks/centos_latest.yaml +++ /dev/null @@ -1 +0,0 @@ -.qa/distros/supported/centos_latest.yaml \ No newline at end of file diff --git a/qa/suites/rados/singleton-flat/valgrind-leaks/valgrind-leaks.yaml b/qa/suites/rados/singleton-flat/valgrind-leaks/valgrind-leaks.yaml deleted file mode 100644 index 4c03a466bff2..000000000000 --- a/qa/suites/rados/singleton-flat/valgrind-leaks/valgrind-leaks.yaml +++ /dev/null @@ -1,33 +0,0 @@ -openstack: - - volumes: # attached to each instance - count: 2 - size: 10 # GB - -overrides: - install: - ceph: - flavor: notcmalloc - debuginfo: true - ceph: - log-whitelist: - - overall HEALTH_ - - \(PG_ - conf: - global: - osd heartbeat grace: 40 - debug deliberately leak memory: true - osd max object name len: 460 - osd max object namespace len: 64 - mon: - mon osd crush smoke test: false - osd: - osd fast shutdown: false - valgrind: - mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes] - osd: [--tool=memcheck] -roles: -- [mon.a, mgr.x, osd.0, osd.1, client.0] -tasks: -- install: -- ceph: - expect_valgrind_errors: true diff --git a/qa/suites/rados/valgrind-leaks/% b/qa/suites/rados/valgrind-leaks/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/rados/valgrind-leaks/.qa b/qa/suites/rados/valgrind-leaks/.qa new file mode 120000 index 000000000000..fea2489fdf6d --- /dev/null +++ b/qa/suites/rados/valgrind-leaks/.qa @@ -0,0 +1 @@ +../.qa \ No newline at end of file diff --git a/qa/suites/rados/valgrind-leaks/1-start.yaml b/qa/suites/rados/valgrind-leaks/1-start.yaml new file mode 100644 index 000000000000..4f4fc33cc7c4 --- /dev/null +++ b/qa/suites/rados/valgrind-leaks/1-start.yaml @@ -0,0 +1,31 @@ +openstack: + - volumes: # attached to each instance + count: 2 + size: 10 # GB + +overrides: + install: + ceph: + flavor: notcmalloc + debuginfo: true + ceph: + log-whitelist: + - overall HEALTH_ + - \(PG_ + conf: + global: + osd heartbeat grace: 40 + osd max object name len: 460 + osd max object namespace len: 64 + mon: + mon osd crush smoke test: false + osd: + osd fast shutdown: false + valgrind: + mon: [--tool=memcheck, --leak-check=full, --show-reachable=yes] + osd: [--tool=memcheck] +roles: +- [mon.a, mon.b, mon.c, mgr.x, mgr.y, osd.0, osd.1, osd.2, client.0] +tasks: +- install: +- ceph: diff --git a/qa/suites/rados/valgrind-leaks/2-inject-leak/mon.yaml b/qa/suites/rados/valgrind-leaks/2-inject-leak/mon.yaml new file mode 100644 index 000000000000..695a9f8af9b4 --- /dev/null +++ b/qa/suites/rados/valgrind-leaks/2-inject-leak/mon.yaml @@ -0,0 +1,7 @@ +overrides: + ceph: + expect_valgrind_errors: true +tasks: +- exec: + mon.a: + - ceph tell mon.a leak_some_memory diff --git a/qa/suites/rados/valgrind-leaks/2-inject-leak/none.yaml b/qa/suites/rados/valgrind-leaks/2-inject-leak/none.yaml new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/rados/valgrind-leaks/2-inject-leak/osd.yaml b/qa/suites/rados/valgrind-leaks/2-inject-leak/osd.yaml new file mode 100644 index 000000000000..f249f16e1ec5 --- /dev/null +++ b/qa/suites/rados/valgrind-leaks/2-inject-leak/osd.yaml @@ -0,0 +1,7 @@ +overrides: + ceph: + expect_valgrind_errors: true +tasks: +- exec: + mon.a: + - ceph tell osd.0 leak_some_memory diff --git a/qa/suites/rados/valgrind-leaks/centos_latest.yaml b/qa/suites/rados/valgrind-leaks/centos_latest.yaml new file mode 120000 index 000000000000..bd9854e70298 --- /dev/null +++ b/qa/suites/rados/valgrind-leaks/centos_latest.yaml @@ -0,0 +1 @@ +.qa/distros/supported/centos_latest.yaml \ No newline at end of file