]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/suites/upgrade/telemetry-upgrade: replace quincy tests with squid tests
authorLaura Flores <lflores@ibm.com>
Fri, 6 Dec 2024 17:51:25 +0000 (11:51 -0600)
committerLaura Flores <lflores@ibm.com>
Fri, 17 Jan 2025 22:47:06 +0000 (16:47 -0600)
Since main is now pre-Tentacle, we should replace the quincy upgrade
path with squid.

I have kept the quincy workunits since they are still
referenced in the overall upgrade suite. I will remove these
in a separate PR since changing the overall upgrade tests reaches
beyond the scope of just telemetry.

Signed-off-by: Laura Flores <lflores@ibm.com>
12 files changed:
qa/suites/upgrade/telemetry-upgrade/quincy-x/% [deleted file]
qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa [deleted symlink]
qa/suites/upgrade/telemetry-upgrade/quincy-x/0-random-distro$ [deleted symlink]
qa/suites/upgrade/telemetry-upgrade/quincy-x/0-start.yaml [deleted file]
qa/suites/upgrade/telemetry-upgrade/quincy-x/1-tasks.yaml [deleted file]
qa/suites/upgrade/telemetry-upgrade/squid-x/% [new file with mode: 0644]
qa/suites/upgrade/telemetry-upgrade/squid-x/.qa [new symlink]
qa/suites/upgrade/telemetry-upgrade/squid-x/0-random-distro$ [new symlink]
qa/suites/upgrade/telemetry-upgrade/squid-x/0-start.yaml [new file with mode: 0644]
qa/suites/upgrade/telemetry-upgrade/squid-x/1-tasks.yaml [new file with mode: 0644]
qa/workunits/test_telemetry_squid.sh [new file with mode: 0755]
qa/workunits/test_telemetry_squid_x.sh [new file with mode: 0755]

diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/% b/qa/suites/upgrade/telemetry-upgrade/quincy-x/%
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa b/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa
deleted file mode 120000 (symlink)
index a23f7e0..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../../.qa
\ No newline at end of file
diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/quincy-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/quincy-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/quincy-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/quincy-x/1-tasks.yaml b/qa/suites/upgrade/telemetry-upgrade/quincy-x/1-tasks.yaml
deleted file mode 100644 (file)
index cefaee6..0000000
+++ /dev/null
@@ -1,78 +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
-tasks:
-- install:
-    branch: quincy
-    exclude_packages:
-      - ceph-volume
-- print: "**** done install task..."
-- print: "**** done start installing quincy cephadm ..."
-- cephadm:
-    image: quay.ceph.io/ceph-ci/ceph:quincy
-    cephadm_branch: quincy
-    cephadm_git_url: https://github.com/ceph/ceph
-    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 quincy 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 quincy..."
-- workunit:
-    clients:
-      client.0:
-        - test_telemetry_quincy.sh
-- print: "**** done end telemetry quincy..."
-
-- 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 squid
-
-    - print: "**** done start telemetry x..."
-    - workunit:
-        clients:
-          client.0:
-            - test_telemetry_quincy_x.sh
-    - print: "**** done end telemetry x..."
-- print: "**** done end upgrade sequence..."
diff --git a/qa/suites/upgrade/telemetry-upgrade/squid-x/% b/qa/suites/upgrade/telemetry-upgrade/squid-x/%
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/qa/suites/upgrade/telemetry-upgrade/squid-x/.qa b/qa/suites/upgrade/telemetry-upgrade/squid-x/.qa
new file mode 120000 (symlink)
index 0000000..a23f7e0
--- /dev/null
@@ -0,0 +1 @@
+../../.qa
\ No newline at end of file
diff --git a/qa/suites/upgrade/telemetry-upgrade/squid-x/0-random-distro$ b/qa/suites/upgrade/telemetry-upgrade/squid-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/squid-x/0-start.yaml b/qa/suites/upgrade/telemetry-upgrade/squid-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/squid-x/1-tasks.yaml b/qa/suites/upgrade/telemetry-upgrade/squid-x/1-tasks.yaml
new file mode 100644 (file)
index 0000000..02201b6
--- /dev/null
@@ -0,0 +1,77 @@
+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
+tasks:
+- install:
+    branch: squid
+    exclude_packages:
+      - ceph-volume
+- print: "**** done install task..."
+- print: "**** done start installing squid cephadm ..."
+- cephadm:
+    image: quay.ceph.io/ceph-ci/ceph:squid
+    compiled_cephadm_branch: squid
+    conf:
+      osd:
+        #set config option for which cls modules are allowed to be loaded / used
+        osd_class_load_list: "*"
+        osd_class_default_list: "*"
+- print: "**** done end installing squid cephadm ..."
+
+- print: "**** done start cephadm.shell ceph config set mgr..."
+- cephadm.shell:
+    mon.a:
+      - ceph config set mgr mgr/cephadm/use_repo_digest true --force
+- print: "**** done cephadm.shell ceph config set mgr..."
+
+- print: "**** done start telemetry squid..."
+- workunit:
+    clients:
+      client.0:
+        - test_telemetry_squid.sh
+- print: "**** done end telemetry squid..."
+
+- print: "**** done start 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 squid
+
+    - print: "**** done start telemetry x..."
+    - workunit:
+        clients:
+          client.0:
+            - test_telemetry_squid_x.sh
+    - print: "**** done end telemetry x..."
+- print: "**** done end upgrade sequence..."
diff --git a/qa/workunits/test_telemetry_squid.sh b/qa/workunits/test_telemetry_squid.sh
new file mode 100755 (executable)
index 0000000..ace240a
--- /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")
+
+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
+
+# Opt out
+ceph telemetry off
+
+echo OK
diff --git a/qa/workunits/test_telemetry_squid_x.sh b/qa/workunits/test_telemetry_squid_x.sh
new file mode 100755 (executable)
index 0000000..07bd942
--- /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")
+
+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
+
+# Opt out
+ceph telemetry off
+
+echo OK