From: Ilya Dryomov Date: Sun, 24 Apr 2022 15:30:49 +0000 (+0200) Subject: qa/suites/rbd: place cache file on tmpfs for xfstests X-Git-Tag: v16.2.11~103^2~55^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F46597%2Fhead;p=ceph.git qa/suites/rbd: place cache file on tmpfs for xfstests The RWL mode needs DAX and is dog slow otherwise -- qemu_xfstests.yaml job always hits the 6 hour max_job_time limit. As our tmpfs instance is limited and qemu_xfstests.yaml opens three images at the same time, reduce the "big cache" size to 5G. This facet was added to iron out 32-bit head/tail pointer issues and 5G still does the job there. Going through the loop device is needed because tmpfs doesn't support O_DIRECT. Fixes: https://tracker.ceph.com/issues/55400 Signed-off-by: Ilya Dryomov (cherry picked from commit 23759e003435499105d1076875fdef2ca7e55a80) --- diff --git a/qa/suites/rbd/pwl-cache/home/7-workloads/qemu_xfstests.yaml b/qa/suites/rbd/pwl-cache/home/7-workloads/qemu_xfstests.yaml deleted file mode 100644 index 255b9631e39f8..0000000000000 --- a/qa/suites/rbd/pwl-cache/home/7-workloads/qemu_xfstests.yaml +++ /dev/null @@ -1,8 +0,0 @@ -tasks: -- qemu: - client.0: - test: qa/run_xfstests_qemu.sh - type: block - cpus: 4 - memory: 4096 - disks: 3 diff --git a/qa/suites/rbd/pwl-cache/tmpfs/% b/qa/suites/rbd/pwl-cache/tmpfs/% new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/qa/suites/rbd/pwl-cache/tmpfs/.qa b/qa/suites/rbd/pwl-cache/tmpfs/.qa new file mode 120000 index 0000000000000..a602a0353e751 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/1-base b/qa/suites/rbd/pwl-cache/tmpfs/1-base new file mode 120000 index 0000000000000..89c3c7e845f7f --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/1-base @@ -0,0 +1 @@ +../../basic/base/ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/+ b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/+ new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/.qa b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/.qa new file mode 120000 index 0000000000000..a602a0353e751 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/fix-2.yaml b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/fix-2.yaml new file mode 100644 index 0000000000000..dbccecbceaafd --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/fix-2.yaml @@ -0,0 +1,3 @@ +roles: +- [mon.a, mgr.x, osd.0, osd.1] +- [mon.b, mgr.y, osd.2, osd.3, client.0] diff --git a/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/openstack.yaml b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/openstack.yaml new file mode 100644 index 0000000000000..b113e4f2ef7f6 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/2-cluster/openstack.yaml @@ -0,0 +1,4 @@ +openstack: + - volumes: # attached to each instance + count: 4 + size: 10 # GB diff --git a/qa/suites/rbd/pwl-cache/tmpfs/3-supported-random-distro$ b/qa/suites/rbd/pwl-cache/tmpfs/3-supported-random-distro$ new file mode 120000 index 0000000000000..0862b4457b37a --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/3-supported-random-distro$ @@ -0,0 +1 @@ +.qa/distros/supported-random-distro$ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/4-cache-path.yaml b/qa/suites/rbd/pwl-cache/tmpfs/4-cache-path.yaml new file mode 100644 index 0000000000000..b5578a0ae59cd --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/4-cache-path.yaml @@ -0,0 +1,22 @@ +overrides: + ceph: + conf: + client: + rbd_persistent_cache_path: /home/ubuntu/cephtest/rbd-pwl-cache + rbd_plugins: pwl_cache +tasks: +- exec: + client.0: + - "mkdir /home/ubuntu/cephtest/tmpfs" + - "mkdir /home/ubuntu/cephtest/rbd-pwl-cache" + - "sudo mount -t tmpfs -o size=20G tmpfs /home/ubuntu/cephtest/tmpfs" + - "truncate -s 20G /home/ubuntu/cephtest/tmpfs/loopfile" + - "mkfs.ext4 /home/ubuntu/cephtest/tmpfs/loopfile" + - "sudo mount -o loop /home/ubuntu/cephtest/tmpfs/loopfile /home/ubuntu/cephtest/rbd-pwl-cache" + - "sudo chmod 777 /home/ubuntu/cephtest/rbd-pwl-cache" +- exec_on_cleanup: + client.0: + - "sudo umount /home/ubuntu/cephtest/rbd-pwl-cache" + - "sudo umount /home/ubuntu/cephtest/tmpfs" + - "rm -rf /home/ubuntu/cephtest/rbd-pwl-cache" + - "rm -rf /home/ubuntu/cephtest/tmpfs" diff --git a/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/.qa b/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/.qa new file mode 120000 index 0000000000000..a602a0353e751 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/rwl.yaml b/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/rwl.yaml new file mode 100644 index 0000000000000..5aeab26b34947 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/rwl.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + client: + rbd_persistent_cache_mode: rwl diff --git a/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/ssd.yaml b/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/ssd.yaml new file mode 100644 index 0000000000000..0821491471da9 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/ssd.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + client: + rbd_persistent_cache_mode: ssd diff --git a/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/.qa b/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/.qa new file mode 120000 index 0000000000000..a602a0353e751 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/1G.yaml b/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/1G.yaml new file mode 100644 index 0000000000000..53fcddcdfa8d7 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/1G.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + client: + rbd_persistent_cache_size: 1073741824 diff --git a/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/5G.yaml b/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/5G.yaml new file mode 100644 index 0000000000000..1c43b5de896d8 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/5G.yaml @@ -0,0 +1,5 @@ +overrides: + ceph: + conf: + client: + rbd_persistent_cache_size: 5368709120 diff --git a/qa/suites/rbd/pwl-cache/tmpfs/7-workloads/.qa b/qa/suites/rbd/pwl-cache/tmpfs/7-workloads/.qa new file mode 120000 index 0000000000000..a602a0353e751 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/7-workloads/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/rbd/pwl-cache/tmpfs/7-workloads/qemu_xfstests.yaml b/qa/suites/rbd/pwl-cache/tmpfs/7-workloads/qemu_xfstests.yaml new file mode 100644 index 0000000000000..255b9631e39f8 --- /dev/null +++ b/qa/suites/rbd/pwl-cache/tmpfs/7-workloads/qemu_xfstests.yaml @@ -0,0 +1,8 @@ +tasks: +- qemu: + client.0: + test: qa/run_xfstests_qemu.sh + type: block + cpus: 4 + memory: 4096 + disks: 3