X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-deploy-openstack-run-test.sh;h=ea00cfc4e8a8aceea48c5f82523d12c8ee2a646f;hb=9a67d9679db2616ac6caa8dd3975cd217427f1d7;hp=e58789936988616c796820bbf96a8ac60983ff6a;hpb=02490174bf24443ac207f4f810bf2fd9d3fc1ec6;p=releng%2Fbuilder.git diff --git a/jjb/integration/include-raw-integration-deploy-openstack-run-test.sh b/jjb/integration/include-raw-integration-deploy-openstack-run-test.sh index e58789936..ea00cfc4e 100644 --- a/jjb/integration/include-raw-integration-deploy-openstack-run-test.sh +++ b/jjb/integration/include-raw-integration-deploy-openstack-run-test.sh @@ -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 @@ -88,14 +90,24 @@ ODL_MGR_IP=${ODL_SYSTEM_1_IP} EOF fi +# if we are using the old netvirt impl, as determined by the feature name +# odl-ovsdb-openstack (note: new impl is odl-netvirt-openstack) then we +# want ODL_L3 to be True. New impl wants it False +if [[ ${CONTROLLERFEATURES} == *"odl-ovsdb-openstack"* ]]; then + ODL_L3=True +else + ODL_L3=False +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 -ODL_L3=True +ODL_L3=${ODL_L3} PUBLIC_INTERFACE=br100 [[post-config|\$NEUTRON_CONF]] [DEFAULT] @@ -191,7 +203,7 @@ if [ "${ODL_ENABLE_L3_FWD}" == "yes" ]; then cat >> ${local_conf_file_name} << EOF # Uncomment lines below if odl-compute is to be used for l3 forwarding Q_L3_ENABLED=True -ODL_L3=True +ODL_L3=${ODL_L3} PUBLIC_INTERFACE=br100 EOF fi @@ -254,10 +266,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,25 +278,30 @@ 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 +# FIXME: Do not create .tar and gzip before copying. for i in `seq 1 ${NUM_ODL_SYSTEM}` do CONTROLLERIP=ODL_SYSTEM_${i}_IP - ssh "${!CONTROLLERIP}" "cp -r /tmp/${BUNDLEFOLDER}/data/log /tmp/odl_log" - ssh "${!CONTROLLERIP}" "tar -cf /tmp/odl${i}_karaf.log.tar /tmp/odl_log/*" + ${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 scp ${OPENSTACK_CONTROL_NODE_IP}:/opt/stack/devstack/nohup.out "openstack_control_stack.log" +${SSH} ${OPENSTACK_CONTROL_NODE_IP} "tar -cf /tmp/control_node_openstack_logs.tgz /opt/stack/logs/*" +scp "${OPENSTACK_CONTROL_NODE_IP}:/tmp/control_node_openstack_logs.tgz" control_node_openstack_logs.tgz for i in `seq 1 $((NUM_OPENSTACK_SYSTEM - 1))` do OSIP=OPENSTACK_COMPUTE_NODE_${i}_IP scp "${!OSIP}:/opt/stack/devstack/nohup.out" "openstack_compute_stack_${i}.log" + ${SSH} "${!OSIP}" "tar -cf /tmp/compute_node_${i}_openstack_logs.tgz /opt/stack/logs/*" + scp "${!OSIP}:/tmp/compute_node_${i}_openstack_logs.tgz" "compute_node_${i}_openstack_logs.tgz" done } @@ -307,7 +324,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 ifconfig eth0 mtu 2000 sudo mkdir /opt/stack sudo chmod 777 /opt/stack cd /opt/stack @@ -325,7 +342,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 &" @@ -338,7 +355,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 &" @@ -366,12 +383,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 @@ -399,25 +416,25 @@ 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" scp ${WORKSPACE}/disable_firewall.sh ${OPENSTACK_CONTROL_NODE_IP}:/tmp -ssh ${OPENSTACK_CONTROL_NODE_IP} "sudo bash /tmp/disable_firewall.sh" +${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" +${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 scp ${WORKSPACE}/disable_firewall.sh "${!OSIP}:/tmp" - ssh "${!OSIP}" "sudo bash /tmp/disable_firewall.sh" + ${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" +${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}" @@ -441,6 +458,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