]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/tests: added initial squid-x suite wip-yuriw-squid-x-main 61852/head
authorYuri Weinstein <yweinste@redhat.com>
Mon, 17 Feb 2025 16:17:47 +0000 (08:17 -0800)
committerYuri Weinstein <yweinste@redhat.com>
Mon, 17 Feb 2025 16:34:47 +0000 (08:34 -0800)
Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
42 files changed:
qa/suites/upgrade/squid-x/.qa [new symlink]
qa/suites/upgrade/squid-x/parallel/% [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/.qa [new symlink]
qa/suites/upgrade/squid-x/parallel/0-random-distro$ [new symlink]
qa/suites/upgrade/squid-x/parallel/0-start.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/1-tasks.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/mon_election [new symlink]
qa/suites/upgrade/squid-x/parallel/overrides/ignorelist_health.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/upgrade-sequence.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/+ [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/.qa [new symlink]
qa/suites/upgrade/squid-x/parallel/workload/ec-rados-default.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/rados_api.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/rados_loadgenbig.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/rbd_import_export.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/test_rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/parallel/workload/test_rbd_python.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/% [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/.qa [new symlink]
qa/suites/upgrade/squid-x/stress-split/0-distro [new symlink]
qa/suites/upgrade/squid-x/stress-split/0-roles.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/1-start.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/.qa [new symlink]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/+ [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/.qa [new symlink]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/.qa [new symlink]
qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/squid-x/stress-split/mon_election [new symlink]
qa/suites/upgrade/squid-x/stress-split/overrides/ignorelist_health.yaml [new file with mode: 0644]

diff --git a/qa/suites/upgrade/squid-x/.qa b/qa/suites/upgrade/squid-x/.qa
new file mode 120000 (symlink)
index 0000000..fea2489
--- /dev/null
@@ -0,0 +1 @@
+../.qa
\ No newline at end of file
diff --git a/qa/suites/upgrade/squid-x/parallel/% b/qa/suites/upgrade/squid-x/parallel/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/squid-x/parallel/.qa b/qa/suites/upgrade/squid-x/parallel/.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/upgrade/squid-x/parallel/0-random-distro$ b/qa/suites/upgrade/squid-x/parallel/0-random-distro$
new file mode 120000 (symlink)
index 0000000..6618785
--- /dev/null
@@ -0,0 +1 @@
+.qa/distros/supported-container-hosts
\ No newline at end of file
diff --git a/qa/suites/upgrade/squid-x/parallel/0-start.yaml b/qa/suites/upgrade/squid-x/parallel/0-start.yaml
new file mode 100644 (file)
index 0000000..62fb642
--- /dev/null
@@ -0,0 +1,53 @@
+roles:
+- - mon.a
+  - mon.c
+  - mgr.y
+  - mds.a
+  - osd.0
+  - osd.1
+  - osd.2
+  - osd.3
+  - client.0
+  - node-exporter.a
+  - alertmanager.a
+- - mon.b
+  - mds.b
+  - mgr.x
+  - osd.4
+  - osd.5
+  - osd.6
+  - osd.7
+  - client.1
+  - prometheus.a
+  - grafana.a
+  - node-exporter.b
+openstack:
+- volumes: # attached to each instance
+    count: 4
+    size: 10 # GB
+overrides:
+  ceph:
+    create_rbd_pool: true
+    conf:
+      osd:
+        osd shutdown pgref assert: true
+    log-ignorelist:
+      - do not have an application enabled
+      - application not enabled
+      - or freeform for custom applications
+      - POOL_APP_NOT_ENABLED
+      - is down
+      - OSD_DOWN
+      - mons down
+      - mon down
+      - MON_DOWN
+      - out of quorum
+      - PG_AVAILABILITY
+      - PG_DEGRADED
+      - Reduced data availability
+      - Degraded data redundancy
+      - pg .* is stuck inactive
+      - pg .* is .*degraded
+      - FS_DEGRADED
+      - OSDMAP_FLAGS
+      - OSD_UPGRADE_FINISHED
diff --git a/qa/suites/upgrade/squid-x/parallel/1-tasks.yaml b/qa/suites/upgrade/squid-x/parallel/1-tasks.yaml
new file mode 100644 (file)
index 0000000..55b307c
--- /dev/null
@@ -0,0 +1,47 @@
+overrides:
+  ceph:
+    log-ignorelist:
+      - Telemetry requires re-opt-in
+      - telemetry module includes new collections
+tasks:
+- install:
+    branch: squid
+    exclude_packages:
+      - ceph-volume
+- print: "**** done install task..."
+- print: "**** done start installing squid cephadm ..."
+- cephadm:
+    image: quay.ceph.io/ceph-ci/ceph:squid
+    compiled_cephadm_branch: reef
+    conf:
+      osd:
+        #set config option for which cls modules are allowed to be loaded / used
+        osd_class_load_list: "*"
+        osd_class_default_list: "*"
+- print: "**** done end installing squid cephadm ..."
+
+- print: "**** done start cephadm.shell ceph config set mgr..."
+- cephadm.shell:
+    mon.a:
+      - ceph config set mgr mgr/cephadm/use_repo_digest true --force
+- print: "**** done cephadm.shell ceph config set mgr..."
+
+- print: "**** done start telemetry squid..."
+- workunit:
+    clients:
+      client.0:
+        - test_telemetry_squid.sh
+- print: "**** done end telemetry squid..."
+
+- print: "**** done start parallel"
+- parallel:
+    - workload
+    - upgrade-sequence
+- print: "**** done end parallel"
+
+- print: "**** done start telemetry x..."
+- workunit:
+    clients:
+      client.0:
+        - test_telemetry_squid_x.sh
+- print: "**** done end telemetry x..."
diff --git a/qa/suites/upgrade/squid-x/parallel/mon_election b/qa/suites/upgrade/squid-x/parallel/mon_election
new file mode 120000 (symlink)
index 0000000..3f331e6
--- /dev/null
@@ -0,0 +1 @@
+.qa/mon_election
\ No newline at end of file
diff --git a/qa/suites/upgrade/squid-x/parallel/overrides/ignorelist_health.yaml b/qa/suites/upgrade/squid-x/parallel/overrides/ignorelist_health.yaml
new file mode 100644 (file)
index 0000000..fa93b2f
--- /dev/null
@@ -0,0 +1,19 @@
+overrides:
+  ceph:
+    log-ignorelist:
+      - MDS_ALL_DOWN
+      - MDS_UP_LESS_THAN_MAX
+      - OSD_SLOW_PING_TIME
+      - reached quota
+      - running out of quota
+      - overall HEALTH_
+      - CACHE_POOL_NO_HIT_SET
+      - pool\(s\) full
+      - POOL_FULL
+      - SMALLER_PGP_NUM
+      - SLOW_OPS
+      - CACHE_POOL_NEAR_FULL
+      - OBJECT_MISPLACED
+      - slow request
+      - noscrub
+      - nodeep-scrub
diff --git a/qa/suites/upgrade/squid-x/parallel/upgrade-sequence.yaml b/qa/suites/upgrade/squid-x/parallel/upgrade-sequence.yaml
new file mode 100644 (file)
index 0000000..3aec52c
--- /dev/null
@@ -0,0 +1,16 @@
+# renamed tasks: to upgrade-sequence:
+upgrade-sequence:
+   sequential:
+   - print: "**** done start upgrade, wait"
+   - cephadm.shell:
+       env: [sha1]
+       mon.a:
+         - ceph config set global log_to_journald false --force
+         - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
+         - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+         - ceph orch ps
+         - ceph versions
+         - ceph versions | jq -e '.overall | length == 1'
+         - ceph versions | jq -e '.overall | keys' | grep $sha1
+   - print: "**** done end upgrade, wait..."
+
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/+ b/qa/suites/upgrade/squid-x/parallel/workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/.qa b/qa/suites/upgrade/squid-x/parallel/workload/.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/upgrade/squid-x/parallel/workload/ec-rados-default.yaml b/qa/suites/upgrade/squid-x/parallel/workload/ec-rados-default.yaml
new file mode 100644 (file)
index 0000000..67a0f39
--- /dev/null
@@ -0,0 +1,25 @@
+meta:
+- desc: |
+   run run randomized correctness test for rados operations
+   on an erasure-coded pool
+workload:
+  full_sequential:
+  - print: "**** done start ec-rados-default.yaml"
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      ec_pool: true
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 0
+        append: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+        copy_from: 50
+        setattr: 25
+        rmattr: 25
+  - print: "**** done end ec-rados-default.yaml"
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/rados_api.yaml b/qa/suites/upgrade/squid-x/parallel/workload/rados_api.yaml
new file mode 100644 (file)
index 0000000..7cc6b31
--- /dev/null
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+   object class functional tests
+workload:
+  full_sequential:
+    - print: "**** done start rados_api.yaml"
+    - workunit:
+        branch: squid
+        clients:
+          client.0:
+            - cls
+        env:
+          CLS_RBD_GTEST_FILTER: '-TestClsRbd.group_snap_set:TestClsRbd.group_snap_remove'
+    - print: "**** done end rados_api.yaml"
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/rados_loadgenbig.yaml b/qa/suites/upgrade/squid-x/parallel/workload/rados_loadgenbig.yaml
new file mode 100644 (file)
index 0000000..9cadc68
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   generate read/write load with rados objects ranging from 1MB to 25MB
+workload:
+  full_sequential:
+    - print: "**** done start rados_loadgenbig.yaml"
+    - workunit:
+        branch: squid
+        clients:
+          client.0:
+            - rados/load-gen-big.sh
+    - print: "**** done end rados_loadgenbig.yaml"
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/rbd_import_export.yaml b/qa/suites/upgrade/squid-x/parallel/workload/rbd_import_export.yaml
new file mode 100644 (file)
index 0000000..f9739e0
--- /dev/null
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+workload:
+  full_sequential:
+    - print: "**** done start rbd_import_export.yaml"
+    - workunit:
+        branch: squid
+        clients:
+          client.1:
+              - rbd/import_export.sh
+        env:
+          RBD_CREATE_ARGS: --new-format
+    - print: "**** done end rbd_import_export.yaml"
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/test_rbd_api.yaml b/qa/suites/upgrade/squid-x/parallel/workload/test_rbd_api.yaml
new file mode 100644 (file)
index 0000000..2a02e06
--- /dev/null
@@ -0,0 +1,14 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+workload:
+  full_sequential:
+    - print: "**** done start test_rbd_api.yaml"
+    - workunit:
+        branch: squid
+        clients:
+          client.0:
+              - rbd/test_librbd.sh
+        env:
+          RBD_FEATURES: "61"
+    - print: "**** done end test_rbd_api.yaml"
diff --git a/qa/suites/upgrade/squid-x/parallel/workload/test_rbd_python.yaml b/qa/suites/upgrade/squid-x/parallel/workload/test_rbd_python.yaml
new file mode 100644 (file)
index 0000000..d37d460
--- /dev/null
@@ -0,0 +1,20 @@
+meta:
+- desc: |
+   librbd python api tests
+overrides:
+  install:
+    ceph:
+      extra_system_packages:
+      - python3-pytest
+workload:
+  full_sequential:
+    - print: "**** done start test_rbd_python.yaml"
+    - workunit:
+        branch: squid
+        clients:
+          client.0:
+            - rbd/test_librbd_python.sh
+        env:
+          RBD_FEATURES: "61"
+    - print: "**** done end test_rbd_python.yaml"
+
diff --git a/qa/suites/upgrade/squid-x/stress-split/% b/qa/suites/upgrade/squid-x/stress-split/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/squid-x/stress-split/.qa b/qa/suites/upgrade/squid-x/stress-split/.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/upgrade/squid-x/stress-split/0-distro b/qa/suites/upgrade/squid-x/stress-split/0-distro
new file mode 120000 (symlink)
index 0000000..6618785
--- /dev/null
@@ -0,0 +1 @@
+.qa/distros/supported-container-hosts
\ No newline at end of file
diff --git a/qa/suites/upgrade/squid-x/stress-split/0-roles.yaml b/qa/suites/upgrade/squid-x/stress-split/0-roles.yaml
new file mode 100644 (file)
index 0000000..ad3ee43
--- /dev/null
@@ -0,0 +1,31 @@
+roles:
+- - mon.a
+  - mon.c
+  - mgr.y
+  - osd.0
+  - osd.1
+  - osd.2
+  - osd.3
+  - client.0
+  - node-exporter.a
+  - alertmanager.a
+- - mon.b
+  - mgr.x
+  - osd.4
+  - osd.5
+  - osd.6
+  - osd.7
+  - client.1
+  - prometheus.a
+  - grafana.a
+  - node-exporter.b
+openstack:
+- volumes: # attached to each instance
+    count: 4
+    size: 10 # GB
+overrides:
+  ceph:
+    create_rbd_pool: true
+    conf:
+      osd:
+        osd shutdown pgref assert: true
diff --git a/qa/suites/upgrade/squid-x/stress-split/1-start.yaml b/qa/suites/upgrade/squid-x/stress-split/1-start.yaml
new file mode 100644 (file)
index 0000000..59ccfe2
--- /dev/null
@@ -0,0 +1,140 @@
+overrides:
+  ceph:
+    log-ignorelist:
+      - do not have an application enabled
+      - application not enabled
+      - or freeform for custom applications
+      - POOL_APP_NOT_ENABLED
+      - is down
+      - OSD_DOWN
+      - mons down
+      - mon down
+      - MON_DOWN
+      - out of quorum
+      - PG_AVAILABILITY
+      - PG_DEGRADED
+      - Reduced data availability
+      - Degraded data redundancy
+      - pg .* is stuck inactive
+      - pg .* is .*degraded
+      - FS_DEGRADED
+      - OSDMAP_FLAGS
+      - OSD_UPGRADE_FINISHED
+tasks:
+- install:
+    branch: reef
+    exclude_packages:
+      - ceph-volume
+
+- cephadm:
+    image: quay.ceph.io/ceph-ci/ceph:reef
+    compiled_cephadm_branch: reef
+    conf:
+      osd:
+        #set config option for which cls modules are allowed to be loaded / used
+        osd_class_load_list: "*"
+        osd_class_default_list: "*"
+
+- cephadm.shell:
+    mon.a:
+      - ceph fs volume create foo
+      - ceph config set mon mon_warn_on_insecure_global_id_reclaim false --force
+      - ceph config set mon mon_warn_on_insecure_global_id_reclaim_allowed false --force
+
+- ceph.healthy:
+
+- print: "**** upgrading first half of cluster, with stress ****"
+- parallel:
+    - first-half-tasks
+    - first-half-sequence
+- print: "**** done upgrading first half of cluster ****"
+
+- ceph.healthy:
+
+- print: "**** applying stress + thrashing to mixed-version cluster ****"
+
+- parallel:
+    - stress-tasks
+
+- ceph.healthy:
+
+- print: "**** finishing upgrade ****"
+- parallel:
+    - second-half-tasks
+    - second-half-sequence
+
+- ceph.healthy:
+
+
+#################
+
+first-half-sequence:
+- cephadm.shell:
+    env: [sha1]
+    mon.a:
+      - ceph config set mgr mgr/cephadm/daemon_cache_timeout 60
+      - ceph config set global log_to_journald false --force
+
+      - echo wait for mgr daemons to upgrade
+      # upgrade the mgr daemons first
+      - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mgr
+      - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+
+      - echo wait for minority of mons to upgrade
+      # upgrade 1 of 3 mon daemons, then wait 60 seconds
+      - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mon --limit 1
+      - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+      - sleep 60
+
+      - echo wait for majority of mons to upgrade
+      # upgrade one more mon daemon (to get us to 2/3 upgraded) and wait 60 seconds
+      - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mon --limit 1
+      - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+      - sleep 60
+
+      - echo wait for all mons to upgrade
+      # upgrade final mon daemon and wait 60 seconds
+      - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types mon
+      - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+      - sleep 60
+
+      - echo wait for half of osds to upgrade
+      # upgrade 4 of the 8 OSDs
+      - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1 --daemon-types osd --limit 4
+      - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+
+
+#################
+
+stress-tasks:
+- thrashosds:
+    timeout: 1200
+    chance_pgnum_grow: 1
+    chance_pgpnum_fix: 1
+    chance_thrash_cluster_full: 0
+    chance_thrash_pg_upmap: 0
+    chance_thrash_pg_upmap_items: 0
+    disable_objectstore_tool_tests: true
+    chance_force_recovery: 0
+    aggressive_pg_num_changes: false
+
+
+#################
+
+second-half-sequence:
+  sequential:
+    - cephadm.shell:
+        env: [sha1]
+        mon.a:
+          - sleep 60
+
+          - echo wait for upgrade to complete
+          # upgrade whatever is left
+          - ceph orch upgrade start --image quay.ceph.io/ceph-ci/ceph:$sha1
+          - while ceph orch upgrade status | jq '.in_progress' | grep true && ! ceph orch upgrade status | jq '.message' | grep Error ; do ceph orch ps ; ceph versions ; ceph orch upgrade status ; sleep 30 ; done
+
+          - echo upgrade complete
+          - ceph orch ps
+          - ceph versions
+          - ceph versions | jq -e '.overall | length == 1'
+          - ceph versions | jq -e '.overall | keys' | grep $sha1
diff --git a/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/.qa b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/.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/upgrade/squid-x/stress-split/2-first-half-tasks/radosbench.yaml b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/radosbench.yaml
new file mode 100644 (file)
index 0000000..3816ca3
--- /dev/null
@@ -0,0 +1,19 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+first-half-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd-cls.yaml b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..012b546
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+first-half-tasks:
+- workunit:
+    branch: squid
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+    env:
+      CLS_RBD_GTEST_FILTER: '-TestClsRbd.group_snap_set:TestClsRbd.group_snap_remove'
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..9b6e9ce
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+first-half-tasks:
+- workunit:
+    branch: squid
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd_api.yaml b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/rbd_api.yaml
new file mode 100644 (file)
index 0000000..00a16ab
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+first-half-tasks:
+- workunit:
+     branch: squid
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+     env:
+       RBD_FEATURES: "61"
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/readwrite.yaml b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/readwrite.yaml
new file mode 100644 (file)
index 0000000..21a9f37
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool,
+   using only reads, writes, and deletes
+first-half-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 500
+      write_append_excl: false
+      op_weights:
+        read: 45
+        write: 45
+        delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/squid-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..6447c22
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+first-half-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/.qa b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/.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/upgrade/squid-x/stress-split/3-stress-tasks/radosbench.yaml b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/radosbench.yaml
new file mode 100644 (file)
index 0000000..9058bd8
--- /dev/null
@@ -0,0 +1,25 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+stress-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd-cls.yaml b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd-cls.yaml
new file mode 100644 (file)
index 0000000..15b02e4
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic cls tests for rbd
+stress-tasks:
+- workunit:
+    branch: squid
+    clients:
+      client.0:
+        - cls/test_cls_rbd.sh
+    env:
+      CLS_RBD_GTEST_FILTER: '-TestClsRbd.group_snap_set:TestClsRbd.group_snap_remove'
+- print: "**** done cls/test_cls_rbd.sh 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd-import-export.yaml b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..de0d3a8
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+stress-tasks:
+- workunit:
+    branch: squid
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd_api.yaml b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/rbd_api.yaml
new file mode 100644 (file)
index 0000000..ee938df
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   librbd C and C++ api tests
+stress-tasks:
+- workunit:
+     branch: squid
+     clients:
+        client.0:
+           - rbd/test_librbd.sh
+     env:
+       RBD_FEATURES: "61"
+- print: "**** done rbd/test_librbd.sh 7-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/readwrite.yaml b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/readwrite.yaml
new file mode 100644 (file)
index 0000000..41e34d6
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool,
+   using only reads, writes, and deletes
+stress-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 500
+      write_append_excl: false
+      op_weights:
+        read: 45
+        write: 45
+        delete: 10
+- print: "**** done rados/readwrite 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/squid-x/stress-split/3-stress-tasks/snaps-few-objects.yaml
new file mode 100644 (file)
index 0000000..f56d0de
--- /dev/null
@@ -0,0 +1,18 @@
+meta:
+- desc: |
+   randomized correctness test for rados operations on a replicated pool with snapshot operations
+stress-tasks:
+- full_sequential:
+  - rados:
+      clients: [client.0]
+      ops: 4000
+      objects: 50
+      write_append_excl: false
+      op_weights:
+        read: 100
+        write: 100
+        delete: 50
+        snap_create: 50
+        snap_remove: 50
+        rollback: 50
+- print: "**** done rados/snaps-few-objects 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/.qa b/qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/.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/upgrade/squid-x/stress-split/4-second-half-tasks/radosbench.yaml b/qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/radosbench.yaml
new file mode 100644 (file)
index 0000000..7268cb1
--- /dev/null
@@ -0,0 +1,16 @@
+meta:
+- desc: |
+   run randomized correctness test for rados operations
+   generate write load with rados bench
+second-half-tasks:
+- full_sequential:
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+  - radosbench:
+      clients: [client.0]
+      time: 90
+- print: "**** done end radosbench.yaml"
diff --git a/qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/squid-x/stress-split/4-second-half-tasks/rbd-import-export.yaml
new file mode 100644 (file)
index 0000000..47c0733
--- /dev/null
@@ -0,0 +1,12 @@
+meta:
+- desc: |
+   run basic import/export cli tests for rbd
+second-half-tasks:
+- workunit:
+    branch: squid
+    clients:
+      client.0:
+        - rbd/import_export.sh
+    env:
+      RBD_CREATE_ARGS: --new-format
+- print: "**** done rbd/import_export.sh 5-workload"
diff --git a/qa/suites/upgrade/squid-x/stress-split/mon_election b/qa/suites/upgrade/squid-x/stress-split/mon_election
new file mode 120000 (symlink)
index 0000000..3f331e6
--- /dev/null
@@ -0,0 +1 @@
+.qa/mon_election
\ No newline at end of file
diff --git a/qa/suites/upgrade/squid-x/stress-split/overrides/ignorelist_health.yaml b/qa/suites/upgrade/squid-x/stress-split/overrides/ignorelist_health.yaml
new file mode 100644 (file)
index 0000000..fa93b2f
--- /dev/null
@@ -0,0 +1,19 @@
+overrides:
+  ceph:
+    log-ignorelist:
+      - MDS_ALL_DOWN
+      - MDS_UP_LESS_THAN_MAX
+      - OSD_SLOW_PING_TIME
+      - reached quota
+      - running out of quota
+      - overall HEALTH_
+      - CACHE_POOL_NO_HIT_SET
+      - pool\(s\) full
+      - POOL_FULL
+      - SMALLER_PGP_NUM
+      - SLOW_OPS
+      - CACHE_POOL_NEAR_FULL
+      - OBJECT_MISPLACED
+      - slow request
+      - noscrub
+      - nodeep-scrub