]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
qa/suites/upgrade: update upgrade paths
authorLaura Flores <lflores@ibm.com>
Thu, 29 Jan 2026 22:09:25 +0000 (16:09 -0600)
committerLaura Flores <lflores@ibm.com>
Thu, 5 Feb 2026 22:44:38 +0000 (16:44 -0600)
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 <lflores@ibm.com>
104 files changed:
qa/suites/rados/upgrade/parallel
qa/suites/upgrade/reef-x/.qa [deleted symlink]
qa/suites/upgrade/reef-x/parallel/% [deleted file]
qa/suites/upgrade/reef-x/parallel/.qa [deleted symlink]
qa/suites/upgrade/reef-x/parallel/0-random-distro$ [deleted symlink]
qa/suites/upgrade/reef-x/parallel/0-start.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/1-tasks.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/mon_election [deleted symlink]
qa/suites/upgrade/reef-x/parallel/overrides/.qa [deleted symlink]
qa/suites/upgrade/reef-x/parallel/overrides/ignorelist_health.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/upgrade-sequence.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/+ [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/.qa [deleted symlink]
qa/suites/upgrade/reef-x/parallel/workload/ec-rados-default.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/rados_api.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/rados_loadgenbig.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/rbd_import_export.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/test_rbd_api.yaml [deleted file]
qa/suites/upgrade/reef-x/parallel/workload/test_rbd_python.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/% [deleted file]
qa/suites/upgrade/reef-x/stress-split/.qa [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/0-distro [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/0-roles.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/1-start.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/.qa [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/radosbench.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd-cls.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd-import-export.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/rbd_api.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/readwrite.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/+ [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/.qa [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/radosbench.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd-cls.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd-import-export.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/rbd_api.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/readwrite.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/3-stress-tasks/snaps-few-objects.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/.qa [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/radosbench.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/4-second-half-tasks/rbd-import-export.yaml [deleted file]
qa/suites/upgrade/reef-x/stress-split/mon_election [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/overrides/.qa [deleted symlink]
qa/suites/upgrade/reef-x/stress-split/overrides/ignorelist_health.yaml [deleted file]
qa/suites/upgrade/telemetry-upgrade/reef-x/% [deleted file]
qa/suites/upgrade/telemetry-upgrade/reef-x/.qa [deleted symlink]
qa/suites/upgrade/telemetry-upgrade/reef-x/0-random-distro$ [deleted symlink]
qa/suites/upgrade/telemetry-upgrade/reef-x/0-start.yaml [deleted file]
qa/suites/upgrade/telemetry-upgrade/reef-x/1-tasks.yaml [deleted file]
qa/suites/upgrade/telemetry-upgrade/tentacle-x/% [new file with mode: 0644]
qa/suites/upgrade/telemetry-upgrade/tentacle-x/.qa [new symlink]
qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-random-distro$ [new symlink]
qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-start.yaml [new file with mode: 0644]
qa/suites/upgrade/telemetry-upgrade/tentacle-x/1-tasks.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/.qa [new symlink]
qa/suites/upgrade/tentacle-x/parallel/% [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/.qa [new symlink]
qa/suites/upgrade/tentacle-x/parallel/0-random-distro$ [new symlink]
qa/suites/upgrade/tentacle-x/parallel/0-start.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/1-tasks.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/mon_election [new symlink]
qa/suites/upgrade/tentacle-x/parallel/overrides/.qa [new symlink]
qa/suites/upgrade/tentacle-x/parallel/overrides/ignorelist_health.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/upgrade-sequence.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/+ [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/.qa [new symlink]
qa/suites/upgrade/tentacle-x/parallel/workload/ec-rados-default.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/rados_api.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/rados_loadgenbig.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/rbd_import_export.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/parallel/workload/test_rbd_python.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/% [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/.qa [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/0-distro [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/0-roles.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/1-start.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/.qa [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/2-first-half-tasks/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/+ [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/.qa [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd-cls.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/rbd_api.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/readwrite.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/snaps-few-objects.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/.qa [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/radosbench.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/4-second-half-tasks/rbd-import-export.yaml [new file with mode: 0644]
qa/suites/upgrade/tentacle-x/stress-split/mon_election [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/overrides/.qa [new symlink]
qa/suites/upgrade/tentacle-x/stress-split/overrides/ignorelist_health.yaml [new file with mode: 0644]
qa/workunits/test_telemetry_reef.sh [deleted file]
qa/workunits/test_telemetry_reef_x.sh [deleted file]
qa/workunits/test_telemetry_squid.sh
qa/workunits/test_telemetry_tentacle.sh [new file with mode: 0755]
qa/workunits/test_telemetry_tentacle_x.sh [new file with mode: 0755]

index 4a89d75d594a3fe71ae8e263b641401bcde21652..b6f526c760a85dd3be540da273c7849f96113046 120000 (symlink)
@@ -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 (symlink)
index a602a03..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/qa/suites/upgrade/reef-x/parallel/.qa b/qa/suites/upgrade/reef-x/parallel/.qa
deleted file mode 120000 (symlink)
index a602a03..0000000
+++ /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 (symlink)
index 6618785..0000000
+++ /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 (file)
index ad69917..0000000
+++ /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 (file)
index aa05537..0000000
+++ /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 (symlink)
index 3f331e6..0000000
+++ /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 (symlink)
index a602a03..0000000
+++ /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 (file)
index 7e8d7e9..0000000
+++ /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 (file)
index 3aec52c..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/qa/suites/upgrade/reef-x/parallel/workload/.qa b/qa/suites/upgrade/reef-x/parallel/workload/.qa
deleted file mode 120000 (symlink)
index a602a03..0000000
+++ /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 (file)
index 67a0f39..0000000
+++ /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 (file)
index 79cf1a9..0000000
+++ /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 (file)
index 6f1253f..0000000
+++ /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 (file)
index 4345ef7..0000000
+++ /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 (file)
index bb9bedd..0000000
+++ /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 (file)
index 2ad33a2..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/qa/suites/upgrade/reef-x/stress-split/.qa b/qa/suites/upgrade/reef-x/stress-split/.qa
deleted file mode 120000 (symlink)
index a602a03..0000000
+++ /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 (symlink)
index 6618785..0000000
+++ /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 (file)
index ad3ee43..0000000
+++ /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 (file)
index f42cdd2..0000000
+++ /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 (symlink)
index a602a03..0000000
+++ /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 (file)
index 3816ca3..0000000
+++ /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 (file)
index 79ad2af..0000000
+++ /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 (file)
index d1e3ea4..0000000
+++ /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 (file)
index 9d220ec..0000000
+++ /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 (file)
index 21a9f37..0000000
+++ /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 (file)
index 6447c22..0000000
+++ /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 (file)
index e69de29..0000000
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 (symlink)
index a602a03..0000000
+++ /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 (file)
index 9058bd8..0000000
+++ /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 (file)
index 166327a..0000000
+++ /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 (file)
index 6329720..0000000
+++ /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 (file)
index 7360c5d..0000000
+++ /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 (file)
index 41e34d6..0000000
+++ /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 (file)
index f56d0de..0000000
+++ /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 (symlink)
index a602a03..0000000
+++ /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 (file)
index 7268cb1..0000000
+++ /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 (file)
index 921caf4..0000000
+++ /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 (symlink)
index 3f331e6..0000000
+++ /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 (symlink)
index a602a03..0000000
+++ /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 (file)
index fa93b2f..0000000
+++ /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 (file)
index e69de29..0000000
diff --git a/qa/suites/upgrade/telemetry-upgrade/reef-x/.qa b/qa/suites/upgrade/telemetry-upgrade/reef-x/.qa
deleted file mode 120000 (symlink)
index a602a03..0000000
+++ /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 (symlink)
index 6618785..0000000
+++ /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 (file)
index 3814ea3..0000000
+++ /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 (file)
index 7218124..0000000
+++ /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 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/telemetry-upgrade/tentacle-x/.qa b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/.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/telemetry-upgrade/tentacle-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/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/telemetry-upgrade/tentacle-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/tentacle-x/0-start.yaml
new file mode 100644 (file)
index 0000000..3814ea3
--- /dev/null
@@ -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 (file)
index 0000000..51f90ad
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/tentacle-x/parallel/.qa b/qa/suites/upgrade/tentacle-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/tentacle-x/parallel/0-random-distro$ b/qa/suites/upgrade/tentacle-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/tentacle-x/parallel/0-start.yaml b/qa/suites/upgrade/tentacle-x/parallel/0-start.yaml
new file mode 100644 (file)
index 0000000..0a3d747
--- /dev/null
@@ -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 (file)
index 0000000..28cf76f
--- /dev/null
@@ -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 (symlink)
index 0000000..3f331e6
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..cd89c07
--- /dev/null
@@ -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 (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/tentacle-x/parallel/workload/+ b/qa/suites/upgrade/tentacle-x/parallel/workload/+
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/tentacle-x/parallel/workload/.qa b/qa/suites/upgrade/tentacle-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/tentacle-x/parallel/workload/ec-rados-default.yaml b/qa/suites/upgrade/tentacle-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/tentacle-x/parallel/workload/rados_api.yaml b/qa/suites/upgrade/tentacle-x/parallel/workload/rados_api.yaml
new file mode 100644 (file)
index 0000000..f88e082
--- /dev/null
@@ -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 (file)
index 0000000..8fd655a
--- /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: 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 (file)
index 0000000..8d2db87
--- /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: 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 (file)
index 0000000..7bef002
--- /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: 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 (file)
index 0000000..4b3761c
--- /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: 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 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/tentacle-x/stress-split/.qa b/qa/suites/upgrade/tentacle-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/tentacle-x/stress-split/0-distro b/qa/suites/upgrade/tentacle-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/tentacle-x/stress-split/0-roles.yaml b/qa/suites/upgrade/tentacle-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/tentacle-x/stress-split/1-start.yaml b/qa/suites/upgrade/tentacle-x/stress-split/1-start.yaml
new file mode 100644 (file)
index 0000000..889c91b
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (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/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 (file)
index 0000000..c8f5462
--- /dev/null
@@ -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 (file)
index 0000000..92d8acd
--- /dev/null
@@ -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 (file)
index 0000000..201cfd1
--- /dev/null
@@ -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 (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/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 (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/tentacle-x/stress-split/3-stress-tasks/+ b/qa/suites/upgrade/tentacle-x/stress-split/3-stress-tasks/+
new file mode 100644 (file)
index 0000000..e69de29
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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (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/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 (file)
index 0000000..c6d982c
--- /dev/null
@@ -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 (file)
index 0000000..13bfd18
--- /dev/null
@@ -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 (file)
index 0000000..cac81c4
--- /dev/null
@@ -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 (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/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 (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/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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (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/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 (file)
index 0000000..5d3c5a4
--- /dev/null
@@ -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 (symlink)
index 0000000..3f331e6
--- /dev/null
@@ -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 (symlink)
index 0000000..a602a03
--- /dev/null
@@ -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 (file)
index 0000000..5e995da
--- /dev/null
@@ -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 (executable)
index 8852a8e..0000000
+++ /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 (executable)
index fc96c94..0000000
+++ /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
index 332ed1c047c9be70ec50d312c5cb118e285e3c4f..c8da926651c9949339774d06161a44a7265adee3 100755 (executable)
@@ -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 (executable)
index 0000000..dc56243
--- /dev/null
@@ -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 (executable)
index 0000000..fc96c94
--- /dev/null
@@ -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