]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
qa/suites/crimson-rados: add fio test case for osd shard number changes upon restart wip-liucm-qa-command-crimson-only
authorChunmei Liu <chunmei.liu@ibm.com>
Thu, 27 Nov 2025 07:47:37 +0000 (07:47 +0000)
committerChunmei Liu <chunmei.liu@ibm.com>
Mon, 15 Dec 2025 09:11:16 +0000 (09:11 +0000)
by shell command

Signed-off-by: Chunmei Liu <chunmei.liu@ibm.com>
14 files changed:
qa/suites/crimson-rados/osd_shards/% [new file with mode: 0644]
qa/suites/crimson-rados/osd_shards/.qa [new symlink]
qa/suites/crimson-rados/osd_shards/0-crimson_install.yaml [new symlink]
qa/suites/crimson-rados/osd_shards/clusters/crimson-fixed.yaml [new file with mode: 0644]
qa/suites/crimson-rados/osd_shards/crimson-supported-all-distro [new symlink]
qa/suites/crimson-rados/osd_shards/crimson_qa_overrides.yaml [new symlink]
qa/suites/crimson-rados/osd_shards/deploy/.qa [new symlink]
qa/suites/crimson-rados/osd_shards/deploy/ceph.yaml [new file with mode: 0644]
qa/suites/crimson-rados/osd_shards/deploy/cephadm.yaml.disabled [new file with mode: 0644]
qa/suites/crimson-rados/osd_shards/objectstore/.qa [new symlink]
qa/suites/crimson-rados/osd_shards/objectstore/seastore/.qa [new symlink]
qa/suites/crimson-rados/osd_shards/objectstore/seastore/seastore-rbm.yaml.disabled [new file with mode: 0644]
qa/suites/crimson-rados/osd_shards/objectstore/seastore/seastore-segmented.yaml [new symlink]
qa/suites/crimson-rados/osd_shards/tasks/crimson_fio_restart.yaml [new file with mode: 0644]

diff --git a/qa/suites/crimson-rados/osd_shards/% b/qa/suites/crimson-rados/osd_shards/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/crimson-rados/osd_shards/.qa b/qa/suites/crimson-rados/osd_shards/.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/crimson-rados/osd_shards/0-crimson_install.yaml b/qa/suites/crimson-rados/osd_shards/0-crimson_install.yaml
new file mode 120000 (symlink)
index 0000000..e1c3e1b
--- /dev/null
@@ -0,0 +1 @@
+.qa/config/crimson_install.yaml
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/osd_shards/clusters/crimson-fixed.yaml b/qa/suites/crimson-rados/osd_shards/clusters/crimson-fixed.yaml
new file mode 100644 (file)
index 0000000..163474b
--- /dev/null
@@ -0,0 +1,27 @@
+overrides:
+  install:
+    extra_system_packages:
+      rpm:
+        - fio
+      deb:
+        - fio
+  ceph-deploy:
+    conf:
+      global:
+        osd crush chooseleaf type: 0
+        osd pool default pg num:  128
+        osd pool default pgp num:  128
+  ceph:
+    conf:
+      osd:
+        osd shutdown pgref assert: true
+        crimson cpu num: 3 
+      global:
+        ms cluster mode: crc
+        ms service mode: crc
+        ms client mode: crc
+        ms mon service mode: crc
+        ms mon cluster mode: crc
+        ms mon client mode: crc
+roles:
+- [mon.a, mgr.x, osd.0, osd.1, osd.2, client.0]
diff --git a/qa/suites/crimson-rados/osd_shards/crimson-supported-all-distro b/qa/suites/crimson-rados/osd_shards/crimson-supported-all-distro
new file mode 120000 (symlink)
index 0000000..a5b729b
--- /dev/null
@@ -0,0 +1 @@
+.qa/distros/crimson-supported-all-distro/
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/osd_shards/crimson_qa_overrides.yaml b/qa/suites/crimson-rados/osd_shards/crimson_qa_overrides.yaml
new file mode 120000 (symlink)
index 0000000..2bf67af
--- /dev/null
@@ -0,0 +1 @@
+.qa/config/crimson_qa_overrides.yaml
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/osd_shards/deploy/.qa b/qa/suites/crimson-rados/osd_shards/deploy/.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/crimson-rados/osd_shards/deploy/ceph.yaml b/qa/suites/crimson-rados/osd_shards/deploy/ceph.yaml
new file mode 100644 (file)
index 0000000..1af2f4b
--- /dev/null
@@ -0,0 +1,13 @@
+tasks:
+- install:
+- ceph:
+    conf:
+      osd:
+        debug monc: 20
+      mon:
+        mon min osdmap epochs: 50
+        paxos service trim min: 10
+        # prune full osdmaps regularly
+        mon osdmap full prune min: 15
+        mon osdmap full prune interval: 2
+        mon osdmap full prune txsize: 2
diff --git a/qa/suites/crimson-rados/osd_shards/deploy/cephadm.yaml.disabled b/qa/suites/crimson-rados/osd_shards/deploy/cephadm.yaml.disabled
new file mode 100644 (file)
index 0000000..0c20622
--- /dev/null
@@ -0,0 +1,16 @@
+# no need to verify os + flavor + sha1
+verify_ceph_hash: false
+tasks:
+- cephadm:
+    conf:
+      mgr:
+        debug ms: 1
+        debug mgr: 20
+        debug osd: 10
+- cephadm.shell:
+    mon.a:
+      - ceph orch status
+      - ceph orch ps
+      - ceph orch ls
+      - ceph orch host ls
+      - ceph orch device ls
diff --git a/qa/suites/crimson-rados/osd_shards/objectstore/.qa b/qa/suites/crimson-rados/osd_shards/objectstore/.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/crimson-rados/osd_shards/objectstore/seastore/.qa b/qa/suites/crimson-rados/osd_shards/objectstore/seastore/.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/crimson-rados/osd_shards/objectstore/seastore/seastore-rbm.yaml.disabled b/qa/suites/crimson-rados/osd_shards/objectstore/seastore/seastore-rbm.yaml.disabled
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/crimson-rados/osd_shards/objectstore/seastore/seastore-segmented.yaml b/qa/suites/crimson-rados/osd_shards/objectstore/seastore/seastore-segmented.yaml
new file mode 120000 (symlink)
index 0000000..aa88fe4
--- /dev/null
@@ -0,0 +1 @@
+.qa/objectstore/crimson/seastore/segmented$/crimson_seastore_segmented.yaml
\ No newline at end of file
diff --git a/qa/suites/crimson-rados/osd_shards/tasks/crimson_fio_restart.yaml b/qa/suites/crimson-rados/osd_shards/tasks/crimson_fio_restart.yaml
new file mode 100644 (file)
index 0000000..abf1d98
--- /dev/null
@@ -0,0 +1,92 @@
+tasks:
+- exec:
+    mon.a:
+      - ceph -s
+
+- workunit:
+    clients:
+      client.0:
+        - |
+          set -ex
+          ceph osd pool create testpool 64 64
+          ceph osd pool application enable testpool rbd
+          rbd create testpool/testimage --size 10G --image-format=2
+- workunit:
+    clients:
+      client.0:
+        - |
+          set -ex
+          fio --name=rbdtest \
+              --ioengine=rbd \
+              --pool=testpool \
+              --rbdname=testimage \
+              --clientname=admin \
+              --rw=randwrite \
+              --bs=4k \
+              --iodepth=32 \
+              --numjobs=4 \
+              --runtime=120 \
+              --time_based  \
+              --group_reporting
+
+- exec:
+    mon.a:
+      - ceph config set osd.* crimson_cpu_num 2
+- ceph.restart:
+    daemons: [osd.0, osd.1, osd.2]
+
+- ceph.wait_for_health:
+    timeout: 300
+    health: ["HEALTH_OK", "HEALTH_WARN"]
+- workunit:
+    clients:
+      client.0:
+        - |
+          set -ex
+          rbd info testpool/testimage
+          fio --name=rbdtest \
+              --ioengine=rbd \
+              --pool=testpool \
+              --rbdname=testimage \
+              --clientname=admin \
+              --rw=randwrite \
+              --bs=4k \
+              --iodepth=32 \
+              --numjobs=4 \
+              --runtime=120 \
+              --time_based  \
+              --group_reporting
+- exec:
+    mon.a:
+      - ceph config set osd.* crimson_cpu_num 5
+- ceph.restart:
+    daemons: [osd.0, osd.1, osd.2]
+
+- ceph.wait_for_health:
+    timeout: 300
+    health: ["HEALTH_OK", "HEALTH_WARN"]
+- workunit:
+    clients:
+      client.0:
+        - |
+          set -ex
+          rbd info testpool/testimage
+          fio --name=rbdtest \
+              --ioengine=rbd \
+              --pool=testpool \
+              --rbdname=testimage \
+              --clientname=admin \
+              --rw=randwrite \
+              --bs=4k \
+              --iodepth=32 \
+              --numjobs=4 \
+              --runtime=120 \
+              --time_based  \
+              --group_reporting
+
+- workunit:
+    clients:
+      client.0:
+        - |
+          set -ex
+          rbd rm testpool/testimage