blob: 32887d577171847da017dbd86ae97c478d1c4dd2 [file] [log] [blame]
Oleksii Zhurba1580fc52017-11-14 15:20:44 -06001#!/bin/bash
2
Oleksii Zhurba1580fc52017-11-14 15:20:44 -06003variables=(
4OS_USERNAME
5OS_PASSWORD
6OS_TENANT_NAME
7OS_AUTH_URL
8)
9
10check_variables () {
11 for i in $(seq 0 $(( ${#variables[@]} - 1 )) ); do
12 if [ -z "${!variables[$i]}" ]; then
13 echo "Variable \"${variables[$i]}\" is not defined"
14 exit 1
15 fi
16 done
Oleksii Zhurbac8058d62018-06-21 17:46:11 -050017 ip=$(echo ${OS_AUTH_URL} | sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/')
18 export no_proxy=$ip
Oleksii Zhurba1580fc52017-11-14 15:20:44 -060019}
20
21rally_configuration () {
Oleksii Zhurba22737902018-02-07 14:09:47 -060022 rally_version=$(rally version 2>&1)
Oleksii Zhurbac8058d62018-06-21 17:46:11 -050023 # will be removed when we switch to Rally 0.9.2+
Oleksii Zhurba22737902018-02-07 14:09:47 -060024 if [ "$rally_version" == "0.9.0" ] || [ "$rally_version" == "0.9.1" ]; then
25 pip install ansible==2.3.2.0
Oleksii Zhurba167f4652018-03-29 16:43:41 -050026 sed -i '270s/,/}#,/g' /usr/local/lib/python2.7/dist-packages/rally/plugins/openstack/wrappers/network.py
Oleksii Zhurba22737902018-02-07 14:09:47 -060027 fi
Oleksii Zhurba1580fc52017-11-14 15:20:44 -060028 sub_name=`date "+%H_%M_%S"`
29 rally deployment create --fromenv --name=tempest_$sub_name
30 rally deployment config
31}
32
33tempest_configuration () {
34 sub_name=`date "+%H_%M_%S"`
Oleksii Zhurbad85b0022018-09-11 15:43:43 -050035 # default tempest version is 17.2.0 now, unless
36 # it is explicitly defined in pipelines
37 if [ "$tempest_version" == "" ]; then
38 tempest_version='17.2.0'
39 fi
Oleksii Zhurba991dbc62018-07-25 16:03:51 -050040 if [ "$PROXY" == "offline" ]; then
Oleksii Zhurbac8058d62018-06-21 17:46:11 -050041 rally verify create-verifier --name tempest_verifier_$sub_name --type tempest --source $TEMPEST_REPO --system-wide --version $tempest_version
Oleksii Zhurba991dbc62018-07-25 16:03:51 -050042 rally verify add-verifier-ext --source /var/lib/telemetry-tempest-plugin
43 rally verify add-verifier-ext --source /var/lib/heat-tempest-plugin
Oleksii Zhurbac8058d62018-06-21 17:46:11 -050044 else
45 if [ -n "${PROXY}" ]; then
46 export https_proxy=$PROXY
47 fi
48 rally verify create-verifier --name tempest_verifier_$sub_name --type tempest --source $TEMPEST_REPO --version $tempest_version
Oleksii Zhurba47027172018-11-12 12:24:40 -060049 rally verify add-verifier-ext --version 7a4bff728fbd8629ec211669264ab645aa921e2b --source https://github.com/openstack/telemetry-tempest-plugin
50 rally verify add-verifier-ext --version 12b770e923060f5ef41358c37390a25be56634f0 --source https://github.com/openstack/heat-tempest-plugin
Oleksii Zhurba8b76f3d2018-08-07 12:38:26 -050051 pip install --force-reinstall python-cinderclient==3.2.0
Oleksii Zhurbac8058d62018-06-21 17:46:11 -050052 unset https_proxy
Oleksii Zhurba1580fc52017-11-14 15:20:44 -060053 fi
Oleksii Zhurba991dbc62018-07-25 16:03:51 -050054 # supress tempest.conf display in console
55 #rally verify configure-verifier --show
Oleksii Zhurba1580fc52017-11-14 15:20:44 -060056}
57
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060058quick_configuration () {
59current_path=$(pwd)
Oleksii Zhurba4a480a32018-07-31 22:21:47 -050060# Remove this if you use local gerrit cvp-configuration repo
61if [ "$PROXY" == "offline" ]; then
62 current_path=/var/lib
63fi
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060064#image
Oleksii Zhurbafe6b5712018-06-14 13:05:00 -050065glance image-list | grep "\btestvm\b" 2>&1 >/dev/null || {
Oleksii Zhurba4a480a32018-07-31 22:21:47 -050066 if [ -n "${PROXY}" ] && [ "$PROXY" -ne "offline" ]; then
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060067 export http_proxy=$PROXY
68 fi
Oleksii Zhurba0aa46702018-02-07 16:17:39 -060069 ls $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img || wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img -O $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060070 unset http_proxy
Oleksii Zhurba0aa46702018-02-07 16:17:39 -060071 echo "MD5 should be ee1eca47dc88f4879d8a229cc70a07c6"
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060072 md5sum $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
Oleksii Zhurbafe6b5712018-06-14 13:05:00 -050073 glance image-create --name=testvm --visibility=public --container-format=bare --disk-format=qcow2 < $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060074}
Oleksii Zhurbafe6b5712018-06-14 13:05:00 -050075IMAGE_REF2=$(glance image-list | grep 'testvm' | awk '{print $2}')
Oleksii Zhurba0aa46702018-02-07 16:17:39 -060076#flavor for rally
77nova flavor-list | grep tiny 2>&1 >/dev/null || {
78 echo "Let's create m1.tiny flavor"
79 nova flavor-create --is-public true m1.tiny auto 128 1 1
80}
81#shared fixed network
82shared_count=`neutron net-list -c name -c shared | grep True | wc -l`
83if [ $shared_count -gt 1 ]; then
84 echo "TOO MANY SHARED NETWORKS! Script will choose just 1 random"
85fi
86if [ $shared_count -eq 0 ]; then
87 echo "Let's create shared fixed net"
Oleksii Zhurbaa2770002018-08-07 11:25:56 -050088 neutron net-create --shared fixed-net
89 neutron subnet-create --name fixed-subnet --gateway 192.168.0.1 --allocation-pool start=192.168.0.2,end=192.168.0.254 --ip-version 4 fixed-net 192.168.0.0/24
Oleksii Zhurba0aa46702018-02-07 16:17:39 -060090fi
91FIXED_NET=$(neutron net-list -c name -c shared | grep True | awk '{print $2}' | tail -n 1)
92echo "Fixed net is: $FIXED_NET"
93#Updating of tempest_full.conf file is skipped/deprecated
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060094sed -i 's/${IMAGE_REF2}/'$IMAGE_REF2'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
Oleksii Zhurba0aa46702018-02-07 16:17:39 -060095sed -i 's/${FIXED_NET}/'$FIXED_NET'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
Oleksii Zhurbab9133f72017-11-15 17:53:02 -060096sed -i 's/publicURL/'$TEMPEST_ENDPOINT_TYPE'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf
Oleksii Zhurba991dbc62018-07-25 16:03:51 -050097#supress tempest.conf display in console
98#cat $current_path/cvp-configuration/tempest/tempest_ext.conf
99cp $current_path/cvp-configuration/tempest/boot_config_none_env.yaml /home/rally/boot_config_none_env.yaml
Oleksii Zhurbab9133f72017-11-15 17:53:02 -0600100}
101
Oleksii Zhurbaba5883f2018-01-18 09:52:08 -0600102if [ "$1" == "reconfigure" ]; then
103 echo "This is reconfiguration"
104 rally verify configure-verifier --reconfigure
Oleksii Zhurbac8058d62018-06-21 17:46:11 -0500105 rally verify configure-verifier --extend $current_path/cvp-configuration/tempest/tempest_ext.conf
Oleksii Zhurbaba5883f2018-01-18 09:52:08 -0600106 rally verify configure-verifier --show
107 exit 0
108fi
109
Oleksii Zhurba1580fc52017-11-14 15:20:44 -0600110check_variables
111rally_configuration
Oleksii Zhurba0aa46702018-02-07 16:17:39 -0600112if [ -n "${TEMPEST_REPO}" ]; then
Oleksii Zhurba1580fc52017-11-14 15:20:44 -0600113 tempest_configuration
Oleksii Zhurbab9133f72017-11-15 17:53:02 -0600114 quick_configuration
Oleksii Zhurbaca050172018-07-30 11:53:32 -0500115 # If Opencontrail is deployed, use this command
116 #cat $current_path/cvp-configuration/tempest/skip-list-oc4.yaml >> $current_path/cvp-configuration/tempest/skip-list-pike.yaml
Oleksii Zhurbac8058d62018-06-21 17:46:11 -0500117 rally verify configure-verifier --extend $current_path/cvp-configuration/tempest/tempest_ext.conf
Oleksii Zhurba991dbc62018-07-25 16:03:51 -0500118 rally verify configure-verifier --show
Oleksii Zhurbaca050172018-07-30 11:53:32 -0500119 # If Barbican tempest plugin is installed, use this
120 # mkdir /etc/tempest
Oleksii Zhurba12f311e2018-07-31 21:21:20 -0500121 # rally verify configure-verifier --show | grep -v "rally.api" > /etc/tempest/tempest.conf
Oleksii Zhurba7f3941b2018-03-27 14:38:42 -0500122 # Add 2 additional tempest tests (live migration to all nodes + ssh to all nodes)
123 # TBD
124 #cat tempest/test_extension.py >> repo/tempest/scenario/test_server_multinode.py
Oleksii Zhurba1580fc52017-11-14 15:20:44 -0600125fi
126set -e
127
Oleksii Zhurbac8058d62018-06-21 17:46:11 -0500128echo "Configuration is done!"