]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa: krbd write-after-checksum tests 14836/head
authorIlya Dryomov <idryomov@gmail.com>
Wed, 26 Apr 2017 19:42:58 +0000 (21:42 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 27 Apr 2017 14:28:08 +0000 (16:28 +0200)
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
14 files changed:
qa/suites/krbd/wac/sysfs/% [new file with mode: 0644]
qa/suites/krbd/wac/sysfs/ceph/ceph.yaml [new file with mode: 0644]
qa/suites/krbd/wac/sysfs/clusters/fixed-1.yaml [new symlink]
qa/suites/krbd/wac/sysfs/conf.yaml [new file with mode: 0644]
qa/suites/krbd/wac/sysfs/tasks/stable_pages_required.yaml [new file with mode: 0644]
qa/suites/krbd/wac/wac/% [new file with mode: 0644]
qa/suites/krbd/wac/wac/ceph/ceph.yaml [new file with mode: 0644]
qa/suites/krbd/wac/wac/clusters/fixed-3.yaml [new symlink]
qa/suites/krbd/wac/wac/conf.yaml [new file with mode: 0644]
qa/suites/krbd/wac/wac/tasks/wac.yaml [new file with mode: 0644]
qa/suites/krbd/wac/wac/verify/many-resets.yaml [new file with mode: 0644]
qa/suites/krbd/wac/wac/verify/no-resets.yaml [new file with mode: 0644]
qa/workunits/rbd/krbd_stable_pages_required.sh [new file with mode: 0755]
qa/workunits/suites/wac.sh [new file with mode: 0755]

diff --git a/qa/suites/krbd/wac/sysfs/% b/qa/suites/krbd/wac/sysfs/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/krbd/wac/sysfs/ceph/ceph.yaml b/qa/suites/krbd/wac/sysfs/ceph/ceph.yaml
new file mode 100644 (file)
index 0000000..2030acb
--- /dev/null
@@ -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 (symlink)
index 0000000..549e880
--- /dev/null
@@ -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 (file)
index 0000000..8279674
--- /dev/null
@@ -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 (file)
index 0000000..3d23227
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/qa/suites/krbd/wac/wac/ceph/ceph.yaml b/qa/suites/krbd/wac/wac/ceph/ceph.yaml
new file mode 100644 (file)
index 0000000..2030acb
--- /dev/null
@@ -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 (symlink)
index 0000000..af987da
--- /dev/null
@@ -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 (file)
index 0000000..8279674
--- /dev/null
@@ -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 (file)
index 0000000..52dabc3
--- /dev/null
@@ -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 (file)
index 0000000..526897e
--- /dev/null
@@ -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 (file)
index 0000000..2728479
--- /dev/null
@@ -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 (executable)
index 0000000..a7c44c8
--- /dev/null
@@ -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 (executable)
index 0000000..49b4f14
--- /dev/null
@@ -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