X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Finclude-raw-integration-deploy-openstack-run-test.sh;h=ce128be455e23d2874facf250b1a5970ec1ddde3;hb=0dcb25cd9b142c67e1e1c28a2ae3ca32c7242066;hp=885936a7d657b5f43237715559a6969da61bd9a4;hpb=a3d40b277493e4c15f7ec40df3c9946a9f399939;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 885936a7d..ce128be45 100644 --- a/jjb/integration/include-raw-integration-deploy-openstack-run-test.sh +++ b/jjb/integration/include-raw-integration-deploy-openstack-run-test.sh @@ -16,28 +16,34 @@ LOGFILE=stack.sh.log SCREEN_LOGDIR=/opt/stack/data/log LOG_COLOR=False RECLONE=yes +EOF -disable_service swift -disable_service cinder -disable_service n-net -disable_service q-vpn -enable_service q-svc -enable_service q-dhcp -enable_service q-meta -enable_service tempest -enable_service n-novnc -enable_service n-cauth +IFS=, +for service_name in ${DISABLE_OS_SERVICES} +do +cat >> ${local_conf_file_name} << EOF +disable_service ${service_name} +EOF +done +for service_name in ${ENABLE_OS_SERVICES} +do +cat >> ${local_conf_file_name} << EOF +enable_service ${service_name} +EOF +done +unset IFS +cat >> ${local_conf_file_name} << EOF HOST_IP=$OPENSTACK_CONTROL_NODE_IP SERVICE_HOST=\$HOST_IP NEUTRON_CREATE_INITIAL_NETWORKS=False Q_PLUGIN=ml2 -Q_ML2_TENANT_NETWORK_TYPE=vxlan +Q_ML2_TENANT_NETWORK_TYPE=${TENANT_NETWORK_TYPE} +Q_OVS_USE_VETH=True ENABLE_TENANT_TUNNELS=True - MYSQL_HOST=\$SERVICE_HOST RABBIT_HOST=\$SERVICE_HOST GLANCE_HOSTPORT=\$SERVICE_HOST:9292 @@ -50,10 +56,11 @@ SERVICE_TOKEN=service SERVICE_PASSWORD=admin ADMIN_PASSWORD=admin -enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_BRANCH} +enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_VERSION} ODL_PORT=8080 ODL_MODE=externalodl +LIBVIRT_TYPE=qemu EOF @@ -84,7 +91,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 @@ -150,8 +158,9 @@ SERVICE_TOKEN=service SERVICE_PASSWORD=admin ADMIN_PASSWORD=admin -enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_BRANCH} +enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_VERSION} ODL_MODE=compute +LIBVIRT_TYPE=qemu EOF @@ -257,23 +266,22 @@ set +e # We do not want to create red dot just because something went wrong whi for i in `seq 1 ${NUM_ODL_SYSTEM}` do CONTROLLERIP=ODL_SYSTEM_${i}_IP - echo "dumping first 500K bytes of karaf log..." > "odl${i}_karaf.log" - ssh "${!CONTROLLERIP}" head --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" >> "odl${i}_karaf.log" - echo "dumping last 500K bytes of karaf log..." >> "odl${i}_karaf.log" - ssh "${!CONTROLLERIP}" tail --bytes=500K "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" >> "odl${i}_karaf.log" echo "killing karaf process..." 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}" xz -9ekvv "/tmp/${BUNDLEFOLDER}/data/log/karaf.log" - scp "${!CONTROLLERIP}:/tmp/${BUNDLEFOLDER}/data/log/karaf.log.xz" "odl${i}_karaf.log.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 @@ -281,14 +289,26 @@ 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 systemctl stop firewalld sudo yum install bridge-utils -y +sudo systemctl stop NetworkManager +#Disable NetworkManager and kill dhclient and dnsmasq +sudo systemctl stop NetworkManager +sudo killall dhclient +sudo killall dnsmasq #Workaround for mysql failure 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 @@ -377,6 +397,29 @@ done fi 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" +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" + +#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" +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 @@ -395,9 +438,14 @@ pybot -N ${TESTPLAN} -c critical -e exclude -v BUNDLEFOLDER:${BUNDLEFOLDER} -v W -v ODL_SYSTEM_IP:${ODL_SYSTEM_IP} -v ODL_SYSTEM_1_IP:${ODL_SYSTEM_1_IP} -v ODL_SYSTEM_2_IP:${ODL_SYSTEM_2_IP} \ -v ODL_SYSTEM_3_IP:${ODL_SYSTEM_3_IP} -v NUM_ODL_SYSTEM:${NUM_ODL_SYSTEM} -v CONTROLLER_USER:${USER} -v OS_USER:${USER} \ -v NUM_OS_SYSTEM:${NUM_OPENSTACK_SYSTEM} -v OS_CONTROL_NODE_IP:${OPENSTACK_CONTROL_NODE_IP} \ +-v OS_COMPUTE_1_IP:${OPENSTACK_COMPUTE_NODE_1_IP} -v OS_COMPUTE_2_IP:${OPENSTACK_COMPUTE_NODE_2_IP} \ -v DEVSTACK_DEPLOY_PATH:/opt/stack/devstack -v USER_HOME:${HOME} ${TESTOPTIONS} ${SUITES} || true echo "Tests Executed" +DEVSTACK_TEMPEST_DIR="/opt/stack/tempest" +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}/ collect_logs_and_exit true # perhaps Jenkins is testing last exit code