diff --git a/qa/suites/krbd/wac/sysfs/% b/qa/suites/krbd/wac/sysfs/% new file mode 100644 index 00000000000000..e69de29bb2d1d6 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 00000000000000..2030acb90836cc --- /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 00000000000000..549e8809abe4f9 --- /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 00000000000000..8279674dfa7c33 --- /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 00000000000000..3d23227a022c90 --- /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 00000000000000..e69de29bb2d1d6 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 00000000000000..2030acb90836cc --- /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 100644 index 00000000000000..3ed30b94ff082b --- /dev/null +++ b/qa/suites/krbd/wac/wac/clusters/fixed-3.yaml @@ -0,0 +1,8 @@ +roles: +- [mon.a, mon.c, mgr.x, osd.0, osd.1, osd.2] +- [mon.b, mgr.y, osd.3, osd.4, osd.5] +- [client.0] +openstack: +- volumes: # attached to each instance + count: 3 + size: 10 # GB diff --git a/qa/suites/krbd/wac/wac/conf.yaml b/qa/suites/krbd/wac/wac/conf.yaml new file mode 100644 index 00000000000000..8279674dfa7c33 --- /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 00000000000000..52dabc38bfce87 --- /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 00000000000000..526897e9cda8cc --- /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 00000000000000..2728479da771cb --- /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 00000000000000..a7c44c8f42f487 --- /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 00000000000000..49b4f1464e1c20 --- /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