blob: 92de28cc6f731aeb1809492f5f10cc4b4bf69b90 [file] [log] [blame]
Alexe67127e2022-10-03 14:42:30 -05001### initial folders
2function ewriteln() {
3 echo ${1} | tee -a $MY_PROJFOLDER/env.sh
4}
5
6export MY_PROJFOLDER=/artifacts
7echo "# Using folder '$MY_PROJFOLDER'"
8cd $MY_PROJFOLDER
9[ -f envs ] && mkdir envs
10[ -f yamls ] && mkdir yamls
11[ -f reports ] && mkdir reports
12[ -f tmp ] && mkdir tmp
13
14# move mcc konfig to default place
15if [ -f $MY_PROJFOLDER/mcc-kubeconfig.yaml ]; then
16 mv $MY_PROJFOLDER/mcc-kubeconfig.yaml $MY_PROJFOLDER/envs/mcc-kubeconfig.yaml
17fi
18if [ ! -f $MY_PROJFOLDER/envs/mcc-kubeconfig.yaml ]; then
19 echo "ERROR: MCC kubeconfig not found either at '$MY_PROJFOLDER/mcc-kubeconfig.yaml' or '$MY_PROJFOLDER/envs/mcc-kubeconfig.yaml'"
20fi
21echo " "
22
23### prepare needed variables
24echo "# Updating '$MY_PROJFOLDER/env.sh'"
Alexf7f0a152022-10-10 16:17:32 -050025
Alexe67127e2022-10-03 14:42:30 -050026export KUBECONFIG=$MY_PROJFOLDER/envs/mcc-kubeconfig.yaml
27if [ ! -f $MY_PROJFOLDER/env.sh ]; then
28 touch $MY_PROJFOLDER/env.sh
29else
30 truncate -s 0 $MY_PROJFOLDER/env.sh
31 echo "$MY_PROJFOLDER/env.sh has been truncated"
32fi
Alexf7f0a152022-10-10 16:17:32 -050033ewriteln "export MY_CLIENTNAME='ClientName'"
34ewriteln "export MY_CLIENTSHORTNAME='clname'"
35ewriteln "export MY_PROJNAME='MOS_DEPLOY'"
Alexe67127e2022-10-03 14:42:30 -050036ewriteln "export MY_PROJFOLDER=/artifacts"
Alexf7f0a152022-10-10 16:17:32 -050037
Alexe67127e2022-10-03 14:42:30 -050038# NS & CLUSTER
39cls=$(kubectl get cluster -A --no-headers | grep -v default)
40declare nn=()
41tifs=$IFS
42IFS=" "
Alexf7f0a152022-10-10 16:17:32 -050043echo $cls | cut -d" " -f1-2 | while read -r -a nn;
44do
Alexe67127e2022-10-03 14:42:30 -050045 ewriteln "export MOS_NS=$(echo ${nn[0]})"
46 ewriteln "export MOS_CLUSTER=$(echo ${nn[1]})"
47done
48IFS=$tifs
49ewriteln "export MOS_SC=kubernetes-nvme"
50ewriteln "export OSH_DEPLOYMENT_NAME='avt-openstack'"
51ewriteln "export SI_BINARIES_DIR=$(which helm | rev | cut -d'/' -f2- | rev)"
52ewriteln "export HELM_BINARY_PATH=$(which helm)"
53ewriteln "export TEMPEST_CUSTOM_PUBLIC_NET=public"
54ewriteln "export TEMPEST_CUSTOM_IMAGE=cvp.cirros.51"
55ewriteln "export TEMPEST_CUSTOM_IMAGE_ALT=cvp.cirros.52"
Alexe67127e2022-10-03 14:42:30 -050056
57# extract MOS kubeconfig
58echo " "
59echo "Extracting mos-kubeconfig.yaml"
60if [[ ! -z ${MOS_CLUSTER+x} ]]; then
61 kubectl --kubeconfig $MY_PROJFOLDER/envs/mcc-kubeconfig.yaml -n ${MOS_NS} get secrets ${MOS_CLUSTER}-kubeconfig -o jsonpath='{.data.admin\.conf}' | base64 -d | sed 's/:5443/:443/g' | tee $MY_PROJFOLDER/envs/mos-kubeconfig.yaml
62else
63 echo "MOS_CLUSTER variable empty/invalid: '$MOS_CLUSTER'"
64fi
65
66# generate additional files
67echo "Preparing additional files"
68# copy files
69cp -v /opt/res-files/k8s/workspace/* $MY_PROJFOLDER/envs/
Alexf7f0a152022-10-10 16:17:32 -050070mkdir $MY_PROJFOLDER/scripts
71mv $MY_PROJFOLDER/envs/*.sh $MY_PROJFOLDER/scripts/
72# update IP Addresses
73mccip=$(cat $MY_PROJFOLDER/envs/mcc-kubeconfig.yaml | grep server | cut -d':' -f3 | cut -d'/' -f3)
74echo "-> MCC Server IP is: ${mccip}"
75sed -i "s/ip_address/$mccip/g" $MY_PROJFOLDER/envs/mcc-checker.env
76
77if [ -f $MY_PROJFOLDER/envs/mos-kubeconfig.yaml ]; then
78 mosip=$(cat $MY_PROJFOLDER/envs/mos-kubeconfig.yaml | grep server | cut -d':' -f3 | cut -d'/' -f3)
79 echo "-> MOS Server IP is: ${mosip}"
80 sed -i "s/ip_address/$mosip/g" $MY_PROJFOLDER/envs/mos-checker.env
81 #prepare tempest custom yaml
82 cp /opt/res-files/k8s/yamls/tempest_custom.yaml.clean $MY_PROJFOLDER/yamls/tempest_custom.yaml
83 ewriteln 'export TEMPEST_CUSTOM_PARAMETERS=$(cat $MY_PROJFOLDER/yamls/tempest_custom.yaml)'
84fi
Alexe67127e2022-10-03 14:42:30 -050085
86# end
87echo " "
88echo "# Done!"