From: Laura Flores Date: Fri, 6 Dec 2024 17:51:25 +0000 (-0600) Subject: qa/suites/upgrade/telemetry-upgrade: replace quincy tests with squid tests X-Git-Tag: v20.0.0~347^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=cdb2bd5351d0e79e274e1b1bcb67171fbecabacf;p=ceph.git qa/suites/upgrade/telemetry-upgrade: replace quincy tests with squid tests 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 --- diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/% b/qa/suites/upgrade/telemetry-upgrade/quincy-x/% deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa b/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa deleted file mode 120000 index a23f7e045836b..0000000000000 --- a/qa/suites/upgrade/telemetry-upgrade/quincy-x/.qa +++ /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 index 66187855738ef..0000000000000 --- a/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-random-distro$ +++ /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 index 3814ea3efdb50..0000000000000 --- a/qa/suites/upgrade/telemetry-upgrade/quincy-x/0-start.yaml +++ /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 index cefaee6963928..0000000000000 --- a/qa/suites/upgrade/telemetry-upgrade/quincy-x/1-tasks.yaml +++ /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 index 0000000000000..e69de29bb2d1d diff --git a/qa/suites/upgrade/telemetry-upgrade/squid-x/.qa b/qa/suites/upgrade/telemetry-upgrade/squid-x/.qa new file mode 120000 index 0000000000000..a23f7e045836b --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/squid-x/.qa @@ -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 index 0000000000000..66187855738ef --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/squid-x/0-random-distro$ @@ -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 index 0000000000000..3814ea3efdb50 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/squid-x/0-start.yaml @@ -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 index 0000000000000..02201b67523a3 --- /dev/null +++ b/qa/suites/upgrade/telemetry-upgrade/squid-x/1-tasks.yaml @@ -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 index 0000000000000..ace240a944ec0 --- /dev/null +++ b/qa/workunits/test_telemetry_squid.sh @@ -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 index 0000000000000..07bd942b91457 --- /dev/null +++ b/qa/workunits/test_telemetry_squid_x.sh @@ -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