From d44d8b6b64a4a98e15453e0422d472775b97c2d2 Mon Sep 17 00:00:00 2001 From: Chunmei Liu Date: Thu, 27 Nov 2025 07:47:37 +0000 Subject: [PATCH] qa/suites/crimson-rados: add fio test case for osd shard number changes upon restart Signed-off-by: Chunmei Liu --- qa/suites/crimson-rados/osd_shards/.qa | 1 + .../osd_shards/0-crimson_install.yaml | 1 + .../osd_shards/clusters/crimson-fixed.yaml | 28 +++++++++ .../osd_shards/crimson-supported-all-distro | 1 + .../osd_shards/crimson_qa_overrides.yaml | 1 + qa/suites/crimson-rados/osd_shards/deploy/.qa | 1 + .../crimson-rados/osd_shards/deploy/ceph.yaml | 13 ++++ .../osd_shards/deploy/cephadm.yaml.disabled | 16 +++++ .../crimson-rados/osd_shards/objectstore | 1 + .../osd_shards/tasks/crimson_fio_restart.yaml | 63 +++++++++++++++++++ 10 files changed, 126 insertions(+) create mode 120000 qa/suites/crimson-rados/osd_shards/.qa create mode 120000 qa/suites/crimson-rados/osd_shards/0-crimson_install.yaml create mode 100644 qa/suites/crimson-rados/osd_shards/clusters/crimson-fixed.yaml create mode 120000 qa/suites/crimson-rados/osd_shards/crimson-supported-all-distro create mode 120000 qa/suites/crimson-rados/osd_shards/crimson_qa_overrides.yaml create mode 120000 qa/suites/crimson-rados/osd_shards/deploy/.qa create mode 100644 qa/suites/crimson-rados/osd_shards/deploy/ceph.yaml create mode 100644 qa/suites/crimson-rados/osd_shards/deploy/cephadm.yaml.disabled create mode 120000 qa/suites/crimson-rados/osd_shards/objectstore create mode 100644 qa/suites/crimson-rados/osd_shards/tasks/crimson_fio_restart.yaml 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..f72d5318d6a --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/clusters/crimson-fixed.yaml @@ -0,0 +1,28 @@ +overrides: + install: + extra_system_packages: + rpm: + - fio + deb: + - fio + ceph-deploy: + conf: + global: + osd pool default size: 2 + 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 b/qa/suites/crimson-rados/osd_shards/objectstore new file mode 120000 index 00000000000..921836a8a5e --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/objectstore @@ -0,0 +1 @@ +.qa/objectstore/crimson \ 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..843e481818d --- /dev/null +++ b/qa/suites/crimson-rados/osd_shards/tasks/crimson_fio_restart.yaml @@ -0,0 +1,63 @@ +tasks: +- exec: + mon.a: + - ceph -s +- exec: + mon.a: + - | + ceph osd pool create testpool 128 +- rbd.create_image: + client.0: + pool: testpool + image_name: testimage + image_size: 10240 # 10GB + image_format: 2 +- rbd_fio: + client.0: + pool: testpool + image: testimage + fio-io-size: 100% + formats: [2] + io-engine: rbd + rw: randwrite + bs: 4k + runtime: 120 + +- exec: + mon.a: + - ceph config set osd.* crimson_cpu_num 2 +- ceph.restart: + daemons: [osd.0, osd.1, osd.2] + +- exec: + mon.a: + - ceph -s +- rbd_fio: + client.0: + pool: testpool + image: testimage + fio-io-size: 100% + formats: [2] + io-engine: rbd + rw: randwrite + bs: 4k + runtime: 120 +- exec: + mon.a: + - ceph config set osd.* crimson_cpu_num 5 +- ceph.restart: + daemons: [osd.0, osd.1, osd.2] + +- exec: + mon.a: + - ceph -s +- rbd_fio: + client.0: + pool: testpool + image: testimage + fio-io-size: 100% + formats: [2] + io-engine: rbd + rw: randwrite + bs: 4k + runtime: 120 -- 2.47.3