blob: 8a1cc71af3d0beab4cd2eb5063f897913b248d80 [file] [log] [blame]
Ievgeniia Zadorozhna3d761862024-10-01 19:28:04 +02001#!/bin/bash
2
pkazlenka4690e832024-10-24 13:28:37 +02003. "$(dirname "$0")/functions.sh"
Ievgeniia Zadorozhna3d761862024-10-01 19:28:04 +02004tenv=mos
5. /opt/si-tests/.sivenv/bin/activate
6cd $MY_PROJFOLDER/tmp
7. $MY_PROJFOLDER/env.sh
8. $MY_PROJFOLDER/envs/mccrc
9
10if [ -z "$WRITER_PASSWORD" ]; then
11 echo -e "\nWRITER_PASSWORD is not exported or is empty.\nPlease export WRITER_PASSWORD or edit the /artifacts/env.sh file to set the writer keycloak user password in WRITER_PASSWORD\nExiting...\n"
12 exit 1
13fi
14
15# Configuring the env variables
16echo "# Configuring env variables"
17unset TARGET_CLUSTER
18unset TARGET_NAMESPACE
19unset ENV_NAME
20export TARGET_NAMESPACE=${MOS_NS}
21export TARGET_CLUSTER=${MOS_CLUSTER}
22export COMPONENT_TEST_RUN_ON_TARGET_CLUSTER=True
23export ENV_NAME=${MOS_CLUSTER}
24
25public_domain_name=$(kubectl --kubeconfig $MY_PROJFOLDER/envs/mos-kubeconfig.yaml -n openstack get osdpl -o jsonpath='{.items[0].spec.public_domain_name}')
26export OS_KEYSTONE_URL="https://keystone.${public_domain_name}/v3"
27export SL_TESTS_OS_KEYSTONE_URL=$OS_KEYSTONE_URL
28export OS_DOMAIN_NAME=$public_domain_name
29export SL_TESTS_OS_DOMAIN_NAME=$public_domain_name
30
31si_config_file="$MY_PROJFOLDER/envs/si-config.yaml"
32if [ ! -f "$si_config_file" ]; then
33 echo -e "\nFile '$si_config_file' does not exist, creating it..."
34 touch "$si_config_file"
35else
36 echo "File '$si_config_file' already exists."
37fi
38cat <<EOF > "$si_config_file"
39keycloak_users:
40 writer: $WRITER_PASSWORD
41EOF
42export SI_CONFIG=$MY_PROJFOLDER/envs/si-config.yaml
43export SI_CONFIG_PATH=$SI_CONFIG
44cat $SI_CONFIG
45
46if [ -z "$KEYCLOAK_URL" ]; then
47 echo "KEYCLOAK_URL is not exported in the environment variables, getting it from:"
48 echo "kubectl get cluster kaas-mgmt -o jsonpath='{.status.providerStatus.helm.releases.iam.keycloak.url}'"
49 KEYCLOAK_URL=$(kubectl get cluster kaas-mgmt -o jsonpath='{.status.providerStatus.helm.releases.iam.keycloak.url}')
50else
51 echo "KEYCLOAK_URL is manually set to $KEYCLOAK_URL"
52fi
53export KEYCLOAK_URL=$KEYCLOAK_URL
54
55# Cleaning up
56echo "# Cleaning up '/artifacts/tmp/artifacts/'"
57[ -d "/artifacts/tmp/artifacts/" ] && rm -rf "/artifacts/tmp/artifacts/"
58[ -f "/artifacts/tmp/nosetests.xml" ] && rm "/artifacts/tmp/nosetests.xml"
59mkdir "/artifacts/tmp/artifacts/"
60
61# Show the exported envs
62echo "# Exported envs"
63env | grep TARGET
64env | grep BIN
65env | grep KUBE
66env | grep K8S | grep -v CONFORMANCE
67env | grep SI_CONFIG
68env | grep KEYCLOAK
69env | grep OS_
70env | grep SL_TESTS
71env | grep COMPONENT_TEST_RUN_ON_TARGET_CLUSTER
72
73# Run tests
74echo "# Running the tests"
75pytest -vv /opt/si-tests/si_tests/tests/deployment/test_sl_test.py
76deactivate
77
78# Report
79if [ -d $MY_PROJFOLDER/reports/${tenv}-stacklight ]; then
80 echo "# Generating repors"
81 yes | rm $MY_PROJFOLDER/reports/${tenv}-stacklight/*
82else
83 mkdir $MY_PROJFOLDER/reports/${tenv}-stacklight
84fi
85cp ./artifacts/*.xml $MY_PROJFOLDER/reports/${tenv}-stacklight/
86cd $MY_PROJFOLDER/reports/
pkazlenka4690e832024-10-24 13:28:37 +020087fname="$MY_CLIENTSHORTNAME-${tenv}-stacklight-$(get_timestamp).html"
88tparser -f r_xml -d -r "${fname}" $MY_PROJFOLDER/reports/${tenv}-stacklight/
89update_latest_report_to "$MY_PROJFOLDER/reports/${fname}"
Ievgeniia Zadorozhna3d761862024-10-01 19:28:04 +020090cd $MY_PROJFOLDER