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