Fix a couple of script mistakes
[releng/builder.git] / jjb / integration / include-raw-integration-deploy-openstack-run-test.sh
index 96271a80147ab6fa551eb9f24c82fc5bcd2bfcc2..b14d30d37740a5758d2284cd2a54a31e9dd1f11d 100644 (file)
@@ -8,6 +8,8 @@ echo "#################################################"
 echo "##         Deploy Openstack 3-node             ##"
 echo "#################################################"
 
+
+SSH="ssh -t -t"
 function create_control_node_local_conf {
 local_conf_file_name=${WORKSPACE}/local.conf_control
 cat > ${local_conf_file_name} << EOF
@@ -91,7 +93,8 @@ fi
 if [ "${ODL_ENABLE_L3_FWD}" == "yes" ]; then
 cat >> ${local_conf_file_name} << EOF
 
-ODL_PROVIDER_MAPPINGS=br-ex:br100
+PUBLIC_BRIDGE=${PUBLIC_BRIDGE}
+ODL_PROVIDER_MAPPINGS=${PUBLIC_BRIDGE}:br100
 
 disable_service q-l3
 Q_L3_ENABLED=True
@@ -254,10 +257,10 @@ sudo systemctl status haproxy
 true
 EOF
 scp ${WORKSPACE}/install_ha_proxy.sh ${ha_proxy_ip}:/tmp
-ssh ${ha_proxy_ip} "sudo bash /tmp/install_ha_proxy.sh"
+${SSH} ${ha_proxy_ip} "sudo bash /tmp/install_ha_proxy.sh"
 scp ${WORKSPACE}/haproxy.cfg ${ha_proxy_ip}:/tmp
 scp ${WORKSPACE}/deploy_ha_proxy.sh ${ha_proxy_ip}:/tmp
-ssh ${ha_proxy_ip} "sudo bash /tmp/deploy_ha_proxy.sh"
+${SSH} ${ha_proxy_ip} "sudo bash /tmp/deploy_ha_proxy.sh"
 }
 
 function collect_logs_and_exit (){
@@ -266,19 +269,21 @@ for i in `seq 1 ${NUM_ODL_SYSTEM}`
 do
     CONTROLLERIP=ODL_SYSTEM_${i}_IP
     echo "killing karaf process..."
-    ssh "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh'
+    ${SSH} "${!CONTROLLERIP}" bash -c 'ps axf | grep karaf | grep -v grep | awk '"'"'{print "kill -9 " $1}'"'"' | sh'
 done
+
 sleep 5
 for i in `seq 1 ${NUM_ODL_SYSTEM}`
 do
     CONTROLLERIP=ODL_SYSTEM_${i}_IP
-    ssh "${!CONTROLLERIP}"  "mv /tmp/${BUNDLEFOLDER}/data/log/ /tmp/odl_log/"
-    ssh "${!CONTROLLERIP}"  'tar -cf - "/tmp/odl_log/" | xz -9 -c - > /tmp/odl_karaf_log.tar.xz'
-    scp "${!CONTROLLERIP}:/tmp/odl_karaf_log.tar.xz" "odl${i}_karaf.log.tar.xz"
+    ${SSH} "${!CONTROLLERIP}"  "cp -r /tmp/${BUNDLEFOLDER}/data/log /tmp/odl_log"
+    ${SSH} "${!CONTROLLERIP}"  "tar -cf /tmp/odl${i}_karaf.log.tar /tmp/odl_log/*"
+    scp "${!CONTROLLERIP}:/tmp/odl${i}_karaf.log.tar" "${WORKSPACE}/odl${i}_karaf.log.tar"
+    tar -xvf ${WORKSPACE}/odl${i}_karaf.log.tar -C . --strip-components 2 --transform s/karaf/odl${i}_karaf/g
+    rm ${WORKSPACE}/odl${i}_karaf.log.tar
 done
 
-ssh ${OPENSTACK_CONTROL_NODE_IP} "xz -9ekvv /opt/stack/devstack/nohup.out"
-scp ${OPENSTACK_CONTROL_NODE_IP}:/opt/stack/devstack/nohup.out.xz "openstack_control_stack.log.xz"
+scp ${OPENSTACK_CONTROL_NODE_IP}:/opt/stack/devstack/nohup.out "openstack_control_stack.log"
 for i in `seq 1 $((NUM_OPENSTACK_SYSTEM - 1))`
 do
     OSIP=OPENSTACK_COMPUTE_NODE_${i}_IP
@@ -286,8 +291,13 @@ do
 done
 }
 
+cat > ${WORKSPACE}/disable_firewall.sh << EOF
+sudo systemctl stop firewalld
+sudo systemctl stop iptables
+true
+EOF
+
 cat > ${WORKSPACE}/get_devstack.sh << EOF
-sudo yum update -y
 sudo systemctl stop firewalld
 sudo yum install bridge-utils -y
 sudo systemctl stop  NetworkManager
@@ -300,6 +310,7 @@ echo "127.0.0.1    localhost \${HOSTNAME}" > /tmp/hosts
 echo "::1   localhost  \${HOSTNAME}" >> /tmp/hosts
 sudo mv /tmp/hosts /etc/hosts
 sudo /usr/sbin/brctl addbr br100
+#sudo ifconfig eth0 mtu 2000 
 sudo mkdir /opt/stack
 sudo chmod 777 /opt/stack
 cd /opt/stack
@@ -317,7 +328,7 @@ fi
 os_node_list=()
 echo "Stack the Control Node"
 scp ${WORKSPACE}/get_devstack.sh ${OPENSTACK_CONTROL_NODE_IP}:/tmp
-ssh ${OPENSTACK_CONTROL_NODE_IP} "bash /tmp/get_devstack.sh"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "bash /tmp/get_devstack.sh"
 create_control_node_local_conf
 scp ${WORKSPACE}/local.conf_control ${OPENSTACK_CONTROL_NODE_IP}:/opt/stack/devstack/local.conf
 ssh ${OPENSTACK_CONTROL_NODE_IP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
@@ -330,7 +341,7 @@ for i in `seq 1 $((NUM_OPENSTACK_SYSTEM - 1))`
 do
     COMPUTEIP=OPENSTACK_COMPUTE_NODE_${i}_IP
     scp ${WORKSPACE}/get_devstack.sh  ${!COMPUTEIP}:/tmp
-    ssh ${!COMPUTEIP} "bash /tmp/get_devstack.sh"
+    ${SSH} ${!COMPUTEIP} "bash /tmp/get_devstack.sh"
     create_compute_node_local_conf ${!COMPUTEIP}
     scp ${WORKSPACE}/local.conf_compute_${!COMPUTEIP} ${!COMPUTEIP}:/opt/stack/devstack/local.conf
     ssh ${!COMPUTEIP} "cd /opt/stack/devstack; nohup ./stack.sh > /opt/stack/devstack/nohup.out 2>&1 &"
@@ -358,12 +369,12 @@ EOF
 iteration=0
 in_progress=1
 while [ ${in_progress} -eq 1 ]; do
-iterator=$(($iterator + 1))
+iteration=$(($iteration + 1))
 for index in ${!os_node_list[@]}
 do
 echo "Check the status of stacking in ${os_node_list[index]}"
 scp ${WORKSPACE}/check_stacking.sh  ${os_node_list[index]}:/tmp
-ssh ${os_node_list[index]} "bash /tmp/check_stacking.sh"
+${SSH} ${os_node_list[index]} "bash /tmp/check_stacking.sh"
 scp ${os_node_list[index]}:/tmp/stack_progress .
 #debug
 cat stack_progress
@@ -390,18 +401,27 @@ done
 
 #Need to disable firewalld and iptables in control node
 echo "Stop Firewall in Control Node for compute nodes to be able to reach the ports and add to hypervisor-list"
-ssh ${OPENSTACK_CONTROL_NODE_IP} "sudo systemctl stop firewalld; sudo systemctl stop iptables"
+scp ${WORKSPACE}/disable_firewall.sh ${OPENSTACK_CONTROL_NODE_IP}:/tmp
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo bash /tmp/disable_firewall.sh"
 echo "sleep for a minute and print hypervisor-list"
 sleep 60
-ssh ${OPENSTACK_CONTROL_NODE_IP} "cd /opt/stack/devstack; source openrc admin admin; nova hypervisor-list;nova-manage service list;sudo systemctl status libvirtd"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "cd /opt/stack/devstack; source openrc admin admin; nova hypervisor-list;nova-manage service list"
 
 #Need to disable firewalld and iptables in compute nodes as well
 for i in `seq 1 $((NUM_OPENSTACK_SYSTEM - 1))`
 do
     OSIP=OPENSTACK_COMPUTE_NODE_${i}_IP
-    ssh "${!OSIP}" "sudo systemctl stop firewalld; sudo systemctl stop iptables"
+    scp ${WORKSPACE}/disable_firewall.sh "${!OSIP}:/tmp"
+    ${SSH} "${!OSIP}" "sudo bash /tmp/disable_firewall.sh"
 done
 
+# upgrading pip, urllib3 and httplib2 so that tempest tests can be run on ${OPENSTACK_CONTROL_NODE_IP}
+# this needs to happen after devstack runs because it seems devstack is pulling in specific versions
+# of these libs that are not working for tempest.
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo pip install --upgrade pip"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo pip install urllib3 --upgrade"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo pip install httplib2 --upgrade"
+
 echo "Locating test plan to use..."
 testplan_filepath="${WORKSPACE}/test/csit/testplans/${STREAMTESTPLAN}"
 if [ ! -f "${testplan_filepath}" ]; then
@@ -424,6 +444,12 @@ pybot -N ${TESTPLAN} -c critical -e exclude -v BUNDLEFOLDER:${BUNDLEFOLDER} -v W
 -v DEVSTACK_DEPLOY_PATH:/opt/stack/devstack -v USER_HOME:${HOME} ${TESTOPTIONS} ${SUITES} || true
 
 echo "Tests Executed"
+DEVSTACK_TEMPEST_DIR="/opt/stack/tempest"
+if $(ssh ${OPENSTACK_CONTROL_NODE_IP} "sudo sh -c '[ -f ${DEVSTACK_TEMPEST_DIR}/.testrepository/0]"); then # if Tempest results exist
+    ssh ${OPENSTACK_CONTROL_NODE_IP} "sudo sh -c '${DEVSTACK_TEMPEST_DIR}/.tox/tempest/bin/subunit-1to2 < ${DEVSTACK_TEMPEST_DIR}/.testrepository/0 > ${DEVSTACK_TEMPEST_DIR}/subunit_log.txt'"
+    ssh ${OPENSTACK_CONTROL_NODE_IP} "sudo sh -c '${DEVSTACK_TEMPEST_DIR}/.tox/tempest/bin/python ${DEVSTACK_TEMPEST_DIR}/.tox/tempest/lib/python2.7/site-packages/os_testr/subunit2html.py ${DEVSTACK_TEMPEST_DIR}/subunit_log.txt ${DEVSTACK_TEMPEST_DIR}/tempest_results.html'"
+    scp ${OPENSTACK_CONTROL_NODE_IP}:${DEVSTACK_TEMPEST_DIR}/tempest_results.html ${WORKSPACE}/
+fi
 collect_logs_and_exit
 
 true  # perhaps Jenkins is testing last exit code