Ievgeniia Zadorozhna | bed5b40 | 2025-09-04 13:36:16 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | set -euo pipefail |
| 4 | |
| 5 | . "$(dirname "$0")/functions.sh" |
| 6 | cd /artifacts |
| 7 | . env.sh |
| 8 | . envs/mgmtrc |
| 9 | . /opt/cfg-checker/.checkervenv/bin/activate |
| 10 | |
| 11 | if [[ $# -lt 1 ]]; then |
| 12 | echo -e "\nError: No cluster name provided." |
| 13 | echo "Usage: $0 <cluster-name>" |
| 14 | echo "" |
| 15 | exit 1 |
| 16 | fi |
| 17 | |
| 18 | CLUSTER_NAME="$1" |
| 19 | |
| 20 | echo "" |
| 21 | echo "Checking if ClusterDeployment '$CLUSTER_NAME' exists..." |
| 22 | |
| 23 | if ! kubectl get cld -A -o name | grep -q "/$CLUSTER_NAME$"; then |
| 24 | echo -e "Error: ClusterDeployment '$CLUSTER_NAME' not found in any namespace" |
| 25 | exit 1 |
| 26 | fi |
| 27 | |
| 28 | echo -e "ClusterDeployment '$CLUSTER_NAME' found" |
| 29 | |
| 30 | KUBECONFIG_PATH="$MY_PROJFOLDER/envs/kubeconfigs/${CLUSTER_NAME}-kubeconfig.yaml" |
| 31 | CHECKER_ENV_PATH="$MY_PROJFOLDER/envs/checkers/${CLUSTER_NAME}-checker.env" |
| 32 | |
| 33 | if [[ ! -f "$KUBECONFIG_PATH" ]]; then |
| 34 | echo -e "Error: kubeconfig file not found at $KUBECONFIG_PATH" |
| 35 | exit 1 |
| 36 | fi |
| 37 | |
| 38 | if [[ ! -f "$CHECKER_ENV_PATH" ]]; then |
| 39 | echo -e "Error: checker.env file not found at $CHECKER_ENV_PATH" |
| 40 | exit 1 |
| 41 | fi |
| 42 | |
| 43 | echo -e "Cluster configuration files found\n" |
| 44 | |
| 45 | fname="/artifacts/reports/$MY_CLIENTSHORTNAME-${CLUSTER_NAME}-networks-$(get_timestamp).html" |
| 46 | |
| 47 | mos-checker --env-name $MY_CLIENTSHORTNAME-child --env-config $CHECKER_ENV_PATH --kube-config $KUBECONFIG_PATH network check |
| 48 | mos-checker --env-name $MY_CLIENTSHORTNAME-child --env-config $CHECKER_ENV_PATH --kube-config $KUBECONFIG_PATH network report --html "${fname}" |
| 49 | |
| 50 | update_latest_report_to "${fname}" |
| 51 | deactivate |