Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 1 | ### initial folders |
| 2 | function ewriteln() { |
| 3 | echo ${1} | tee -a $MY_PROJFOLDER/env.sh |
| 4 | } |
| 5 | |
| 6 | export MY_PROJFOLDER=/artifacts |
| 7 | echo "# Using folder '$MY_PROJFOLDER'" |
| 8 | cd $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 |
| 15 | if [ -f $MY_PROJFOLDER/mcc-kubeconfig.yaml ]; then |
| 16 | mv $MY_PROJFOLDER/mcc-kubeconfig.yaml $MY_PROJFOLDER/envs/mcc-kubeconfig.yaml |
| 17 | fi |
| 18 | if [ ! -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'" |
| 20 | fi |
| 21 | echo " " |
| 22 | |
| 23 | ### prepare needed variables |
| 24 | echo "# Updating '$MY_PROJFOLDER/env.sh'" |
Alex | f7f0a15 | 2022-10-10 16:17:32 -0500 | [diff] [blame^] | 25 | |
Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 26 | export KUBECONFIG=$MY_PROJFOLDER/envs/mcc-kubeconfig.yaml |
| 27 | if [ ! -f $MY_PROJFOLDER/env.sh ]; then |
| 28 | touch $MY_PROJFOLDER/env.sh |
| 29 | else |
| 30 | truncate -s 0 $MY_PROJFOLDER/env.sh |
| 31 | echo "$MY_PROJFOLDER/env.sh has been truncated" |
| 32 | fi |
Alex | f7f0a15 | 2022-10-10 16:17:32 -0500 | [diff] [blame^] | 33 | ewriteln "export MY_CLIENTNAME='ClientName'" |
| 34 | ewriteln "export MY_CLIENTSHORTNAME='clname'" |
| 35 | ewriteln "export MY_PROJNAME='MOS_DEPLOY'" |
Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 36 | ewriteln "export MY_PROJFOLDER=/artifacts" |
Alex | f7f0a15 | 2022-10-10 16:17:32 -0500 | [diff] [blame^] | 37 | |
Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 38 | # NS & CLUSTER |
| 39 | cls=$(kubectl get cluster -A --no-headers | grep -v default) |
| 40 | declare nn=() |
| 41 | tifs=$IFS |
| 42 | IFS=" " |
Alex | f7f0a15 | 2022-10-10 16:17:32 -0500 | [diff] [blame^] | 43 | echo $cls | cut -d" " -f1-2 | while read -r -a nn; |
| 44 | do |
Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 45 | ewriteln "export MOS_NS=$(echo ${nn[0]})" |
| 46 | ewriteln "export MOS_CLUSTER=$(echo ${nn[1]})" |
| 47 | done |
| 48 | IFS=$tifs |
| 49 | ewriteln "export MOS_SC=kubernetes-nvme" |
| 50 | ewriteln "export OSH_DEPLOYMENT_NAME='avt-openstack'" |
| 51 | ewriteln "export SI_BINARIES_DIR=$(which helm | rev | cut -d'/' -f2- | rev)" |
| 52 | ewriteln "export HELM_BINARY_PATH=$(which helm)" |
| 53 | ewriteln "export TEMPEST_CUSTOM_PUBLIC_NET=public" |
| 54 | ewriteln "export TEMPEST_CUSTOM_IMAGE=cvp.cirros.51" |
| 55 | ewriteln "export TEMPEST_CUSTOM_IMAGE_ALT=cvp.cirros.52" |
Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 56 | |
| 57 | # extract MOS kubeconfig |
| 58 | echo " " |
| 59 | echo "Extracting mos-kubeconfig.yaml" |
| 60 | if [[ ! -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 |
| 62 | else |
| 63 | echo "MOS_CLUSTER variable empty/invalid: '$MOS_CLUSTER'" |
| 64 | fi |
| 65 | |
| 66 | # generate additional files |
| 67 | echo "Preparing additional files" |
| 68 | # copy files |
| 69 | cp -v /opt/res-files/k8s/workspace/* $MY_PROJFOLDER/envs/ |
Alex | f7f0a15 | 2022-10-10 16:17:32 -0500 | [diff] [blame^] | 70 | mkdir $MY_PROJFOLDER/scripts |
| 71 | mv $MY_PROJFOLDER/envs/*.sh $MY_PROJFOLDER/scripts/ |
| 72 | # update IP Addresses |
| 73 | mccip=$(cat $MY_PROJFOLDER/envs/mcc-kubeconfig.yaml | grep server | cut -d':' -f3 | cut -d'/' -f3) |
| 74 | echo "-> MCC Server IP is: ${mccip}" |
| 75 | sed -i "s/ip_address/$mccip/g" $MY_PROJFOLDER/envs/mcc-checker.env |
| 76 | |
| 77 | if [ -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)' |
| 84 | fi |
Alex | e67127e | 2022-10-03 14:42:30 -0500 | [diff] [blame] | 85 | |
| 86 | # end |
| 87 | echo " " |
| 88 | echo "# Done!" |