]> git.proxmox.com Git - ceph.git/blobdiff - ceph/qa/workunits/test_telemetry_pacific_x.sh
update ceph source to reef 18.1.2
[ceph.git] / ceph / qa / workunits / test_telemetry_pacific_x.sh
diff --git a/ceph/qa/workunits/test_telemetry_pacific_x.sh b/ceph/qa/workunits/test_telemetry_pacific_x.sh
new file mode 100755 (executable)
index 0000000..0e4a832
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash -ex
+
+# Assert that we're still opted in
+LAST_OPT_REVISION=$(ceph config get mgr mgr/telemetry/last_opt_revision)
+if [ $LAST_OPT_REVISION -ne 3 ]; then
+    echo "last_opt_revision is incorrect"
+    exit 1
+fi
+
+# Check the warning:
+STATUS=$(ceph -s)
+if ! [[ $STATUS == *"Telemetry requires re-opt-in"* ]]
+then
+    echo "STATUS does not contain re-opt-in warning"
+    exit 1
+fi
+
+# Check new collections
+COLLECTIONS=$(ceph telemetry collection ls)
+NEW_COLLECTIONS=("perf_perf" "basic_mds_metadata" "basic_pool_usage" "basic_rook_v01" "perf_memory_metrics")
+for col in ${NEW_COLLECTIONS[@]}; do
+    if ! [[ $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
+
+# Opt in to new collections
+ceph telemetry on --license sharing-1-0
+ceph telemetry enable channel perf
+
+# Check the warning:
+timeout=60
+STATUS=$(ceph -s)
+until [[ $STATUS != *"Telemetry requires re-opt-in"* ]] || [ $timeout -le 0 ]; do
+    STATUS=$(ceph -s)
+    sleep 1
+    timeout=$(( timeout - 1 ))
+done
+if [ $timeout -le 0 ]; then
+    echo "STATUS should not contain re-opt-in warning at this point"
+    exit 1
+fi
+
+# Run show commands
+ceph telemetry show
+ceph telemetry show-device
+ceph telemetry show
+
+# Opt out
+ceph telemetry off
+
+echo OK