summaryrefslogtreecommitdiffstats
path: root/qa/workunits/test_telemetry_pacific_x.sh
blob: 0e4a832db64f6785cb9590625586730d5d8c335f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
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