From 7c8a7f52dabcb01413179f3316e9721bf6e8c5db Mon Sep 17 00:00:00 2001 From: Ilya Dryomov Date: Wed, 26 Apr 2017 21:42:58 +0200 Subject: [PATCH] qa: krbd write-after-checksum tests Signed-off-by: Ilya Dryomov --- qa/suites/krbd/wac/sysfs/% | 0 qa/suites/krbd/wac/sysfs/ceph/ceph.yaml | 3 +++ qa/suites/krbd/wac/sysfs/clusters/fixed-1.yaml | 1 + qa/suites/krbd/wac/sysfs/conf.yaml | 7 +++++++ .../wac/sysfs/tasks/stable_pages_required.yaml | 5 +++++ qa/suites/krbd/wac/wac/% | 0 qa/suites/krbd/wac/wac/ceph/ceph.yaml | 3 +++ qa/suites/krbd/wac/wac/clusters/fixed-3.yaml | 1 + qa/suites/krbd/wac/wac/conf.yaml | 7 +++++++ qa/suites/krbd/wac/wac/tasks/wac.yaml | 11 +++++++++++ qa/suites/krbd/wac/wac/verify/many-resets.yaml | 10 ++++++++++ qa/suites/krbd/wac/wac/verify/no-resets.yaml | 5 +++++ qa/workunits/rbd/krbd_stable_pages_required.sh | 17 +++++++++++++++++ qa/workunits/suites/wac.sh | 12 ++++++++++++ 14 files changed, 82 insertions(+) create mode 100644 qa/suites/krbd/wac/sysfs/% create mode 100644 qa/suites/krbd/wac/sysfs/ceph/ceph.yaml create mode 120000 qa/suites/krbd/wac/sysfs/clusters/fixed-1.yaml create mode 100644 qa/suites/krbd/wac/sysfs/conf.yaml create mode 100644 qa/suites/krbd/wac/sysfs/tasks/stable_pages_required.yaml create mode 100644 qa/suites/krbd/wac/wac/% create mode 100644 qa/suites/krbd/wac/wac/ceph/ceph.yaml create mode 120000 qa/suites/krbd/wac/wac/clusters/fixed-3.yaml create mode 100644 qa/suites/krbd/wac/wac/conf.yaml create mode 100644 qa/suites/krbd/wac/wac/tasks/wac.yaml create mode 100644 qa/suites/krbd/wac/wac/verify/many-resets.yaml create mode 100644 qa/suites/krbd/wac/wac/verify/no-resets.yaml create mode 100755 qa/workunits/rbd/krbd_stable_pages_required.sh create mode 100755 qa/workunits/suites/wac.sh diff --git a/qa/suites/krbd/wac/sysfs/% b/qa/suites/krbd/wac/sysfs/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/krbd/wac/sysfs/ceph/ceph.yaml b/qa/suites/krbd/wac/sysfs/ceph/ceph.yaml new file mode 100644 index 000000000000..2030acb90836 --- /dev/null +++ b/qa/suites/krbd/wac/sysfs/ceph/ceph.yaml @@ -0,0 +1,3 @@ +tasks: +- install: +- ceph: diff --git a/qa/suites/krbd/wac/sysfs/clusters/fixed-1.yaml b/qa/suites/krbd/wac/sysfs/clusters/fixed-1.yaml new file mode 120000 index 000000000000..549e8809abe4 --- /dev/null +++ b/qa/suites/krbd/wac/sysfs/clusters/fixed-1.yaml @@ -0,0 +1 @@ +../../../../../clusters/fixed-1.yaml \ No newline at end of file diff --git a/qa/suites/krbd/wac/sysfs/conf.yaml b/qa/suites/krbd/wac/sysfs/conf.yaml new file mode 100644 index 000000000000..8279674dfa7c --- /dev/null +++ b/qa/suites/krbd/wac/sysfs/conf.yaml @@ -0,0 +1,7 @@ +overrides: + ceph: + conf: + global: + ms die on skipped message: false + client: + rbd default features: 5 diff --git a/qa/suites/krbd/wac/sysfs/tasks/stable_pages_required.yaml b/qa/suites/krbd/wac/sysfs/tasks/stable_pages_required.yaml new file mode 100644 index 000000000000..3d23227a022c --- /dev/null +++ b/qa/suites/krbd/wac/sysfs/tasks/stable_pages_required.yaml @@ -0,0 +1,5 @@ +tasks: +- workunit: + clients: + all: + - rbd/krbd_stable_pages_required.sh diff --git a/qa/suites/krbd/wac/wac/% b/qa/suites/krbd/wac/wac/% new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/qa/suites/krbd/wac/wac/ceph/ceph.yaml b/qa/suites/krbd/wac/wac/ceph/ceph.yaml new file mode 100644 index 000000000000..2030acb90836 --- /dev/null +++ b/qa/suites/krbd/wac/wac/ceph/ceph.yaml @@ -0,0 +1,3 @@ +tasks: +- install: +- ceph: diff --git a/qa/suites/krbd/wac/wac/clusters/fixed-3.yaml b/qa/suites/krbd/wac/wac/clusters/fixed-3.yaml new file mode 120000 index 000000000000..af987dab6a3c --- /dev/null +++ b/qa/suites/krbd/wac/wac/clusters/fixed-3.yaml @@ -0,0 +1 @@ +../../../../../clusters/fixed-3.yaml \ No newline at end of file diff --git a/qa/suites/krbd/wac/wac/conf.yaml b/qa/suites/krbd/wac/wac/conf.yaml new file mode 100644 index 000000000000..8279674dfa7c --- /dev/null +++ b/qa/suites/krbd/wac/wac/conf.yaml @@ -0,0 +1,7 @@ +overrides: + ceph: + conf: + global: + ms die on skipped message: false + client: + rbd default features: 5 diff --git a/qa/suites/krbd/wac/wac/tasks/wac.yaml b/qa/suites/krbd/wac/wac/tasks/wac.yaml new file mode 100644 index 000000000000..52dabc38bfce --- /dev/null +++ b/qa/suites/krbd/wac/wac/tasks/wac.yaml @@ -0,0 +1,11 @@ +tasks: +- exec: + client.0: + - "dmesg -C" +- rbd: + all: + fs_type: ext4 +- workunit: + clients: + all: + - suites/wac.sh diff --git a/qa/suites/krbd/wac/wac/verify/many-resets.yaml b/qa/suites/krbd/wac/wac/verify/many-resets.yaml new file mode 100644 index 000000000000..526897e9cda8 --- /dev/null +++ b/qa/suites/krbd/wac/wac/verify/many-resets.yaml @@ -0,0 +1,10 @@ +overrides: + ceph: + conf: + global: + ms inject socket failures: 500 +tasks: +- exec: + client.0: + - "dmesg | grep -q 'libceph: osd.* socket closed'" + - "dmesg | grep -q 'libceph: osd.* socket error on write'" diff --git a/qa/suites/krbd/wac/wac/verify/no-resets.yaml b/qa/suites/krbd/wac/wac/verify/no-resets.yaml new file mode 100644 index 000000000000..2728479da771 --- /dev/null +++ b/qa/suites/krbd/wac/wac/verify/no-resets.yaml @@ -0,0 +1,5 @@ +tasks: +- exec: + client.0: + - "! dmesg | grep -q 'libceph: osd.* socket closed'" + - "! dmesg | grep -q 'libceph: osd.* socket error on write'" diff --git a/qa/workunits/rbd/krbd_stable_pages_required.sh b/qa/workunits/rbd/krbd_stable_pages_required.sh new file mode 100755 index 000000000000..a7c44c8f42f4 --- /dev/null +++ b/qa/workunits/rbd/krbd_stable_pages_required.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -ex + +IMAGE_NAME="stable-pages-required-test" + +rbd create --size 1 $IMAGE_NAME +DEV=$(sudo rbd map $IMAGE_NAME) +[[ $(blockdev --getsize64 $DEV) -eq 1048576 ]] +grep -q 1 /sys/block/${DEV#/dev/}/bdi/stable_pages_required + +rbd resize --size 2 $IMAGE_NAME +[[ $(blockdev --getsize64 $DEV) -eq 2097152 ]] +grep -q 1 /sys/block/${DEV#/dev/}/bdi/stable_pages_required +sudo rbd unmap $DEV + +echo OK diff --git a/qa/workunits/suites/wac.sh b/qa/workunits/suites/wac.sh new file mode 100755 index 000000000000..49b4f1464e1c --- /dev/null +++ b/qa/workunits/suites/wac.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -ex + +wget http://download.ceph.com/qa/wac.c +gcc -o wac wac.c +set +e +timeout 5m ./wac -l 65536 -n 64 -r wac-test +RET=$? +set -e +[[ $RET -eq 124 ]] +echo OK -- 2.47.3