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