Support for running install procedure on bare metal CloudLab nodes
diff --git a/scripts/create-vms.sh b/scripts/create-vms.sh
index eebd038..d56b043 100755
--- a/scripts/create-vms.sh
+++ b/scripts/create-vms.sh
@@ -9,6 +9,7 @@
 	if [ "$?" -ne "0" ]
 	then
 		uvt-kvm create $NAME --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB
+		uvt-kvm wait --insecure $NAME
 	fi
 }
 
diff --git a/scripts/network-setup.sh b/scripts/network-setup.sh
index 6bacaa5..a7f4a06 100755
--- a/scripts/network-setup.sh
+++ b/scripts/network-setup.sh
@@ -2,25 +2,39 @@
 
 source ~/admin-openrc.sh
 
-# Create nat-net network
-neutron net-show nat-net 2>&1 > /dev/null
-if [ "$?" -ne 0 ]
-then
-    neutron net-create --provider:physical_network=nat --provider:network_type=flat --shared nat-net
-fi
+function create-flat-net {
+    NAME=$1
+    neutron net-show $NAME-net 2>&1 > /dev/null
+    if [ "$?" -ne 0 ]
+    then
+	neutron net-create --provider:physical_network=$NAME --provider:network_type=flat --shared $NAME-net
+    fi
+}
 
-# Create nat-net subnet
-neutron subnet-show nat-net 2>&1 > /dev/null
-if [ "$?" -ne 0 ]
-then
-    neutron subnet-create nat-net --name nat-net 172.16.0.0/16 --gateway=172.16.0.1 --enable-dhcp=false
-fi
+function create-subnet {
+    NAME=$1
+    CIDR=$2
+    GW=$3
 
-# Create nat-net network
-neutron net-show ext-net 2>&1 > /dev/null
-if [ "$?" -ne 0 ]
-then
-    neutron net-create --provider:physical_network=ext --provider:network_type=flat --shared ext-net
-fi
+    neutron subnet-show $NAME-net 2>&1 > /dev/null
+    if [ "$?" -ne 0 ]
+    then
+	neutron subnet-create $NAME-net --name $NAME-net $CIDR --gateway=$GW --enable-dhcp=false
+    fi
+}
 
+function create-subnet-no-gateway {
+    NAME=$1
+    CIDR=$2
 
+    neutron subnet-show $NAME-net 2>&1 > /dev/null
+    if [ "$?" -ne 0 ]
+    then
+	neutron subnet-create $NAME-net --name $NAME-net $CIDR --no-gateway --enable-dhcp=false
+    fi
+}
+
+create-flat-net nat
+create-subnet nat 172.16.0.0/16 172.16.0.1
+
+create-flat-net ext