Ievgeniia Zadorozhna | bed5b40 | 2025-09-04 13:36:16 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | set -euo pipefail |
| 4 | . "$(dirname "$0")/functions.sh" |
| 5 | cd /artifacts |
| 6 | . env.sh |
| 7 | . envs/mgmtrc |
| 8 | . /opt/cfg-checker/.checkervenv/bin/activate |
| 9 | |
| 10 | if [[ $# -lt 1 ]]; then |
| 11 | echo -e "\nError: No cluster name provided." |
| 12 | echo "Usage: $0 <cluster-name>" && echo "" |
| 13 | exit 1 |
| 14 | fi |
| 15 | |
| 16 | CLUSTER_NAME="$1" |
| 17 | if ! check_cluster_deployment_exists "$CLUSTER_NAME"; then |
| 18 | exit 1 |
| 19 | fi |
| 20 | |
| 21 | |
| 22 | KUBECONFIG_PATH="$MY_PROJFOLDER/envs/kubeconfigs/${CLUSTER_NAME}-kubeconfig.yaml" |
| 23 | CHECKER_ENV_PATH="$MY_PROJFOLDER/envs/checkers/${CLUSTER_NAME}-checker.env" |
| 24 | check_file_exists "$KUBECONFIG_PATH" "kubeconfig file" || exit 1 |
| 25 | check_file_exists "$CHECKER_ENV_PATH" "checker.env file" || exit 1 |
| 26 | echo -e "Cluster configuration files found\n" |
| 27 | |
| 28 | |
| 29 | fname="/artifacts/reports/$MY_CLIENTSHORTNAME-${CLUSTER_NAME}-networks-ping-$(get_timestamp)" |
| 30 | nets=$(mos-checker --env-name $MY_CLIENTSHORTNAME-child --env-config $CHECKER_ENV_PATH --kube-config $KUBECONFIG_PATH network list 2>&1 | grep -A20 "# Runtime networks list" | grep "\:" | grep -v 'o-hm0' | awk '{print $1}') |
| 31 | nets=$(echo "$nets" | tr ' ' '\n' | grep -v '/32' | grep -v '10.99.') |
| 32 | |
| 33 | echo "The following CIRDs will be pinged:" |
| 34 | printf "%s\n\n" "$nets" |
| 35 | |
| 36 | cidr_options="" |
| 37 | for net in $nets; do |
| 38 | cidr_options+="--cidr $net " # Append each network to the list |
| 39 | done |
| 40 | |
| 41 | summary=$(mos-checker --env-name $MY_CLIENTSHORTNAME-child --env-config $CHECKER_ENV_PATH --kube-config $KUBECONFIG_PATH network ping --detailed $cidr_options 2>&1 | awk '/Summary/ {flag=1} flag') |
| 42 | |
| 43 | |
| 44 | printf "%s\n" "$summary" |
| 45 | printf "%s\n" "$summary" > $fname.txt |
| 46 | |
| 47 | txt2html_net_ping_report $fname.txt $CLUSTER_NAME $fname.html |
| 48 | |
| 49 | echo "" |
| 50 | echo "The raw txt output is saved to $fname.txt" |
| 51 | echo "The HTML report is saved to $fname.html" |
| 52 | deactivate |