blob: e467f910616a0e3ed884b21771d5a7d0167b7095 [file] [log] [blame]
Alexa0053b92022-10-14 16:38:28 -05001#!/bin/bash
Ievgeniia Zadorozhna7bc54052024-02-20 00:15:35 +01002echo "Sourcing $MY_PROJFOLDER/env.sh"
3. $MY_PROJFOLDER/env.sh
Alexa0053b92022-10-14 16:38:28 -05004if [ -z ${TEMPEST_CUSTOM_PUBLIC_NET+x} ]; then
Ievgeniia Zadorozhna7bc54052024-02-20 00:15:35 +01005 echo "# WARNING: Public network is empty, please export its name to TEMPEST_CUSTOM_PUBLIC_NET environment variable to use some specific external net in case of several networks. Otherwise random external network will be used."
Alexa0053b92022-10-14 16:38:28 -05006fi
7# mosrc
8. $MY_PROJFOLDER/envs/mosrc
9
Ievgeniia Zadorozhna76d639c2025-03-24 22:47:55 +010010# local vars
11raw_disk_format=false
12
13function show_help {
14 printf "QA verification: Resources creation script\n\t-h, -?\t\tShow this help\n"
15 printf "\t-r\t\tTo create the images in RAW disk format instead of the QCOW2\n"
16}
17
18OPTIND=1 # Reset in case getopts has been used previously in the shell.
19while getopts "rh?" opt; do
20 case "$opt" in
21 h|\?)
22 show_help
23 exit 0
24 ;;
25 r) raw_disk_format=true
26 printf "# Creating the images in RAW disk format instead of the QCOW2\n"
27 ;;
28 esac
29done
30
Alexa0053b92022-10-14 16:38:28 -050031##
32echo "### Checking openstack resources"
33status=$(kubectl -n qa-space get pod | grep toolset | tr -s " " | cut -d' ' -f3)
34if [ ${status} != "Running" ]; then
35 echo "# 'toolset' container is not Running"
36 exit 1
37fi
38if [ ! -z $(kubectl exec toolset --stdin -n qa-space -- bash -c "openstack user show cvp.admin -c id -f value") ]; then
39 echo "# Resources already created"
40 echo " "
41 kubectl exec toolset --stdin -n qa-space -- bash -c "cat /artifacts/cmp-check/cvp.manifest"
42else
Ievgeniia Zadorozhna7bc54052024-02-20 00:15:35 +010043 echo "# Creating openstack resources"
Alexa0053b92022-10-14 16:38:28 -050044 echo " "
45 kubectl exec toolset --stdin -n qa-space -- bash -c "mkdir /artifacts/cmp-check"
Ievgeniia Zadorozhna76d639c2025-03-24 22:47:55 +010046 if [ "$raw_disk_format" = true ]; then
47 kubectl exec toolset --tty --stdin -n qa-space -- bash -c "cd /artifacts/cmp-check; export CUSTOM_PUBLIC_NET_NAME="${TEMPEST_CUSTOM_PUBLIC_NET:-}"; bash /opt/cmp-check/prepare.sh -r -w \$(pwd)"
48 else
49 kubectl exec toolset --tty --stdin -n qa-space -- bash -c "cd /artifacts/cmp-check; export CUSTOM_PUBLIC_NET_NAME="${TEMPEST_CUSTOM_PUBLIC_NET:-}"; bash /opt/cmp-check/prepare.sh -w \$(pwd)"
50 fi
Alexa0053b92022-10-14 16:38:28 -050051fi
52
53#
54echo " "
55echo "# Filling tempest_custom.yaml"
Ievgeniia Zadorozhnadd2a1252024-01-24 23:42:42 +010056# TODO: set the correct availability_zone in case nova is not used (now nova is default option)
Alexa0053b92022-10-14 16:38:28 -050057cp -v /opt/res-files/k8s/yamls/tempest_custom.yaml.clean $MY_PROJFOLDER/yamls/tempest_custom.yaml
58declare $(kubectl exec toolset --stdin -n qa-space -- bash -c "cat /artifacts/cmp-check/cvp.manifest")
59echo "# Getting network details"
60netid=$(kubectl exec toolset --stdin -n qa-space -- openstack network show ${TEMPEST_CUSTOM_PUBLIC_NET} -c id -f value)
Alexc85212b2022-11-08 12:27:01 -060061subnetid=$(kubectl exec toolset --stdin -n qa-space -- openstack subnet list -f value | grep ${netid} | cut -d' ' -f1)
Ievgeniia Zadorozhna7bc54052024-02-20 00:15:35 +010062#echo "# image_ref_name -> ${cirros61_name}"
63#sed -i "s/image_ref_name/${cirros61_name}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
64#echo "# image_ref_uuid -> ${cirros61_id}"
65#sed -i "s/image_ref_uuid/${cirros61_id}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
66#echo "# image_ref_alt_uuid -> ${cirros62_id}"
67#sed -i "s/image_ref_alt_uuid/${cirros62_id}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
Alexa0053b92022-10-14 16:38:28 -050068echo "# s/public_subnet_uuid/ -> ${subnetid}"
69sed -i "s/public_subnet_uuid/${subnetid}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
70echo "# s/public_net_uuid/ -> ${netid}"
71sed -i "s/public_net_uuid/${netid}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
72echo "# s/public_net_name/ -> ${TEMPEST_CUSTOM_PUBLIC_NET}"
73sed -i "s/public_net_name/${TEMPEST_CUSTOM_PUBLIC_NET}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
Alex35945732023-04-07 10:03:59 -050074echo "# s/volume_type_name/ -> ${TEMPEST_CUSTOM_VOLUME_TYPE}"
75sed -i "s/volume_type_name/${TEMPEST_CUSTOM_VOLUME_TYPE}/g" $MY_PROJFOLDER/yamls/tempest_custom.yaml
Alex2c8b8802022-10-20 14:07:15 -050076echo " "
Alexa0053b92022-10-14 16:38:28 -050077
Ievgeniia Zadorozhnae83b9612024-12-24 16:02:23 +010078echo "# Checking Neutron global physnet mtu value"
79global_physnet_mtu=""
80global_physnet_mtu=$(kubectl get osdpl -A -o wide -o yaml | grep global_physnet_mtu | tail -n1 | cut -d':' -f2 | tr -d ' ')
81if [ -n "$global_physnet_mtu" ]; then
82 echo "global_physnet_mtu is set to: $global_physnet_mtu"
Ievgeniia Zadorozhnad0bdd062025-01-23 13:50:41 +010083 echo "" >> $MY_PROJFOLDER/yamls/tempest_custom.yaml
Ievgeniia Zadorozhnae83b9612024-12-24 16:02:23 +010084 cat <<EOF >> $MY_PROJFOLDER/yamls/tempest_custom.yaml
85neutron_plugin_options:
86 max_mtu: $global_physnet_mtu
87EOF
88fi
89
Alex2c8b8802022-10-20 14:07:15 -050090echo "# Updating SPT global_config.yaml"
91cp -v /opt/res-files/k8s/yamls/spt_global_config.yaml.clean $MY_PROJFOLDER/yamls/global_config.yaml
Alexc85212b2022-11-08 12:27:01 -060092echo "# image_ref_name -> ${ubuntu20_name}"
93sed -i "s/image_ref_name/${ubuntu20_name}/g" $MY_PROJFOLDER/yamls/global_config.yaml
Alex2c8b8802022-10-20 14:07:15 -050094echo "# s/public-network-name/ -> ${TEMPEST_CUSTOM_PUBLIC_NET}"
95sed -i "s/public-network-name/${TEMPEST_CUSTOM_PUBLIC_NET}/g" $MY_PROJFOLDER/yamls/global_config.yaml
Alexa0053b92022-10-14 16:38:28 -050096#
97echo "# Done!"