blob: b16352115dddb2300b56ae5212a431e736f6871c [file] [log] [blame]
Ievgeniia Zadorozhna45cf52f2025-10-24 18:32:56 +02001#!/bin/bash
2
Ievgeniia Zadorozhna234298e2025-11-24 15:38:42 +01003if [ -z "$MY_PROJFOLDER" ]; then
4 echo "The /artifacts/env.sh script is not sourced. Please do 'source env.sh' before running the Sanity tests"
5 exit 1
6fi
7
Ievgeniia Zadorozhna45cf52f2025-10-24 18:32:56 +02008. "$(dirname "$0")/functions.sh"
9cd $MY_PROJFOLDER/tmp
10source $MY_PROJFOLDER/env.sh
11source $MY_PROJFOLDER/envs/mgmtrc
12source /opt/ksi/.ksivenv/bin/activate
13
14
15if [[ $# -lt 1 ]]; then
16 echo -e "\nError: No cluster name provided."
17 echo "Usage: $0 <cluster-name>"
18 echo ""
19 exit 1
20fi
21
22if [[ $# -lt 2 ]]; then
23 echo -e "\nError: No cluster namespace provided."
24 echo "Usage: $0 <cluster-name> <cluster-namespace>"
25 echo ""
26 exit 1
27fi
28
29TARGET_CLD="$1"
30TARGET_NAMESPACE="$2"
31
32echo ""
33echo "Checking if ClusterDeployment '$TARGET_CLD' exists..."
34if ! kubectl get cld -n $TARGET_NAMESPACE -o name | grep -q "/$TARGET_CLD$"; then
35 echo -e "Error: ClusterDeployment '$TARGET_CLD' not found in '$TARGET_NAMESPACE' namespace"
36 exit 1
37fi
38echo -e "ClusterDeployment '$TARGET_CLD' found in $TARGET_NAMESPACE namespace"
39echo ""
40
41fname="$MY_PROJFOLDER/reports/$MY_CLIENTSHORTNAME-k0rdent-sanity-$TARGET_CLD-$(get_timestamp).html"
42
43# Cleaning up
44echo "# Cleaning up '$MY_PROJFOLDER/tmp/artifacts/'"
45[ -d "$MY_PROJFOLDER/tmp/artifacts/" ] && rm -rf "$MY_PROJFOLDER/tmp/artifacts/"
46[ -f "$MY_PROJFOLDER/tmp/nosetests.xml" ] && rm "$MY_PROJFOLDER/tmp/nosetests.xml"
47mkdir "$MY_PROJFOLDER/tmp/artifacts/"
48
49# recreate the sanity reports dir to have fresh artifacts
50sanity_reports_dir="$MY_PROJFOLDER/reports/sanity"
51if [ -d $sanity_reports_dir ]; then
52 yes | rm $sanity_reports_dir/*
53else
54 mkdir $sanity_reports_dir
55fi
56
57# exporting envs
58export TARGET_NAMESPACE=$TARGET_NAMESPACE
59export TARGET_CLD=$TARGET_CLD
60
61# Run the sanity tests
62pytest -m sanity_targeted \
63 -p pytest_subtests \
64 -v \
65 --tb=short \
66 --color=yes \
67 -p no:warnings \
68 -p no:sugar \
69 --junitxml=$sanity_reports_dir/sanity-checks-results-$TARGET_CLD.xml \
70 --html=$sanity_reports_dir/sanity-checks-results-$TARGET_CLD.html \
71 --self-contained-html \
72 -r s /opt/ksi/test_sanity_checks.py
73
74if [ "$(ls -A "$MY_PROJFOLDER/tmp/artifacts" 2>/dev/null)" ]; then
75 cp "$MY_PROJFOLDER/tmp/artifacts/"* "$sanity_reports_dir"
76fi
77
78cp $sanity_reports_dir/sanity-checks-results-$TARGET_CLD.html ${fname}
79update_latest_report_to "${fname}"
80
Ievgeniia Zadorozhna234298e2025-11-24 15:38:42 +010081echo "The test report can be found at ${fname}"
82
Ievgeniia Zadorozhna45cf52f2025-10-24 18:32:56 +020083deactivate