Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 3 | variables=( |
| 4 | OS_USERNAME |
| 5 | OS_PASSWORD |
| 6 | OS_TENANT_NAME |
| 7 | OS_AUTH_URL |
| 8 | ) |
| 9 | |
| 10 | check_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 Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 17 | ip=$(echo ${OS_AUTH_URL} | sed -e 's/[^/]*\/\/\([^@]*@\)\?\([^:/]*\).*/\2/') |
| 18 | export no_proxy=$ip |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 19 | } |
| 20 | |
| 21 | rally_configuration () { |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 22 | pip install --force-reinstall python-glanceclient==2.11 |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 23 | sub_name=`date "+%H_%M_%S"` |
| 24 | rally deployment create --fromenv --name=tempest_$sub_name |
| 25 | rally deployment config |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 26 | echo "[openstack]" >> /etc/rally/rally.conf |
| 27 | echo "pre_newton_neutron=True" >> /etc/rally/rally.conf |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 28 | } |
| 29 | |
| 30 | tempest_configuration () { |
| 31 | sub_name=`date "+%H_%M_%S"` |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 32 | # default tempest version is 18.0.0 now, unless |
Oleksii Zhurba | d85b002 | 2018-09-11 15:43:43 -0500 | [diff] [blame] | 33 | # it is explicitly defined in pipelines |
| 34 | if [ "$tempest_version" == "" ]; then |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 35 | tempest_version='18.0.0' |
Oleksii Zhurba | d85b002 | 2018-09-11 15:43:43 -0500 | [diff] [blame] | 36 | fi |
Oleksii Zhurba | 991dbc6 | 2018-07-25 16:03:51 -0500 | [diff] [blame] | 37 | if [ "$PROXY" == "offline" ]; then |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 38 | rally verify create-verifier --name tempest_verifier_$sub_name --type tempest --source $TEMPEST_REPO --system-wide --version $tempest_version |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 39 | #rally verify add-verifier-ext --source /var/lib/telemetry-tempest-plugin |
Oleksii Zhurba | 991dbc6 | 2018-07-25 16:03:51 -0500 | [diff] [blame] | 40 | rally verify add-verifier-ext --source /var/lib/heat-tempest-plugin |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 41 | else |
| 42 | if [ -n "${PROXY}" ]; then |
| 43 | export https_proxy=$PROXY |
| 44 | fi |
Oleksii Zhurba | af3e5e8 | 2018-11-12 12:29:31 -0600 | [diff] [blame] | 45 | apt-get update; apt-get install -y iputils-ping curl wget |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 46 | rally verify create-verifier --name tempest_verifier_$sub_name --type tempest --source $TEMPEST_REPO --version $tempest_version |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 47 | #rally verify add-verifier-ext --version 7a4bff728fbd8629ec211669264ab645aa921e2b --source https://github.com/openstack/telemetry-tempest-plugin |
| 48 | rally verify add-verifier-ext --version 0.2.0 --source https://github.com/openstack/heat-tempest-plugin |
Oleksii Zhurba | 8b76f3d | 2018-08-07 12:38:26 -0500 | [diff] [blame] | 49 | pip install --force-reinstall python-cinderclient==3.2.0 |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 50 | unset https_proxy |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 51 | fi |
Oleksii Zhurba | 991dbc6 | 2018-07-25 16:03:51 -0500 | [diff] [blame] | 52 | # supress tempest.conf display in console |
| 53 | #rally verify configure-verifier --show |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 54 | } |
| 55 | |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 56 | quick_configuration () { |
| 57 | current_path=$(pwd) |
Oleksii Zhurba | 4a480a3 | 2018-07-31 22:21:47 -0500 | [diff] [blame] | 58 | # Remove this if you use local gerrit cvp-configuration repo |
| 59 | if [ "$PROXY" == "offline" ]; then |
| 60 | current_path=/var/lib |
| 61 | fi |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 62 | #image |
Oleksii Zhurba | fe6b571 | 2018-06-14 13:05:00 -0500 | [diff] [blame] | 63 | glance image-list | grep "\btestvm\b" 2>&1 >/dev/null || { |
Oleksii Zhurba | 4a480a3 | 2018-07-31 22:21:47 -0500 | [diff] [blame] | 64 | if [ -n "${PROXY}" ] && [ "$PROXY" -ne "offline" ]; then |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 65 | export http_proxy=$PROXY |
| 66 | fi |
Oleksii Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 67 | 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 Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 68 | unset http_proxy |
Oleksii Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 69 | echo "MD5 should be ee1eca47dc88f4879d8a229cc70a07c6" |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 70 | md5sum $current_path/cvp-configuration/cirros-0.3.4-x86_64-disk.img |
Oleksii Zhurba | fe6b571 | 2018-06-14 13:05:00 -0500 | [diff] [blame] | 71 | 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 Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 72 | } |
Oleksii Zhurba | fe6b571 | 2018-06-14 13:05:00 -0500 | [diff] [blame] | 73 | IMAGE_REF2=$(glance image-list | grep 'testvm' | awk '{print $2}') |
Oleksii Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 74 | #flavor for rally |
| 75 | nova flavor-list | grep tiny 2>&1 >/dev/null || { |
| 76 | echo "Let's create m1.tiny flavor" |
| 77 | nova flavor-create --is-public true m1.tiny auto 128 1 1 |
| 78 | } |
| 79 | #shared fixed network |
| 80 | shared_count=`neutron net-list -c name -c shared | grep True | wc -l` |
| 81 | if [ $shared_count -gt 1 ]; then |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 82 | echo "TOO MANY SHARED NETWORKS! Script will choose first net in list with fixed-net name" |
Oleksii Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 83 | fi |
| 84 | if [ $shared_count -eq 0 ]; then |
| 85 | echo "Let's create shared fixed net" |
Oleksii Zhurba | a277000 | 2018-08-07 11:25:56 -0500 | [diff] [blame] | 86 | neutron net-create --shared fixed-net |
| 87 | 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 Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 88 | fi |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 89 | FIXED_NET=$(neutron net-list -c name -c shared | grep "fixed-net" | grep True | awk '{print $2}' | tail -n 1) |
| 90 | FIXED_NET_ID=$(neutron net-list -c id -c name -c shared | grep "fixed-net" | grep True | awk '{print $2}' | tail -n 1) |
| 91 | FIXED_SUBNET_ID=$(neutron net-show $FIXED_NET_ID -c subnets | grep subnets | awk '{print $4}') |
| 92 | FIXED_SUBNET_NAME=$(neutron subnet-show -c name $FIXED_SUBNET_ID | grep name | awk '{print $4}') |
| 93 | echo "Fixed net name is $FIXED_NET, id is $FIXED_NET_ID" |
| 94 | echo "Fixed subnet is: $FIXED_SUBNET_ID, name: $FIXED_SUBNET_NAME" |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 95 | sed -i 's/${IMAGE_REF2}/'$IMAGE_REF2'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 96 | sed -i 's/${FIXED_NET}/'$FIXED_NET_ID'/g' $current_path/cvp-configuration/rally/rally_scenarios.json |
| 97 | sed -i 's/${FIXED_NET}/'$FIXED_NET_ID'/g' $current_path/cvp-configuration/rally/rally_scenarios_100.json |
| 98 | sed -i 's/${FIXED_NET}/'$FIXED_NET_ID'/g' $current_path/cvp-configuration/rally/rally_scenarios_fip_and_ubuntu.json |
| 99 | sed -i 's/${FIXED_NET}/'$FIXED_NET_ID'/g' $current_path/cvp-configuration/rally/rally_scenarios_fip_and_ubuntu_100.json |
Oleksii Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 100 | sed -i 's/${FIXED_NET}/'$FIXED_NET'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 101 | sed -i 's/${FIXED_SUBNET_NAME}/'$FIXED_SUBNET_NAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | 080efa2 | 2018-11-12 13:05:44 -0600 | [diff] [blame] | 102 | sed -i 's/${OS_USERNAME}/'$OS_USERNAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
| 103 | sed -i 's/${OS_TENANT_NAME}/'$OS_TENANT_NAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
| 104 | sed -i 's/${OS_REGION_NAME}/'$OS_REGION_NAME'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
| 105 | sed -i 's|${OS_AUTH_URL}|'"${OS_AUTH_URL}"'|g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
| 106 | sed -i 's|${OS_PASSWORD}|'"${OS_PASSWORD}"'|g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 107 | sed -i 's/publicURL/'$TEMPEST_ENDPOINT_TYPE'/g' $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | 991dbc6 | 2018-07-25 16:03:51 -0500 | [diff] [blame] | 108 | #supress tempest.conf display in console |
| 109 | #cat $current_path/cvp-configuration/tempest/tempest_ext.conf |
| 110 | cp $current_path/cvp-configuration/tempest/boot_config_none_env.yaml /home/rally/boot_config_none_env.yaml |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 111 | cp $current_path/cvp-configuration/cleanup.sh /home/rally/cleanup.sh |
Oleksii Zhurba | b9133f7 | 2017-11-15 17:53:02 -0600 | [diff] [blame] | 112 | } |
| 113 | |
Oleksii Zhurba | ba5883f | 2018-01-18 09:52:08 -0600 | [diff] [blame] | 114 | if [ "$1" == "reconfigure" ]; then |
| 115 | echo "This is reconfiguration" |
| 116 | rally verify configure-verifier --reconfigure |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 117 | rally verify configure-verifier --extend $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | ba5883f | 2018-01-18 09:52:08 -0600 | [diff] [blame] | 118 | rally verify configure-verifier --show |
| 119 | exit 0 |
| 120 | fi |
| 121 | |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 122 | check_variables |
| 123 | rally_configuration |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 124 | quick_configuration |
Oleksii Zhurba | 0aa4670 | 2018-02-07 16:17:39 -0600 | [diff] [blame] | 125 | if [ -n "${TEMPEST_REPO}" ]; then |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 126 | tempest_configuration |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 127 | # If you do not have fip network, use this command |
| 128 | #cat $current_path/cvp-configuration/tempest/skip-list-fip-only.yaml >> $current_path/cvp-configuration/tempest/skip-list-queens.yaml |
Oleksii Zhurba | ca05017 | 2018-07-30 11:53:32 -0500 | [diff] [blame] | 129 | # If Opencontrail is deployed, use this command |
Oleksii Zhurba | 4be2832 | 2019-04-18 18:07:35 -0500 | [diff] [blame^] | 130 | cat $current_path/cvp-configuration/tempest/skip-list-oc4.yaml >> $current_path/cvp-configuration/tempest/skip-list-queens.yaml |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 131 | cat $current_path/cvp-configuration/tempest/skip-list-heat.yaml >> $current_path/cvp-configuration/tempest/skip-list-queens.yaml |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 132 | rally verify configure-verifier --extend $current_path/cvp-configuration/tempest/tempest_ext.conf |
Oleksii Zhurba | 991dbc6 | 2018-07-25 16:03:51 -0500 | [diff] [blame] | 133 | rally verify configure-verifier --show |
Oleksii Zhurba | ca05017 | 2018-07-30 11:53:32 -0500 | [diff] [blame] | 134 | # If Barbican tempest plugin is installed, use this |
Oleksii Zhurba | 33671b6 | 2019-02-21 17:55:22 -0600 | [diff] [blame] | 135 | #mkdir /etc/tempest |
| 136 | #rally verify configure-verifier --show | grep -v "rally.api" > /etc/tempest/tempest.conf |
Oleksii Zhurba | 7f3941b | 2018-03-27 14:38:42 -0500 | [diff] [blame] | 137 | # Add 2 additional tempest tests (live migration to all nodes + ssh to all nodes) |
| 138 | # TBD |
| 139 | #cat tempest/test_extension.py >> repo/tempest/scenario/test_server_multinode.py |
Oleksii Zhurba | 1580fc5 | 2017-11-14 15:20:44 -0600 | [diff] [blame] | 140 | fi |
| 141 | set -e |
| 142 | |
Oleksii Zhurba | c8058d6 | 2018-06-21 17:46:11 -0500 | [diff] [blame] | 143 | echo "Configuration is done!" |