]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/rbd: place cache file on tmpfs for xfstests 46598/head
authorIlya Dryomov <idryomov@gmail.com>
Sun, 24 Apr 2022 15:30:49 +0000 (17:30 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 9 Jun 2022 11:08:22 +0000 (13:08 +0200)
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 <idryomov@gmail.com>
(cherry picked from commit 23759e003435499105d1076875fdef2ca7e55a80)

18 files changed:
qa/suites/rbd/pwl-cache/home/7-workloads/qemu_xfstests.yaml [deleted file]
qa/suites/rbd/pwl-cache/tmpfs/% [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/.qa [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/1-base [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/2-cluster/+ [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/2-cluster/.qa [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/2-cluster/fix-2.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/2-cluster/openstack.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/3-supported-random-distro$ [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/4-cache-path.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/.qa [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/rwl.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/5-cache-mode/ssd.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/.qa [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/1G.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/6-cache-size/5G.yaml [new file with mode: 0644]
qa/suites/rbd/pwl-cache/tmpfs/7-workloads/.qa [new symlink]
qa/suites/rbd/pwl-cache/tmpfs/7-workloads/qemu_xfstests.yaml [new file with mode: 0644]

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 (file)
index 255b963..0000000
+++ /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 (file)
index 0000000..e69de29
diff --git a/qa/suites/rbd/pwl-cache/tmpfs/.qa b/qa/suites/rbd/pwl-cache/tmpfs/.qa
new file mode 120000 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (symlink)
index 0000000..89c3c7e
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..dbccecb
--- /dev/null
@@ -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 (file)
index 0000000..b113e4f
--- /dev/null
@@ -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 (symlink)
index 0000000..0862b44
--- /dev/null
@@ -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 (file)
index 0000000..b5578a0
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..5aeab26
--- /dev/null
@@ -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 (file)
index 0000000..0821491
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..53fcddc
--- /dev/null
@@ -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 (file)
index 0000000..1c43b5d
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..255b963
--- /dev/null
@@ -0,0 +1,8 @@
+tasks:
+- qemu:
+    client.0:
+      test: qa/run_xfstests_qemu.sh
+      type: block
+      cpus: 4
+      memory: 4096
+      disks: 3