|
...
|
...
|
@@ -88,6 +88,13 @@ function apt_get() {
|
|
88
|
88
|
--option "Dpkg::Options::=--force-confold" --assume-yes "$@"
|
|
89
|
89
|
}
|
|
90
|
90
|
|
|
|
91
|
+# Check to see if we are already running a stack.sh
|
|
|
92
|
+if screen -ls | egrep -q "[0-9].stack"; then
|
|
|
93
|
+ echo "You are already running a stack.sh session."
|
|
|
94
|
+ echo "To rejoin this session type 'screen -x stack'."
|
|
|
95
|
+ echo "To destroy this session, kill the running screen."
|
|
|
96
|
+ exit 1
|
|
|
97
|
+fi
|
|
91
|
98
|
|
|
92
|
99
|
# OpenStack is designed to be run as a regular user (Horizon will fail to run
|
|
93
|
100
|
# as root, since apache refused to startup serve content from root user). If
|
|
...
|
...
|
@@ -165,6 +172,7 @@ ENABLED_SERVICES=${ENABLED_SERVICES:-g-api,g-reg,key,n-api,n-cpu,n-net,n-sch,n-v
|
|
165
|
165
|
# Name of the lvm volume group to use/create for iscsi volumes
|
|
166
|
166
|
VOLUME_GROUP=${VOLUME_GROUP:-nova-volumes}
|
|
167
|
167
|
VOLUME_NAME_PREFIX=${VOLUME_NAME_PREFIX:-volume-}
|
|
|
168
|
+INSTANCE_NAME_PREFIX=${INSTANCE_NAME_PREFIX:-instance-}
|
|
168
|
169
|
|
|
169
|
170
|
# Nova hypervisor configuration. We default to libvirt whth **kvm** but will
|
|
170
|
171
|
# drop back to **qemu** if we are unable to load the kvm module. Stack.sh can
|
|
...
|
...
|
@@ -733,6 +741,18 @@ if [[ "$ENABLED_SERVICES" =~ "n-api" ]]; then
|
|
733
|
733
|
sed -e "s,%SERVICE_TOKEN%,$SERVICE_TOKEN,g" -i $NOVA_DIR/bin/nova-api-paste.ini
|
|
734
|
734
|
fi
|
|
735
|
735
|
|
|
|
736
|
+# Helper to clean iptables rules
|
|
|
737
|
+function clean_iptables() {
|
|
|
738
|
+ # Delete rules
|
|
|
739
|
+ sudo iptables -S -v | sed "s/-c [0-9]* [0-9]* //g" | grep "nova" | grep "\-A" | sed "s/-A/-D/g" | awk '{print "sudo iptables",$0}' | bash
|
|
|
740
|
+ # Delete nat rules
|
|
|
741
|
+ sudo iptables -S -v -t nat | sed "s/-c [0-9]* [0-9]* //g" | grep "nova" | grep "\-A" | sed "s/-A/-D/g" | awk '{print "sudo iptables -t nat",$0}' | bash
|
|
|
742
|
+ # Delete chains
|
|
|
743
|
+ sudo iptables -S -v | sed "s/-c [0-9]* [0-9]* //g" | grep "nova" | grep "\-N" | sed "s/-N/-X/g" | awk '{print "sudo iptables",$0}' | bash
|
|
|
744
|
+ # Delete nat chains
|
|
|
745
|
+ sudo iptables -S -v -t nat | sed "s/-c [0-9]* [0-9]* //g" | grep "nova" | grep "\-N" | sed "s/-N/-X/g" | awk '{print "sudo iptables -t nat",$0}' | bash
|
|
|
746
|
+}
|
|
|
747
|
+
|
|
736
|
748
|
if [[ "$ENABLED_SERVICES" =~ "n-cpu" ]]; then
|
|
737
|
749
|
|
|
738
|
750
|
# Virtualization Configuration
|
|
...
|
...
|
@@ -796,13 +816,24 @@ if [[ "$ENABLED_SERVICES" =~ "n-cpu" ]]; then
|
|
796
|
796
|
fi
|
|
797
|
797
|
fi
|
|
798
|
798
|
|
|
|
799
|
+ # Clean iptables from previous runs
|
|
|
800
|
+ clean_iptables
|
|
|
801
|
+
|
|
|
802
|
+ # Destroy old instances
|
|
|
803
|
+ instances=`virsh list | grep $INSTANCE_NAME_PREFIX | cut -d " " -f3`
|
|
|
804
|
+ if [ ! $instances = "" ]; then
|
|
|
805
|
+ echo $instances | xargs -n1 virsh destroy
|
|
|
806
|
+ echo $instances | xargs -n1 virsh undefine
|
|
|
807
|
+ fi
|
|
|
808
|
+
|
|
799
|
809
|
# Clean out the instances directory.
|
|
800
|
810
|
sudo rm -rf $NOVA_DIR/instances/*
|
|
801
|
811
|
fi
|
|
802
|
812
|
|
|
803
|
813
|
if [[ "$ENABLED_SERVICES" =~ "n-net" ]]; then
|
|
804
|
|
- # delete traces of nova networks from prior runs
|
|
|
814
|
+ # Delete traces of nova networks from prior runs
|
|
805
|
815
|
sudo killall dnsmasq || true
|
|
|
816
|
+ clean_iptables
|
|
806
|
817
|
rm -rf $NOVA_DIR/networks
|
|
807
|
818
|
mkdir -p $NOVA_DIR/networks
|
|
808
|
819
|
fi
|
|
...
|
...
|
@@ -1012,6 +1043,7 @@ add_nova_flag "--public_interface=$PUBLIC_INTERFACE"
|
|
1012
|
1012
|
add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
|
|
1013
|
1013
|
add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
|
|
1014
|
1014
|
add_nova_flag "--libvirt_type=$LIBVIRT_TYPE"
|
|
|
1015
|
+add_nova_flag "--instance_name_template=${INSTANCE_NAME_PREFIX}%08x"
|
|
1015
|
1016
|
if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
|
|
1016
|
1017
|
add_nova_flag "--osapi_extension=nova.api.openstack.v2.contrib.standard_extensions"
|
|
1017
|
1018
|
add_nova_flag "--osapi_extension=extensions.admin.Admin"
|