merged master
diff --git a/scripts/create-vms-cord.sh b/scripts/create-vms-cord.sh
index 10c69d8..a0af3ed 100755
--- a/scripts/create-vms-cord.sh
+++ b/scripts/create-vms-cord.sh
@@ -27,9 +27,9 @@
if $TESTING
then
# Don't use mgmtbr for testing
- uvt-kvm create $NAME --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB
+ uvt-kvm create $NAME release=trusty --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB
else
- uvt-kvm create $NAME --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB --bridge mgmtbr
+ uvt-kvm create $NAME release=trusty --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB --bridge mgmtbr
fi
# uvt-kvm wait --insecure $NAME
fi
diff --git a/scripts/create-vms.sh b/scripts/create-vms.sh
index dba3099..1f1c789 100755
--- a/scripts/create-vms.sh
+++ b/scripts/create-vms.sh
@@ -8,7 +8,7 @@
uvt-kvm list | grep $1
if [ "$?" -ne "0" ]
then
- uvt-kvm create $NAME --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB
+ uvt-kvm create $NAME release=trusty --cpu=$CPU --memory=$MEM_MB --disk=$DISK_GB
uvt-kvm wait --insecure $NAME
fi
}
diff --git a/scripts/single-node-pod.sh b/scripts/single-node-pod.sh
index 39777f7..1457f3c 100755
--- a/scripts/single-node-pod.sh
+++ b/scripts/single-node-pod.sh
@@ -1,10 +1,10 @@
-#!/bin/bash
+#!/usr/bin/env bash
function cleanup_from_previous_test() {
VMS=$( sudo virsh list|grep running|awk '{print $2}' )
for VM in $VMS
do
- sudo uvt-kvm destroy $VM
+ sudo uvt-kvm destroy $VM
done
rm -rf ~/.juju
@@ -52,9 +52,9 @@
i=0
until juju status --format=summary|grep "started: 22" > /dev/null
do
- sleep 60
- (( i += 1 ))
- echo "Waited $i minutes"
+ sleep 60
+ (( i += 1 ))
+ echo "Waited $i minutes"
done
echo "All OpenStack services are up."
@@ -64,6 +64,24 @@
echo ""
echo "Setting up simulated fabric on nova-compute node"
ssh ubuntu@nova-compute.cordtest.opencloud.us "wget https://raw.githubusercontent.com/open-cloud/openstack-cluster-setup/master/scripts/compute-ext-net.sh; sudo bash compute-ext-net.sh"
+
+ if [[ $EXAMPLESERVICE -eq 1 ]]
+ then
+ SCRIPT=compute-ext-net-tutorial.sh
+ else
+ SCRIPT=compute-ext-net.sh
+ fi
+ ssh ubuntu@nova-compute "wget https://raw.githubusercontent.com/open-cloud/openstack-cluster-setup/master/scripts/$SCRIPT; sudo bash $SCRIPT"
+}
+
+function build_xos_with_exampleservice() {
+ echo ""
+ echo "Adding exampleservice to XOS"
+ ssh ubuntu@xos "cd xos; git config --global user.email 'ubuntu@localhost'; git config --global user.name 'XOS ExampleService'"
+ ssh ubuntu@xos "cd xos/xos/configurations/cord-pod; git cherry-pick 775e00549e535803522fbcd70152e5e1b0629c83"
+ echo ""
+ echo "Rebuilding XOS containers"
+ ssh ubuntu@xos "cd xos/xos/configurations/cord-pod; make local_containers"
}
function setup_xos() {
@@ -97,6 +115,11 @@
ssh ubuntu@nova-compute.cordtest.opencloud.us "sudo lxc-attach -n testclient -- ip link add link eth0.222 name eth0.222.111 type vlan id 111"
ssh ubuntu@nova-compute.cordtest.opencloud.us "sudo lxc-attach -n testclient -- ifconfig eth0.222 up"
ssh ubuntu@nova-compute.cordtest.opencloud.us "sudo lxc-attach -n testclient -- ifconfig eth0.222.111 up"
+
+ if [[ $EXAMPLESERVICE -eq 1 ]]
+ then
+ ssh ubuntu@xos "cd xos/xos/configurations/cord-pod; make exampleservice"
+ fi
}
function run_e2e_test() {
@@ -104,11 +127,12 @@
echo "*** Wait for vSG VM to come up"
i=0
- until nova list --all-tenants|grep ACTIVE > /dev/null
+
+ until nova list --all-tenants|grep 'vsg.*ACTIVE' > /dev/null
do
- sleep 60
- (( i += 1 ))
- echo "Waited $i minutes"
+ sleep 60
+ (( i += 1 ))
+ echo "Waited $i minutes"
done
# get mgmt IP address
@@ -120,20 +144,20 @@
i=0
until ssh -o ProxyCommand="ssh -W %h:%p ubuntu@nova-compute" ubuntu@$MGMTIP "sudo docker ps|grep vcpe" > /dev/null
do
- sleep 60
- (( i += 1 ))
- echo "Waited $i minutes"
+ sleep 60
+ (( i += 1 ))
+ echo "Waited $i minutes"
done
echo ""
echo "*** Run dhclient in test client"
+
ssh ubuntu@nova-compute.cordtest.opencloud.us "sudo lxc-attach -n testclient -- dhclient eth0.222.111" > /dev/null
echo ""
echo "*** Routes in test client"
ssh ubuntu@nova-compute.cordtest.opencloud.us "sudo lxc-attach -n testclient -- route -n"
-
echo ""
echo "*** Test external connectivity in test client"
ssh ubuntu@nova-compute.cordtest.opencloud.us "sudo lxc-attach -n testclient -- ping -c 3 8.8.8.8"
@@ -141,26 +165,66 @@
echo ""
if [ $? -eq 0 ]
then
- echo "*** [PASSED] End-to-end connectivity test"
- exit 0
+ echo "*** [PASSED] End-to-end connectivity test"
else
- echo "*** [FAILED] End-to-end connectivity test"
- exit 1
+ echo "*** [FAILED] End-to-end connectivity test"
+ exit 1
fi
}
+function run_exampleservice_test () {
+ source ~/admin-openrc.sh
+
+ echo "*** Wait for exampleservice VM to come up."
+ i=0
+ until nova list --all-tenants|grep exampleservice.*ACTIVE > /dev/null
+ do
+ sleep 60
+ (( i += 1 ))
+ echo "Waited $i minutes"
+ done
+
+ # get mgmt IP address
+ ID=$( nova list --all-tenants|grep mysite_exampleservice|awk '{print $2}' )
+ MGMTIP=$( nova interface-list $ID|grep 172.27|awk '{print $8}' )
+ PUBLICIP=$( nova interface-list $ID|grep 10.168|awk '{print $8}' )
+
+ echo ""
+ echo "*** ssh into exampleservice VM, wait for Apache come up"
+ i=0
+ until ssh -o ProxyCommand="ssh -W %h:%p ubuntu@nova-compute" ubuntu@$MGMTIP "ls /var/run/apache2/apache2.pid"
+ do
+ sleep 60
+ (( i += 1 ))
+ echo "Waited $i minutes"
+ done
+
+
+ echo ""
+ echo "*** Install curl in test client"
+ ssh ubuntu@nova-compute "sudo lxc-attach -n testclient -- apt-get -y install curl"
+
+ echo ""
+ echo "*** Test connectivity to ExampleService from test client"
+ ssh ubuntu@nova-compute "sudo lxc-attach -n testclient -- curl -s http://$PUBLICIP"
+}
+
# Parse options
RUN_TEST=0
-while getopts ":ht" opt; do
+EXAMPLESERVICE=0
+while getopts ":eht" opt; do
case ${opt} in
h ) "echo Usage:"
echo " $0 install OpenStack and prep XOS and ONOS VMs [default]"
+ echo " $0 -e add exampleservice to XOS"
echo " $0 -h display this help message"
echo " $0 -t do install, bring up cord-pod configuration, run E2E test"
exit 0
;;
t ) RUN_TEST=1
;;
+ e ) EXAMPLESERVICE=1
+ ;;
\? ) echo "Invalid option"
exit 1
;;
@@ -183,7 +247,18 @@
if [[ $RUN_TEST -eq 1 ]]
then
+ if [[ $EXAMPLESERVICE -eq 1 ]]
+ then
+ build_xos_with_exampleservice
+ fi
setup_xos
setup_test_client
run_e2e_test
+ if [[ $EXAMPLESERVICE -eq 1 ]]
+ then
+ run_exampleservice_test
+ fi
fi
+
+exit 0
+