Fixed prepare.sh and other small fixes
List of fixes:
- Use -g option to set ext gw info for heat-router in prepare.sh
- Fixed -H option in prepare.sh
- Fixed default working directory in prepare.sh
- Use admin_username from env vars in prepare.sh
- Set additional quotas for cvp.project
- Use mirantis busybox image from mirantis registry
- Fixed FIXED_NET variable in rally templates
Related-PROD: PROD-37187
Change-Id: I3d3ea6a520cf1677aabfa356bc40c19ae04822b4
diff --git a/k8s/rally-files/k8s-mos-scn-i1.yaml b/k8s/rally-files/k8s-mos-scn-i1.yaml
index efe3252..1394958 100644
--- a/k8s/rally-files/k8s-mos-scn-i1.yaml
+++ b/k8s/rally-files/k8s-mos-scn-i1.yaml
@@ -1,4 +1,4 @@
-{% set image_box = "busybox" %}
+{% set image_box = "mirantis.azurecr.io/general/external/e2e-test-images/registry.k8s.io/e2e-test-images/busybox:1.29-4" %}
{% set image_pause = "mirantis.azurecr.io/general/external/pause:3.1" %}
{% set image_cirros = "virtlet/download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img" %}
{% set concurrency = 1 %}
diff --git a/k8s/rally-files/k8s-mos-scn-i100c5.yaml b/k8s/rally-files/k8s-mos-scn-i100c5.yaml
index c4ad19c..57ac0ba 100644
--- a/k8s/rally-files/k8s-mos-scn-i100c5.yaml
+++ b/k8s/rally-files/k8s-mos-scn-i100c5.yaml
@@ -1,5 +1,4 @@
-{% set image_box ="127.0.0.1:44301/stacklight/busybox:1.30" %}
-{% set image_box = "busybox" %}
+{% set image_box ="mirantis.azurecr.io/general/external/e2e-test-images/registry.k8s.io/e2e-test-images/busybox:1.29-4" %}
{% set image_pause = "mirantis.azurecr.io/general/external/pause:3.1" %}
{% set image_cirros = "virtlet/download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img" %}
{% set concurrency = 5 %}
diff --git a/k8s/rally-files/openstack-mos-scn-i1-static-users.json b/k8s/rally-files/openstack-mos-scn-i1-static-users.json
index 23748c1..200bcd8 100644
--- a/k8s/rally-files/openstack-mos-scn-i1-static-users.json
+++ b/k8s/rally-files/openstack-mos-scn-i1-static-users.json
@@ -8,7 +8,7 @@
{% set tenants = 1 %}
{% set rbd_image = "https://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img" %}
{% set heat_template = "/rally/rally-files/default.yaml.template" %}
-{% set fixed_net = "id" %}
+{% set fixed_net = "${FIXED_NET}" %}
{
"KeystoneBasic.authenticate_user_and_validate_token": [
diff --git a/k8s/rally-files/openstack-mos-scn-i100-static-users.json b/k8s/rally-files/openstack-mos-scn-i100-static-users.json
index be45eb8..e0dcadb 100644
--- a/k8s/rally-files/openstack-mos-scn-i100-static-users.json
+++ b/k8s/rally-files/openstack-mos-scn-i100-static-users.json
@@ -8,7 +8,7 @@
{% set tenants = 4 %}
{% set rbd_image = "https://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img" %}
{% set heat_template = "/rally/rally-files/default.yaml.template" %}
-{% set fixed_net = "id" %}
+{% set fixed_net = "${FIXED_NET}" %}
{
"KeystoneBasic.authenticate_user_and_validate_token": [
diff --git a/scripts/prepare.sh b/scripts/prepare.sh
index 1640dd3..0a04eec 100644
--- a/scripts/prepare.sh
+++ b/scripts/prepare.sh
@@ -9,7 +9,12 @@
filename=${name_prefix}.manifest
rcfile=${name_prefix}rc
huge_pages=false
+set_gw_heat_router=false
logfile=prepare.log
+working_folder=$(pwd)
+
+# Cloud admin details
+admin_username=${OS_USERNAME}
# Project, User, Roles
project=${name_prefix}.project
@@ -57,13 +62,14 @@
volume=${name_prefix}.volume
function show_help {
- printf "CVP Pipeline: Resource creation script\n\t-h, -?\t\tShow this help\n"
+ printf "QA verification: Resources creation script\n\t-h, -?\t\tShow this help\n"
printf "\t-H\t\tAdds '--property hw:mem_page_size=large' to flavors, i.e. huge_pages for DPDK\n"
- printf "\t-w <path>\tSets working folder"
+ printf "\t-w <path>\tSets working folder (default: ${working_folder})\n"
+ printf "\t-g\t\tTo set external_gateway_info to heat-router with the external network (if not set yet)\n"
}
OPTIND=1 # Reset in case getopts has been used previously in the shell.
-while getopts "h?:Hw:" opt; do
+while getopts ":gHw:h?" opt; do
case "$opt" in
h|\?)
show_help
@@ -72,9 +78,12 @@
w) working_folder=${OPTARG}
printf "# Working folder is ${working_folder}\n"
;;
- h) huge_pages=true
+ H) huge_pages=true
printf "# Using 'huge_pages' property in flavors\n"
;;
+ g) set_gw_heat_router=true
+ printf "# Setting external_gateway_info to heat-router with the external network (if not set yet)\n\n"
+ ;;
esac
done
@@ -193,7 +202,8 @@
function _project() {
echo project create ${project} >>${cmds}
- admin_username=$(openstack user list --project admin --domain ${domain} -c Name -f value | grep admin)
+ # admin_username=$(openstack user list --project admin --domain ${domain} -c Name -f value | grep admin)
+ # user admin_username from the initial env vars of the pod
echo role add --user ${admin_username} --project ${project} admin >>${cmds}
}
@@ -320,20 +330,25 @@
process_cmds
fi
- # set external gateway info for the Heat router if it is not set (required for Heat Tempest tests)
- external_gateway_info=$(openstack router show heat-router -f json -c external_gateway_info | jq -r '.external_gateway_info')
- if [[ "$external_gateway_info" == "null" ]]; then
- echo "# Setting external gw info for heat-router using ${TEST_PUBLIC_NET}"
- openstack router set --external-gateway ${TEST_PUBLIC_NET} heat-router
- if [[ $? -eq 0 ]]; then
- echo "# External gateway set successfully for heat-router"
- openstack router show heat-router -c external_gateway_info
+ if [ "$set_gw_heat_router" = true ]; then
+ echo "# Variable 'set_gw_heat_router' is true; setting the external gateway info for heat-router (if not set yet)..."
+ # set external gateway info for the Heat router if it is not set (required for Heat Tempest tests)
+ external_gateway_info=$(openstack router show heat-router -f json -c external_gateway_info | jq -r '.external_gateway_info')
+ if [[ "$external_gateway_info" == "null" ]]; then
+ echo "# Setting external gw info for heat-router using ${TEST_PUBLIC_NET}"
+ openstack router set --external-gateway ${TEST_PUBLIC_NET} heat-router
+ if [[ $? -eq 0 ]]; then
+ echo "# External gateway set successfully for heat-router"
+ openstack router show heat-router -c external_gateway_info
+ else
+ echo "# Failed to set external gateway for heat-router"
+ fi
else
- echo "# Failed to set external gateway for heat-router"
+ echo "# Router heat-router already has an external gateway"
+ openstack router show heat-router -c external_gateway_info
fi
else
- echo "# Router heat-router already has an external gateway"
- openstack router show heat-router -c external_gateway_info
+ echo "# Variable 'set_gw_heat_router' is not true, skipping setting external_gateway_info for heat-router..."
fi
}
@@ -385,6 +400,7 @@
###################
### Main
###################
+echo "Using working folder: ${working_folder}"
if [[ -z ${working_folder+x} ]]; then
# cwd into working dir
cd ${working_folder}
@@ -431,6 +447,6 @@
### Manifest and fall back to original rc
print_manifest
printf ="\n\nSetting quota\n"
-openstack quota set --cores -1 --ram -1 --instances -1 --volumes -1 --gigabytes -1 cvp.project
+openstack quota set --cores -1 --ram -1 --instances -1 --volumes -1 --gigabytes -1 --server-groups -1 --server-group-members -1 cvp.project
source "./adminrc"
printf "\n\nOriginal rc preserved and backed up in 'adminrc'\nNew rc is '${rcfile}'\n"