From: Chunmei Liu Date: Thu, 27 Nov 2025 07:47:37 +0000 (+0000) Subject: qa/suites/crimson-rados: add fio test case for osd shard number changes upon restart X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fheads%2Fwip-liucm-qa-command-crimson-only;p=ceph-ci.git qa/suites/crimson-rados: add fio test case for osd shard number changes upon restart by shell command Signed-off-by: Chunmei Liu --- diff --git a/qa/suites/crimson-rados/osd_shards/% b/qa/suites/crimson-rados/osd_shards/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/crimson-rados/osd_shards/.qa b/qa/suites/crimson-rados/osd_shards/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/.qa @@ -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 index 00000000000..e1c3e1bb67f --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/0-crimson_install.yaml @@ -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 index 00000000000..163474b3890 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/clusters/crimson-fixed.yaml @@ -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 index 00000000000..a5b729b9efa --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/crimson-supported-all-distro @@ -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 index 00000000000..2bf67af1b18 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/crimson_qa_overrides.yaml @@ -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 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/deploy/.qa @@ -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 index 00000000000..1af2f4b1bd2 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/deploy/ceph.yaml @@ -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 index 00000000000..0c2062240ee --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/deploy/cephadm.yaml.disabled @@ -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 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/objectstore/.qa @@ -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 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/objectstore/seastore/.qa @@ -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 index 00000000000..e69de29bb2d 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 index 00000000000..aa88fe4b448 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/objectstore/seastore/seastore-segmented.yaml @@ -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 index 00000000000..abf1d98ef61 --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/tasks/crimson_fio_restart.yaml @@ -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