ceph/qa/workunits/test_telemetry_pacific_x.sh
Laura Flores 833dffa680 qa/workunits: give telemetry opt-in check more time
Previously, we only allotted 2 seconds for the telemetry
opt-in status to disappear. However, it sometimes takes longer
than this for the ceph status to update.

Here, we give the status up to 60 seconds to update.

Fixes: https://tracker.ceph.com/issues/58545
Signed-off-by: Laura Flores <lflores@redhat.com>
2023-01-23 16:51:25 -06:00

60 lines
1.3 KiB
Bash
Executable File

#!/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