2 ##############################################################################
3 # Copyright (c) 2015 Ericsson AB and others.
4 # stefan.k.berg@ericsson.com
5 # jonas.bjurel@ericsson.com
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Apache License, Version 2.0
8 # which accompanies this distribution, and is available at
9 # http://www.apache.org/licenses/LICENSE-2.0
10 ##############################################################################
22 trap exit_handler EXIT
24 # You can change these disk sizes to adapt to your needs
30 topdir=$(dirname $(readlink -f $BASH_SOURCE))
31 netdir=$topdir/conf/networks
32 vmdir=$topdir/conf/vms
33 tmpfile=`mktemp /tmp/XXXXX`
35 if [ ! -d $netdir ]; then
36 error_exit "No net directory $netdir"
38 elif [ ! -d $vmdir ]; then
39 error_exit "No VM directory $vmdir"
44 echo "Argument error."
45 echo "`basename $0` <path to storage dir>"
49 if [ "`whoami`" != "root" ]; then
50 error_exit "You need be root to run this script"
54 tools/cleanup_example_vms.sh
58 if [ ! -d $storagedir ]; then
59 error_exit "Could not find storagedir directory $storagedir"
62 # Create storage space and patch it in
66 virsh dumpxml $vmname >/dev/null 2>&1
68 echo "Found vm $vmname, deleting"
70 virsh undefine $vmname
76 storage=${storagedir}/`basename ${vm}`.raw
77 if [ -f ${storage} ]; then
78 echo "Storage already present, removing: $storage"
82 echo `basename $vm` | grep -q fuel-master && size=$fueldisk
83 echo `basename $vm` | grep -q controller && size=$controllerdisk
84 echo `basename $vm` | grep -q compute && size=$computedisk
86 echo "Creating ${size} GB of storage in ${storage}"
87 fallocate -l ${size} ${storage} || \
88 error_exit "Could not create storage"
89 sed "s:<source file='disk.raw':<source file='${storage}':" $vm >$tmpfile
95 netname=`basename $net`
96 virsh net-dumpxml $netname >/dev/null 2>&1
98 echo "Found net $netname, deleting"
99 virsh net-destroy $netname
100 virsh net-undefine $netname
102 virsh net-define $net
103 virsh net-autostart $netname
104 virsh net-start $netname