Merge "Migrate docs-rtd to archive-builds macro"
[releng/builder.git] / jjb / integration / include-raw-integration-deploy-openstack-run-test.sh
index 885936a7d657b5f43237715559a6969da61bd9a4..e58789936988616c796820bbf96a8ac60983ff6a 100644 (file)
@@ -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
 
@@ -150,8 +157,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 +265,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 +288,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 +396,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,6 +437,7 @@ 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"