| #!/bin/bash |
| ## |
| # Copyright 2015 Telefónica Investigación y Desarrollo, S.A.U. |
| # This file is part of openvim |
| # All Rights Reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. You may obtain |
| # a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| # License for the specific language governing permissions and limitations |
| # under the License. |
| # |
| # For those usages not covered by the Apache License, Version 2.0 please |
| # contact with: nfvlabs@tid.es |
| ## |
| |
| # |
| #author Alfonso Tierno |
| # |
| #script to test openvim with the creation of flavors and interfaces |
| #in cloud style |
| # |
| |
| echo " Creates 1 flavor, 3 nets, 2 VMs (US) |
| WITHOUT huge pages, nor NUMA assigment |
| network attach after creation" |
| echo |
| echo "Press enter to continue" |
| read kk |
| |
| #image to load |
| imagePath=/mnt/powervault/virtualization/vnfs/os/US1404.qcow2 |
| #image to load as an extra disk, can be any |
| imagePath_extra=/mnt/powervault/virtualization/vnfs/os/US1404user.qcow2 |
| #default network to use |
| network_eth0=default |
| |
| |
| DIRNAME=`dirname $0` |
| |
| function del_rubbish(){ |
| echo "Press enter to delete the deployed things" |
| read kk |
| [ -n "$DEL_server" ] && ${DIRNAME}/test_openvim.py -f del server $DEL_server |
| [ -n "$DEL_network" ] && ${DIRNAME}/test_openvim.py -f del network $DEL_network |
| [ -n "$DEL_flavor" ] && ${DIRNAME}/test_openvim.py -f del flavor $DEL_flavor |
| [ -n "$DEL_image" ] && ${DIRNAME}/test_openvim.py -f del image $DEL_image |
| rm -f kk.out |
| } |
| |
| function proccess_out(){ # action_text field to retrieve |
| if egrep -q "\"error\"" kk.out |
| then |
| echo "failed to" $1 |
| cat kk.out |
| del_rubbish |
| exit -1 |
| fi |
| if [ -z "$2" ] ; then pattern='"id"' ; else pattern="$2" ; fi |
| value=`egrep "$pattern" kk.out ` |
| value=${value##* \"} |
| value=${value%\"*} |
| if [[ -z "$value" ]] |
| then |
| echo "not found the field" $2 |
| cat kk.out |
| del_rubbish |
| exit -1 |
| fi |
| } |
| |
| #proccess_out "insert server tidgen1" '^ "id"' |
| #echo $value |
| #exit 0 |
| |
| |
| |
| echo -n "get ${imagePath##*/} image: " |
| ${DIRNAME}/test_openvim.py -F"path=$imagePath" images > kk.out |
| proccess_out "get ${imagePath##*/}" |
| echo $value |
| image1=$value |
| |
| |
| echo -n "get ${imagePath_extra##*/} image: " |
| ${DIRNAME}/test_openvim.py -F"path=$imagePath_extra" images > kk.out |
| proccess_out "get ${imagePath_extra##*/}" |
| echo $value |
| image2=$value |
| |
| |
| echo -n "get ${network_eth0} network: " |
| ${DIRNAME}/test_openvim.py -F"name=$network_eth0" network > kk.out |
| proccess_out "get ${network_eth0} network" |
| echo $value |
| network_eth0=$value |
| |
| |
| echo -n "insert flavor: " |
| ${DIRNAME}/test_openvim.py new flavor ' |
| --- |
| flavor: |
| name: CloudVM |
| description: normal cloud image with 1G, 1core |
| ram: 1024 |
| vcpus: 1 |
| ' > kk.out |
| proccess_out "insert flavor" |
| echo $value |
| flavor1=$value |
| DEL_flavor="$DEL_flavor $flavor1" |
| |
| |
| echo |
| echo "Press enter to continue" |
| read kk |
| |
| echo -n "insert bridge network net2: " |
| ${DIRNAME}/test_openvim.py new network ' |
| --- |
| network: |
| name: network-bridge |
| type: bridge_data |
| ' > kk.out |
| proccess_out "insert network 2" |
| echo $value |
| network2=$value |
| DEL_network="$DEL_network $value" |
| |
| echo -n "insert test VM 1: " |
| ${DIRNAME}/test_openvim.py new server " |
| --- |
| server: |
| name: test_VM1 |
| descrition: US 1 core |
| imageRef: '$image1' |
| flavorRef: '$flavor1' |
| networks: |
| - name: mgmt0 |
| vpci: '0000:00:0a.0' |
| uuid: ${network_eth0} |
| mac_address: '10:10:10:10:10:12' |
| - name: eth0 |
| vpci: '0000:00:0b.0' |
| uuid: '$network2' |
| mac_address: '10:10:10:10:10:13' |
| " > kk.out |
| proccess_out "insert test VM 2" '^ "id"' |
| echo $value |
| server1=$value |
| DEL_server="$DEL_server $value" |
| |
| |
| echo |
| echo "Press enter to continue" |
| read kk |
| |
| echo -n "insert test VM 2: " |
| ${DIRNAME}/test_openvim.py new server " |
| --- |
| server: |
| name: test_VM2 |
| descrition: US 1G 1core |
| imageRef: '$image1' |
| flavorRef: '$flavor1' |
| ram: 1024 |
| vcpus: 1 |
| networks: |
| - name: mgmt0 |
| vpci: '0000:00:0a.0' |
| uuid: ${network_eth0} |
| mac_address: '10:10:10:10:aa:12' |
| - name: eth0 |
| vpci: '0000:00:0b.0' |
| uuid: '$network2' |
| mac_address: '10:10:10:10:aa:13' |
| extended: |
| devices: |
| - type: disk |
| imageRef: '$image2' |
| " > kk.out |
| proccess_out "insert test VM 2" '^ "id"' |
| echo $value |
| server2=$value |
| DEL_server="$DEL_server $value" |
| |
| echo |
| echo finsish. Check connections!! |
| echo |
| |
| del_rubbish |
| exit 0 |
| |