From: Laura Flores Date: Thu, 29 Jan 2026 22:09:25 +0000 (-0600) Subject: qa/suites/upgrade: update upgrade paths X-Git-Tag: testing/wip-pdonnell-testing-20260210.171210~10^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4ef27ff0976caa9dd9ca828467100344fb2555c9;p=ceph-ci.git qa/suites/upgrade: update upgrade paths Reef is EOL, so it should be removed from the upgrade paths. Upgrade paths only go as far back as two releases, and since the last two releases are Tentacle and Squid, Reef is outside of this "N-2" schema. Since Squid and Tentacle are the latest stable releases if we look back from "main", then we need to make sure to add Tentacle to the upgrade paths. This modification is prompted by the fact that we can't test upgrade paths from Reef to Main on Rocky10 packages. But this change should happen regardless. Fixes: https://tracker.ceph.com/issues/74609 Signed-off-by: Laura Flores --- diff --git a/qa/suites/rados/upgrade/parallel b/qa/suites/rados/upgrade/parallel index 4a89d75d594..b6f526c760a 120000 --- a/qa/suites/rados/upgrade/parallel +++ b/qa/suites/rados/upgrade/parallel @@ -1 +1 @@ -../../upgrade/reef-x/parallel \ No newline at end of file +../../upgrade/squid-x/parallel \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/.qa b/qa/suites/upgrade/reef-x/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/parallel/% b/qa/suites/upgrade/reef-x/parallel/% deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/suites/upgrade/reef-x/parallel/.qa b/qa/suites/upgrade/reef-x/parallel/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/parallel/0-random-distro$ b/qa/suites/upgrade/reef-x/parallel/0-random-distro$ deleted file mode 120000 index 66187855738..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/0-random-distro$ +++ /dev/null @@ -1 +0,0 @@ -.qa/distros/supported-container-hosts \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/parallel/0-start.yaml b/qa/suites/upgrade/reef-x/parallel/0-start.yaml deleted file mode 100644 index ad699176fe4..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/0-start.yaml +++ /dev/null @@ -1,58 +0,0 @@ -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 - - filesystem is degraded - - filesystem is offline - - osds down - - osd down - - OBJECT_UNFOUND diff --git a/qa/suites/upgrade/reef-x/parallel/1-tasks.yaml b/qa/suites/upgrade/reef-x/parallel/1-tasks.yaml deleted file mode 100644 index aa055371b6a..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/1-tasks.yaml +++ /dev/null @@ -1,49 +0,0 @@ -overrides: - ceph: - log-ignorelist: - - Telemetry requires re-opt-in - - telemetry module includes new collections -tasks: -- install: - branch: reef - exclude_packages: - - ceph-osd-classic - - ceph-volume - - ceph-osd-crimson -- print: "**** done install task..." -- print: "**** done start installing reef cephadm ..." -- 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: "*" -- print: "**** done end installing reef 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 reef..." -- workunit: - clients: - client.0: - - test_telemetry_reef.sh -- print: "**** done end telemetry reef..." - -- print: "**** done start parallel" -- parallel: - - workload - - upgrade-sequence -- print: "**** done end parallel" - -- print: "**** done start telemetry x..." -- workunit: - clients: - client.0: - - test_telemetry_reef_x.sh -- print: "**** done end telemetry x..." diff --git a/qa/suites/upgrade/reef-x/parallel/mon_election b/qa/suites/upgrade/reef-x/parallel/mon_election deleted file mode 120000 index 3f331e6214c..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/mon_election +++ /dev/null @@ -1 +0,0 @@ -.qa/mon_election \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/parallel/overrides/.qa b/qa/suites/upgrade/reef-x/parallel/overrides/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/overrides/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/parallel/overrides/ignorelist_health.yaml b/qa/suites/upgrade/reef-x/parallel/overrides/ignorelist_health.yaml deleted file mode 100644 index 7e8d7e98b83..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/overrides/ignorelist_health.yaml +++ /dev/null @@ -1,20 +0,0 @@ -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 - - osds down diff --git a/qa/suites/upgrade/reef-x/parallel/upgrade-sequence.yaml b/qa/suites/upgrade/reef-x/parallel/upgrade-sequence.yaml deleted file mode 100644 index 3aec52ce126..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/upgrade-sequence.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# 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/reef-x/parallel/workload/+ b/qa/suites/upgrade/reef-x/parallel/workload/+ deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/suites/upgrade/reef-x/parallel/workload/.qa b/qa/suites/upgrade/reef-x/parallel/workload/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/parallel/workload/ec-rados-default.yaml b/qa/suites/upgrade/reef-x/parallel/workload/ec-rados-default.yaml deleted file mode 100644 index 67a0f39c5da..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/ec-rados-default.yaml +++ /dev/null @@ -1,25 +0,0 @@ -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/reef-x/parallel/workload/rados_api.yaml b/qa/suites/upgrade/reef-x/parallel/workload/rados_api.yaml deleted file mode 100644 index 79cf1a96601..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/rados_api.yaml +++ /dev/null @@ -1,14 +0,0 @@ -meta: -- desc: | - object class functional tests -workload: - full_sequential: - - print: "**** done start rados_api.yaml" - - workunit: - branch: reef - 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/reef-x/parallel/workload/rados_loadgenbig.yaml b/qa/suites/upgrade/reef-x/parallel/workload/rados_loadgenbig.yaml deleted file mode 100644 index 6f1253f143a..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/rados_loadgenbig.yaml +++ /dev/null @@ -1,12 +0,0 @@ -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: reef - clients: - client.0: - - rados/load-gen-big.sh - - print: "**** done end rados_loadgenbig.yaml" diff --git a/qa/suites/upgrade/reef-x/parallel/workload/rbd_import_export.yaml b/qa/suites/upgrade/reef-x/parallel/workload/rbd_import_export.yaml deleted file mode 100644 index 4345ef78fb0..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/rbd_import_export.yaml +++ /dev/null @@ -1,14 +0,0 @@ -meta: -- desc: | - run basic import/export cli tests for rbd -workload: - full_sequential: - - print: "**** done start rbd_import_export.yaml" - - workunit: - branch: reef - 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/reef-x/parallel/workload/test_rbd_api.yaml b/qa/suites/upgrade/reef-x/parallel/workload/test_rbd_api.yaml deleted file mode 100644 index bb9bedd3353..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/test_rbd_api.yaml +++ /dev/null @@ -1,14 +0,0 @@ -meta: -- desc: | - librbd C and C++ api tests -workload: - full_sequential: - - print: "**** done start test_rbd_api.yaml" - - workunit: - branch: reef - clients: - client.0: - - rbd/test_librbd.sh - env: - RBD_FEATURES: "61" - - print: "**** done end test_rbd_api.yaml" diff --git a/qa/suites/upgrade/reef-x/parallel/workload/test_rbd_python.yaml b/qa/suites/upgrade/reef-x/parallel/workload/test_rbd_python.yaml deleted file mode 100644 index 2ad33a27950..00000000000 --- a/qa/suites/upgrade/reef-x/parallel/workload/test_rbd_python.yaml +++ /dev/null @@ -1,20 +0,0 @@ -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: reef - 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/reef-x/stress-split/% b/qa/suites/upgrade/reef-x/stress-split/% deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/suites/upgrade/reef-x/stress-split/.qa b/qa/suites/upgrade/reef-x/stress-split/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/0-distro b/qa/suites/upgrade/reef-x/stress-split/0-distro deleted file mode 120000 index 66187855738..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/0-distro +++ /dev/null @@ -1 +0,0 @@ -.qa/distros/supported-container-hosts \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/0-roles.yaml b/qa/suites/upgrade/reef-x/stress-split/0-roles.yaml deleted file mode 100644 index ad3ee43d38e..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/0-roles.yaml +++ /dev/null @@ -1,31 +0,0 @@ -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/reef-x/stress-split/1-start.yaml b/qa/suites/upgrade/reef-x/stress-split/1-start.yaml deleted file mode 100644 index f42cdd2720c..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/1-start.yaml +++ /dev/null @@ -1,150 +0,0 @@ -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 - - Replacing daemon mds - - MDS_ALL_DOWN - - MDS_UP_LESS_THAN_MAX - - filesystem is offline - - with fewer MDS than max_mds - - filesystem is degraded - - osds down - - osd down - - OBJECT_UNFOUND -tasks: -- install: - branch: reef - exclude_packages: - - ceph-volume - - ceph-osd-classic - -- 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/reef-x/stress-split/2-first-half-tasks/.qa b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/radosbench.yaml b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/radosbench.yaml deleted file mode 100644 index 3816ca38c98..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/radosbench.yaml +++ /dev/null @@ -1,19 +0,0 @@ -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/reef-x/stress-split/2-first-half-tasks/rbd-cls.yaml b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd-cls.yaml deleted file mode 100644 index 79ad2af8ea1..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd-cls.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - run basic cls tests for rbd -first-half-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/2-first-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd-import-export.yaml deleted file mode 100644 index d1e3ea428d8..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd-import-export.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - run basic import/export cli tests for rbd -first-half-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/2-first-half-tasks/rbd_api.yaml b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd_api.yaml deleted file mode 100644 index 9d220ec6783..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd_api.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - librbd C and C++ api tests -first-half-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/2-first-half-tasks/readwrite.yaml b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/readwrite.yaml deleted file mode 100644 index 21a9f379a9e..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/readwrite.yaml +++ /dev/null @@ -1,16 +0,0 @@ -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/reef-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml deleted file mode 100644 index 6447c2245fb..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml +++ /dev/null @@ -1,18 +0,0 @@ -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/reef-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/+ deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/.qa b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/radosbench.yaml b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/radosbench.yaml deleted file mode 100644 index 9058bd804a6..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/radosbench.yaml +++ /dev/null @@ -1,25 +0,0 @@ -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/reef-x/stress-split/3-stress-tasks/rbd-cls.yaml b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd-cls.yaml deleted file mode 100644 index 166327a58f9..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd-cls.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - run basic cls tests for rbd -stress-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/3-stress-tasks/rbd-import-export.yaml b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd-import-export.yaml deleted file mode 100644 index 63297201dd6..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd-import-export.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - run basic import/export cli tests for rbd -stress-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/3-stress-tasks/rbd_api.yaml b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd_api.yaml deleted file mode 100644 index 7360c5dfcf5..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd_api.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - librbd C and C++ api tests -stress-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/3-stress-tasks/readwrite.yaml b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/readwrite.yaml deleted file mode 100644 index 41e34d6d7d3..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/readwrite.yaml +++ /dev/null @@ -1,16 +0,0 @@ -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/reef-x/stress-split/3-stress-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/snaps-few-objects.yaml deleted file mode 100644 index f56d0de0f74..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/snaps-few-objects.yaml +++ /dev/null @@ -1,18 +0,0 @@ -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/reef-x/stress-split/4-second-half-tasks/.qa b/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/radosbench.yaml b/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/radosbench.yaml deleted file mode 100644 index 7268cb170ca..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/radosbench.yaml +++ /dev/null @@ -1,16 +0,0 @@ -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/reef-x/stress-split/4-second-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/rbd-import-export.yaml deleted file mode 100644 index 921caf4cf1a..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/rbd-import-export.yaml +++ /dev/null @@ -1,12 +0,0 @@ -meta: -- desc: | - run basic import/export cli tests for rbd -second-half-tasks: -- workunit: - branch: reef - 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/reef-x/stress-split/mon_election b/qa/suites/upgrade/reef-x/stress-split/mon_election deleted file mode 120000 index 3f331e6214c..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/mon_election +++ /dev/null @@ -1 +0,0 @@ -.qa/mon_election \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/overrides/.qa b/qa/suites/upgrade/reef-x/stress-split/overrides/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/overrides/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/reef-x/stress-split/overrides/ignorelist_health.yaml b/qa/suites/upgrade/reef-x/stress-split/overrides/ignorelist_health.yaml deleted file mode 100644 index fa93b2f2ece..00000000000 --- a/qa/suites/upgrade/reef-x/stress-split/overrides/ignorelist_health.yaml +++ /dev/null @@ -1,19 +0,0 @@ -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/telemetry-upgrade/reef-x/% b/qa/suites/upgrade/telemetry-upgrade/reef-x/% deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/qa/suites/upgrade/telemetry-upgrade/reef-x/.qa b/qa/suites/upgrade/telemetry-upgrade/reef-x/.qa deleted file mode 120000 index a602a0353e7..00000000000 --- a/qa/suites/upgrade/telemetry-upgrade/reef-x/.qa +++ /dev/null @@ -1 +0,0 @@ -../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/reef-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/reef-x/0-random-distro$ deleted file mode 120000 index 66187855738..00000000000 --- a/qa/suites/upgrade/telemetry-upgrade/reef-x/0-random-distro$ +++ /dev/null @@ -1 +0,0 @@ -.qa/distros/supported-container-hosts \ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/reef-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/reef-x/0-start.yaml deleted file mode 100644 index 3814ea3efdb..00000000000 --- a/qa/suites/upgrade/telemetry-upgrade/reef-x/0-start.yaml +++ /dev/null @@ -1,33 +0,0 @@ -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 diff --git a/qa/suites/upgrade/telemetry-upgrade/reef-x/1-tasks.yaml b/qa/suites/upgrade/telemetry-upgrade/reef-x/1-tasks.yaml deleted file mode 100644 index 72181240caf..00000000000 --- a/qa/suites/upgrade/telemetry-upgrade/reef-x/1-tasks.yaml +++ /dev/null @@ -1,85 +0,0 @@ -overrides: - ceph: - log-ignorelist: - - mons down - - mon down - - MON_DOWN - - out of quorum - - PG_ - - OSD_DOWN - - POOL_APP_NOT_ENABLED - - pgs degraded - - pg degraded - - object degraded - - objects degraded - - FS_DEGRADED - - MDS_ALL_DOWN - - OSD_UPGRADE_FINISHED - - do not have an application enabled - - is down - - TELEMETRY_CHANGED - - pg .*? is .*?degraded.*?, acting - - pg .* is stuck peering - - filesystem is degraded - - filesystem is offline - - osds down - - osd down - - OBJECT_UNFOUND -tasks: -- install: - branch: reef - exclude_packages: - - ceph-volume -- print: "**** done install task..." -- print: "**** done start installing reef cephadm ..." -- 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: "*" -- print: "**** done end installing reef 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 reef..." -- workunit: - clients: - client.0: - - test_telemetry_reef.sh -- print: "**** done end telemetry reef..." - -- print: "**** done start upgrade sequence..." -- sequential: - - print: "**** done start upgrade..." - - 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..." - - - print: "**** done set require-osd-release ..." - - cephadm.shell: - env: [sha1] - mon.a: - - ceph osd require-osd-release tentacle - - - print: "**** done start telemetry x..." - - workunit: - clients: - client.0: - - test_telemetry_reef_x.sh - - print: "**** done end telemetry x..." -- print: "**** done end upgrade sequence..." diff --git a/qa/suites/upgrade/telemetry-upgrade/tentacle-x/% b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/upgrade/telemetry-upgrade/tentacle-x/.qa b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-random-distro$ new file mode 120000 index 00000000000..66187855738 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-random-distro$ @@ -0,0 +1 @@ +.qa/distros/supported-container-hosts \ No newline at end of file diff --git a/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-start.yaml new file mode 100644 index 00000000000..3814ea3efdb --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-start.yaml @@ -0,0 +1,33 @@ +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 diff --git a/qa/suites/upgrade/telemetry-upgrade/tentacle-x/1-tasks.yaml b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/1-tasks.yaml new file mode 100644 index 00000000000..51f90ad9533 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/1-tasks.yaml @@ -0,0 +1,85 @@ +overrides: + ceph: + log-ignorelist: + - mons down + - mon down + - MON_DOWN + - out of quorum + - PG_ + - OSD_DOWN + - POOL_APP_NOT_ENABLED + - pgs degraded + - pg degraded + - object degraded + - objects degraded + - FS_DEGRADED + - MDS_ALL_DOWN + - OSD_UPGRADE_FINISHED + - do not have an application enabled + - is down + - TELEMETRY_CHANGED + - pg .*? is .*?degraded.*?, acting + - pg .* is stuck peering + - filesystem is degraded + - filesystem is offline + - osds down + - osd down + - OBJECT_UNFOUND +tasks: +- install: + branch: tentacle + exclude_packages: + - ceph-volume +- print: "**** done install task..." +- print: "**** done start installing tentacle cephadm ..." +- cephadm: + image: quay.ceph.io/ceph-ci/ceph:tentacle + compiled_cephadm_branch: tentacle + 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 tentacle 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 tentacle..." +- workunit: + clients: + client.0: + - test_telemetry_tentacle.sh +- print: "**** done end telemetry tentacle..." + +- print: "**** done start upgrade sequence..." +- sequential: + - print: "**** done start upgrade..." + - 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..." + + - print: "**** done set require-osd-release ..." + - cephadm.shell: + env: [sha1] + mon.a: + - ceph osd require-osd-release tentacle + + - print: "**** done start telemetry x..." + - workunit: + clients: + client.0: + - test_telemetry_tentacle_x.sh + - print: "**** done end telemetry x..." +- print: "**** done end upgrade sequence..." diff --git a/qa/suites/upgrade/tentacle-x/.qa b/qa/suites/upgrade/tentacle-x/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/parallel/% b/qa/suites/upgrade/tentacle-x/parallel/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/upgrade/tentacle-x/parallel/.qa b/qa/suites/upgrade/tentacle-x/parallel/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/parallel/0-random-distro$ b/qa/suites/upgrade/tentacle-x/parallel/0-random-distro$ new file mode 120000 index 00000000000..66187855738 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/0-random-distro$ @@ -0,0 +1 @@ +.qa/distros/supported-container-hosts \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/parallel/0-start.yaml b/qa/suites/upgrade/tentacle-x/parallel/0-start.yaml new file mode 100644 index 00000000000..0a3d7470e16 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/0-start.yaml @@ -0,0 +1,59 @@ +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 + - filesystem is degraded + - filesystem is offline + - osds down + - osd down + - OBJECT_UNFOUND + - PG_DEGRADED diff --git a/qa/suites/upgrade/tentacle-x/parallel/1-tasks.yaml b/qa/suites/upgrade/tentacle-x/parallel/1-tasks.yaml new file mode 100644 index 00000000000..28cf76f821c --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/1-tasks.yaml @@ -0,0 +1,49 @@ +overrides: + ceph: + log-ignorelist: + - Telemetry requires re-opt-in + - telemetry module includes new collections +tasks: +- install: + branch: tentacle + exclude_packages: + - ceph-osd-classic + - ceph-volume + - ceph-osd-crimson +- print: "**** done install task..." +- print: "**** done start installing tentacle cephadm ..." +- cephadm: + image: quay.ceph.io/ceph-ci/ceph:tentacle + compiled_cephadm_branch: tentacle + 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 tentacle 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 tentacle..." +- workunit: + clients: + client.0: + - test_telemetry_tentacle.sh +- print: "**** done end telemetry tentacle..." + +- print: "**** done start parallel" +- parallel: + - workload + - upgrade-sequence +- print: "**** done end parallel" + +- print: "**** done start telemetry x..." +- workunit: + clients: + client.0: + - test_telemetry_tentacle_x.sh +- print: "**** done end telemetry x..." diff --git a/qa/suites/upgrade/tentacle-x/parallel/mon_election b/qa/suites/upgrade/tentacle-x/parallel/mon_election new file mode 120000 index 00000000000..3f331e6214c --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/mon_election @@ -0,0 +1 @@ +.qa/mon_election \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/parallel/overrides/.qa b/qa/suites/upgrade/tentacle-x/parallel/overrides/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/overrides/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/parallel/overrides/ignorelist_health.yaml b/qa/suites/upgrade/tentacle-x/parallel/overrides/ignorelist_health.yaml new file mode 100644 index 00000000000..cd89c0772c3 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/overrides/ignorelist_health.yaml @@ -0,0 +1,21 @@ +overrides: + ceph: + log-ignorelist: + - \(MDS_ALL_DOWN\) + - \(MDS_UP_LESS_THAN_MAX\) + - \(OSD_SLOW_PING_TIME + - reached quota + - overall HEALTH_ + - \(CACHE_POOL_NO_HIT_SET\) + - \(POOL_FULL\) + - \(SMALLER_PGP_NUM\) + - \(SLOW_OPS\) + - \(CACHE_POOL_NEAR_FULL\) + - \(POOL_APP_NOT_ENABLED\) + - \(PG_AVAILABILITY\) + - \(OBJECT_MISPLACED\) + - slow request + - \(MON_DOWN\) + - noscrub + - nodeep-scrub + - osds down diff --git a/qa/suites/upgrade/tentacle-x/parallel/upgrade-sequence.yaml b/qa/suites/upgrade/tentacle-x/parallel/upgrade-sequence.yaml new file mode 100644 index 00000000000..3aec52ce126 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/upgrade-sequence.yaml @@ -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/tentacle-x/parallel/workload/+ b/qa/suites/upgrade/tentacle-x/parallel/workload/+ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/upgrade/tentacle-x/parallel/workload/.qa b/qa/suites/upgrade/tentacle-x/parallel/workload/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/parallel/workload/ec-rados-default.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/ec-rados-default.yaml new file mode 100644 index 00000000000..67a0f39c5da --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/ec-rados-default.yaml @@ -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/tentacle-x/parallel/workload/rados_api.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/rados_api.yaml new file mode 100644 index 00000000000..f88e082d3cf --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/rados_api.yaml @@ -0,0 +1,14 @@ +meta: +- desc: | + object class functional tests +workload: + full_sequential: + - print: "**** done start rados_api.yaml" + - workunit: + branch: tentacle + 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/tentacle-x/parallel/workload/rados_loadgenbig.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/rados_loadgenbig.yaml new file mode 100644 index 00000000000..8fd655a5b60 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/rados_loadgenbig.yaml @@ -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: tentacle + clients: + client.0: + - rados/load-gen-big.sh + - print: "**** done end rados_loadgenbig.yaml" diff --git a/qa/suites/upgrade/tentacle-x/parallel/workload/rbd_import_export.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/rbd_import_export.yaml new file mode 100644 index 00000000000..8d2db87b406 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/rbd_import_export.yaml @@ -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: tentacle + 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/tentacle-x/parallel/workload/test_rbd_api.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_api.yaml new file mode 100644 index 00000000000..7bef00295b4 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_api.yaml @@ -0,0 +1,14 @@ +meta: +- desc: | + librbd C and C++ api tests +workload: + full_sequential: + - print: "**** done start test_rbd_api.yaml" + - workunit: + branch: tentacle + clients: + client.0: + - rbd/test_librbd.sh + env: + RBD_FEATURES: "61" + - print: "**** done end test_rbd_api.yaml" diff --git a/qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_python.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_python.yaml new file mode 100644 index 00000000000..4b3761c10c0 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_python.yaml @@ -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: tentacle + 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/tentacle-x/stress-split/% b/qa/suites/upgrade/tentacle-x/stress-split/% new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/upgrade/tentacle-x/stress-split/.qa b/qa/suites/upgrade/tentacle-x/stress-split/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/0-distro b/qa/suites/upgrade/tentacle-x/stress-split/0-distro new file mode 120000 index 00000000000..66187855738 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/0-distro @@ -0,0 +1 @@ +.qa/distros/supported-container-hosts \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/0-roles.yaml b/qa/suites/upgrade/tentacle-x/stress-split/0-roles.yaml new file mode 100644 index 00000000000..ad3ee43d38e --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/0-roles.yaml @@ -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/tentacle-x/stress-split/1-start.yaml b/qa/suites/upgrade/tentacle-x/stress-split/1-start.yaml new file mode 100644 index 00000000000..889c91b53b5 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/1-start.yaml @@ -0,0 +1,151 @@ +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 + - Replacing daemon mds + - MDS_ALL_DOWN + - MDS_UP_LESS_THAN_MAX + - filesystem is offline + - with fewer MDS than max_mds + - filesystem is degraded + - osds down + - osd down + - OBJECT_UNFOUND +tasks: +- install: + branch: tentacle + exclude_packages: + - ceph-osd-classic + - ceph-volume + - ceph-osd-crimson + +- cephadm: + image: quay.ceph.io/ceph-ci/ceph:tentacle + compiled_cephadm_branch: tentacle + 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/tentacle-x/stress-split/2-first-half-tasks/.qa b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/radosbench.yaml b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/radosbench.yaml new file mode 100644 index 00000000000..3816ca38c98 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/radosbench.yaml @@ -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/tentacle-x/stress-split/2-first-half-tasks/rbd-cls.yaml b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd-cls.yaml new file mode 100644 index 00000000000..c8f54626d99 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd-cls.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic cls tests for rbd +first-half-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/2-first-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd-import-export.yaml new file mode 100644 index 00000000000..92d8acd8b98 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +first-half-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/2-first-half-tasks/rbd_api.yaml b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd_api.yaml new file mode 100644 index 00000000000..201cfd179fc --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + librbd C and C++ api tests +first-half-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/2-first-half-tasks/readwrite.yaml b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/readwrite.yaml new file mode 100644 index 00000000000..21a9f379a9e --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/readwrite.yaml @@ -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/tentacle-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml new file mode 100644 index 00000000000..6447c2245fb --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml @@ -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/tentacle-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/+ new file mode 100644 index 00000000000..e69de29bb2d diff --git a/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/.qa b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/radosbench.yaml b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/radosbench.yaml new file mode 100644 index 00000000000..9058bd804a6 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/radosbench.yaml @@ -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/tentacle-x/stress-split/3-stress-tasks/rbd-cls.yaml b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd-cls.yaml new file mode 100644 index 00000000000..c6d982c59b4 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd-cls.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic cls tests for rbd +stress-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/3-stress-tasks/rbd-import-export.yaml b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd-import-export.yaml new file mode 100644 index 00000000000..13bfd18725f --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +stress-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/3-stress-tasks/rbd_api.yaml b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd_api.yaml new file mode 100644 index 00000000000..cac81c43ee6 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd_api.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + librbd C and C++ api tests +stress-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/3-stress-tasks/readwrite.yaml b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/readwrite.yaml new file mode 100644 index 00000000000..41e34d6d7d3 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/readwrite.yaml @@ -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/tentacle-x/stress-split/3-stress-tasks/snaps-few-objects.yaml b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/snaps-few-objects.yaml new file mode 100644 index 00000000000..f56d0de0f74 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/snaps-few-objects.yaml @@ -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/tentacle-x/stress-split/4-second-half-tasks/.qa b/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/radosbench.yaml b/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/radosbench.yaml new file mode 100644 index 00000000000..7268cb170ca --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/radosbench.yaml @@ -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/tentacle-x/stress-split/4-second-half-tasks/rbd-import-export.yaml b/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/rbd-import-export.yaml new file mode 100644 index 00000000000..5d3c5a469ff --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/rbd-import-export.yaml @@ -0,0 +1,12 @@ +meta: +- desc: | + run basic import/export cli tests for rbd +second-half-tasks: +- workunit: + branch: tentacle + 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/tentacle-x/stress-split/mon_election b/qa/suites/upgrade/tentacle-x/stress-split/mon_election new file mode 120000 index 00000000000..3f331e6214c --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/mon_election @@ -0,0 +1 @@ +.qa/mon_election \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/overrides/.qa b/qa/suites/upgrade/tentacle-x/stress-split/overrides/.qa new file mode 120000 index 00000000000..a602a0353e7 --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/overrides/.qa @@ -0,0 +1 @@ +../.qa/ \ No newline at end of file diff --git a/qa/suites/upgrade/tentacle-x/stress-split/overrides/ignorelist_health.yaml b/qa/suites/upgrade/tentacle-x/stress-split/overrides/ignorelist_health.yaml new file mode 100644 index 00000000000..5e995da7d2c --- /dev/null +++ b/qa/suites/upgrade/tentacle-x/stress-split/overrides/ignorelist_health.yaml @@ -0,0 +1,20 @@ +overrides: + ceph: + log-ignorelist: + - \(MDS_ALL_DOWN\) + - \(MDS_UP_LESS_THAN_MAX\) + - \(OSD_SLOW_PING_TIME + - reached quota + - overall HEALTH_ + - \(CACHE_POOL_NO_HIT_SET\) + - \(POOL_FULL\) + - \(SMALLER_PGP_NUM\) + - \(SLOW_OPS\) + - \(CACHE_POOL_NEAR_FULL\) + - \(POOL_APP_NOT_ENABLED\) + - \(PG_AVAILABILITY\) + - \(OBJECT_MISPLACED\) + - slow request + - \(MON_DOWN\) + - noscrub + - nodeep-scrub diff --git a/qa/workunits/test_telemetry_reef.sh b/qa/workunits/test_telemetry_reef.sh deleted file mode 100755 index 8852a8e80f1..00000000000 --- a/qa/workunits/test_telemetry_reef.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -ex - -# Set up ident details for cluster -ceph config set mgr mgr/telemetry/channel_ident true -ceph config set mgr mgr/telemetry/organization 'ceph-qa' -ceph config set mgr mgr/telemetry/description 'upgrade test cluster' - -#Run preview commands -ceph telemetry preview -ceph telemetry preview-device -ceph telemetry preview-all - -# Opt in to new collections right away to avoid "TELEMETRY_CHANGED" -# warning (see https://tracker.ceph.com/issues/64458) -ceph telemetry on --license sharing-1-0 -ceph telemetry enable channel perf - -# The last_opt_revision remains at 1 since last_opt_revision -# was phased out for fresh installs of quincy. -LAST_OPT_REVISION=$(ceph config get mgr mgr/telemetry/last_opt_revision) -if [ $LAST_OPT_REVISION -ne 1 ]; then - echo "last_opt_revision is incorrect" - exit 1 -fi - -# Check the warning: -ceph -s - -# Verify collections -REPORTED_COLLECTIONS=$(ceph telemetry collection ls) -NUM_REPORTED_COLLECTIONS=$(echo "$REPORTED_COLLECTIONS" | awk '/^NAME/ {flag=1; next} flag' | wc -l) -KNOWN_COLLECTIONS=("basic_base" "basic_mds_metadata" "basic_pool_options_bluestore" - "basic_pool_usage" "basic_rook_v01" "basic_usage_by_class" "crash_base" - "device_base" "ident_base" "perf_memory_metrics" "perf_perf") - -if ! [[ $NUM_REPORTED_COLLECTIONS == "${#KNOWN_COLLECTIONS[@]}" ]]; -then - echo "Number of reported collections ($NUM_REPORTED_COLLECTIONS) does not match KNOWN_COLLECTIONS ("${#KNOWN_COLLECTIONS[@]}")." - exit 1 -fi - -for col in ${KNOWN_COLLECTIONS[@]}; do - if ! [[ $REPORTED_COLLECTIONS == *$col* ]]; - then - echo "COLLECTIONS does not contain" "'"$col"'." - exit 1 - fi -done - -#Run preview commands -ceph telemetry preview -ceph telemetry preview-device -ceph telemetry preview-all - -# Run show commands -ceph telemetry show -ceph telemetry show-device -ceph telemetry show-all - -echo OK diff --git a/qa/workunits/test_telemetry_reef_x.sh b/qa/workunits/test_telemetry_reef_x.sh deleted file mode 100755 index fc96c944937..00000000000 --- a/qa/workunits/test_telemetry_reef_x.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash -ex - -# Opt in to new collections right away to avoid "TELEMETRY_CHANGED" -# warning (see https://tracker.ceph.com/issues/64458) -ceph telemetry on --license sharing-1-0 - -# The last_opt_revision remains at 1 since last_opt_revision -# was phased out for fresh installs of quincy. -LAST_OPT_REVISION=$(ceph config get mgr mgr/telemetry/last_opt_revision) -if [ $LAST_OPT_REVISION -ne 1 ]; then - echo "last_opt_revision is incorrect" - exit 1 -fi - -# Check the warning: -ceph -s - -# Verify collections -REPORTED_COLLECTIONS=$(ceph telemetry collection ls) -NUM_REPORTED_COLLECTIONS=$(echo "$REPORTED_COLLECTIONS" | awk '/^NAME/ {flag=1; next} flag' | wc -l) -KNOWN_COLLECTIONS=("basic_base" "basic_mds_metadata" "basic_pool_flags" "basic_pool_options_bluestore" - "basic_pool_usage" "basic_rook_v01" "basic_usage_by_class" "crash_base" "device_base" - "ident_base" "perf_memory_metrics" "perf_perf" "basic_stretch_cluster") - -if ! [[ $NUM_REPORTED_COLLECTIONS == "${#KNOWN_COLLECTIONS[@]}" ]]; -then - echo "Number of reported collections ($NUM_REPORTED_COLLECTIONS) does not match KNOWN_COLLECTIONS ("${#KNOWN_COLLECTIONS[@]}")." - exit 1 -fi - -for col in ${KNOWN_COLLECTIONS[@]}; do - if ! [[ $REPORTED_COLLECTIONS == *$col* ]]; - then - echo "COLLECTIONS does not contain" "'"$col"'." - exit 1 - fi -done - -#Run preview commands -ceph telemetry preview -ceph telemetry preview-device -ceph telemetry preview-all - -# Run show commands -ceph telemetry show -ceph telemetry show-device -ceph telemetry show-all - -# Opt out -ceph telemetry off - -echo OK diff --git a/qa/workunits/test_telemetry_squid.sh b/qa/workunits/test_telemetry_squid.sh index 332ed1c047c..c8da926651c 100755 --- a/qa/workunits/test_telemetry_squid.sh +++ b/qa/workunits/test_telemetry_squid.sh @@ -30,7 +30,7 @@ ceph -s REPORTED_COLLECTIONS=$(ceph telemetry collection ls) NUM_REPORTED_COLLECTIONS=$(echo "$REPORTED_COLLECTIONS" | awk '/^NAME/ {flag=1; next} flag' | wc -l) KNOWN_COLLECTIONS=("basic_base" "basic_mds_metadata" "basic_pool_flags" "basic_pool_options_bluestore" - "basic_pool_usage" "basic_rook_v01" "basic_usage_by_class" "crash_base" + "basic_pool_usage" "basic_rook_v01" "basic_stretch_cluster" "basic_usage_by_class" "crash_base" "device_base" "ident_base" "perf_memory_metrics" "perf_perf") if ! [[ $NUM_REPORTED_COLLECTIONS == "${#KNOWN_COLLECTIONS[@]}" ]]; diff --git a/qa/workunits/test_telemetry_tentacle.sh b/qa/workunits/test_telemetry_tentacle.sh new file mode 100755 index 00000000000..dc562437b95 --- /dev/null +++ b/qa/workunits/test_telemetry_tentacle.sh @@ -0,0 +1,60 @@ +#!/bin/bash -ex + +# Set up ident details for cluster +ceph config set mgr mgr/telemetry/channel_ident true +ceph config set mgr mgr/telemetry/organization 'ceph-qa' +ceph config set mgr mgr/telemetry/description 'upgrade test cluster' + +#Run preview commands +ceph telemetry preview +ceph telemetry preview-device +ceph telemetry preview-all + +# Opt in to new collections right away to avoid "TELEMETRY_CHANGED" +# warning (see https://tracker.ceph.com/issues/64458) +ceph telemetry on --license sharing-1-0 +ceph telemetry enable channel perf + +# The last_opt_revision remains at 1 since last_opt_revision +# was phased out for fresh installs of quincy. +LAST_OPT_REVISION=$(ceph config get mgr mgr/telemetry/last_opt_revision) +if [ $LAST_OPT_REVISION -ne 1 ]; then + echo "last_opt_revision is incorrect" + exit 1 +fi + +# Check the warning: +ceph -s + +# Verify collections +REPORTED_COLLECTIONS=$(ceph telemetry collection ls) +NUM_REPORTED_COLLECTIONS=$(echo "$REPORTED_COLLECTIONS" | awk '/^NAME/ {flag=1; next} flag' | wc -l) +KNOWN_COLLECTIONS=("basic_base" "basic_mds_metadata" "basic_pool_flags" "basic_pool_options_bluestore" + "basic_pool_usage" "basic_rook_v01" "basic_usage_by_class" "crash_base" + "device_base" "ident_base" "perf_memory_metrics" "perf_perf" "basic_stretch_cluster") + +if ! [[ $NUM_REPORTED_COLLECTIONS == "${#KNOWN_COLLECTIONS[@]}" ]]; +then + echo "Number of reported collections ($NUM_REPORTED_COLLECTIONS) does not match KNOWN_COLLECTIONS ("${#KNOWN_COLLECTIONS[@]}")." + exit 1 +fi + +for col in ${KNOWN_COLLECTIONS[@]}; do + if ! [[ $REPORTED_COLLECTIONS == *$col* ]]; + then + echo "COLLECTIONS does not contain" "'"$col"'." + exit 1 + fi +done + +#Run preview commands +ceph telemetry preview +ceph telemetry preview-device +ceph telemetry preview-all + +# Run show commands +ceph telemetry show +ceph telemetry show-device +ceph telemetry show-all + +echo OK diff --git a/qa/workunits/test_telemetry_tentacle_x.sh b/qa/workunits/test_telemetry_tentacle_x.sh new file mode 100755 index 00000000000..fc96c944937 --- /dev/null +++ b/qa/workunits/test_telemetry_tentacle_x.sh @@ -0,0 +1,52 @@ +#!/bin/bash -ex + +# Opt in to new collections right away to avoid "TELEMETRY_CHANGED" +# warning (see https://tracker.ceph.com/issues/64458) +ceph telemetry on --license sharing-1-0 + +# The last_opt_revision remains at 1 since last_opt_revision +# was phased out for fresh installs of quincy. +LAST_OPT_REVISION=$(ceph config get mgr mgr/telemetry/last_opt_revision) +if [ $LAST_OPT_REVISION -ne 1 ]; then + echo "last_opt_revision is incorrect" + exit 1 +fi + +# Check the warning: +ceph -s + +# Verify collections +REPORTED_COLLECTIONS=$(ceph telemetry collection ls) +NUM_REPORTED_COLLECTIONS=$(echo "$REPORTED_COLLECTIONS" | awk '/^NAME/ {flag=1; next} flag' | wc -l) +KNOWN_COLLECTIONS=("basic_base" "basic_mds_metadata" "basic_pool_flags" "basic_pool_options_bluestore" + "basic_pool_usage" "basic_rook_v01" "basic_usage_by_class" "crash_base" "device_base" + "ident_base" "perf_memory_metrics" "perf_perf" "basic_stretch_cluster") + +if ! [[ $NUM_REPORTED_COLLECTIONS == "${#KNOWN_COLLECTIONS[@]}" ]]; +then + echo "Number of reported collections ($NUM_REPORTED_COLLECTIONS) does not match KNOWN_COLLECTIONS ("${#KNOWN_COLLECTIONS[@]}")." + exit 1 +fi + +for col in ${KNOWN_COLLECTIONS[@]}; do + if ! [[ $REPORTED_COLLECTIONS == *$col* ]]; + then + echo "COLLECTIONS does not contain" "'"$col"'." + exit 1 + fi +done + +#Run preview commands +ceph telemetry preview +ceph telemetry preview-device +ceph telemetry preview-all + +# Run show commands +ceph telemetry show +ceph telemetry show-device +ceph telemetry show-all + +# Opt out +ceph telemetry off + +echo OK