Cperf: Enable csit live migration
[releng.git] / jjb / cperf / cperf-robot-netvirt-csit.sh
index 0f4bb23..c30f10a 100755 (executable)
@@ -4,6 +4,11 @@ set -o errexit
 set -o nounset
 set -o pipefail
 
+if [[ ! -z ${SKIP_CSIT+x} && "$SKIP_CSIT" == "True" ]]; then
+  echo "Skipping csit run"
+  exit 0
+fi
+
 if [ "$OS_VERSION" == 'master' ]; then
   FULL_OS_VER='master'
 else
@@ -85,13 +90,14 @@ fi
 # Upload glance image into openstack
 wget -O ${WORKSPACE}/cirros-0.3.5-x86_64-disk.img http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
 export ANSIBLE_HOST_KEY_CHECKING=False
-ansible-playbook -i ${CONTROLLER_1_IP}, -u heat-admin --key-file ${WORKSPACE}/id_rsa ${REL_PATH}/cirros-upload.yaml.ansible -vvv
+ansible-playbook -i ${CONTROLLER_1_IP}, -u heat-admin --key-file ${WORKSPACE}/id_rsa ${REL_PATH}/cirros-upload.yaml.ansible --ssh-extra-args='-o StrictHostKeyChecking=no  -o UserKnownHostsFile=/dev/null' -vvv
 
 LOGS_LOCATION=/tmp/robot_results
 
 robot_cmd="pybot \
   --removekeywords wuks \
   --xunit robotxunit.xml \
+  --name 'CSIT' \
   -e exclude \
   -d $LOGS_LOCATION \
   -v BUNDLEFOLDER:/opt/opendaylight \
@@ -139,23 +145,29 @@ SUITE_HOME='/home/opnfv/repos/odl_test/csit/suites'
 
 # Disabled suites
 #
-# ${SUITE_HOME}/openstack/connectivity/live_migration.robot
-# Live migration will not work unless we use a shared storage backend like
-# Ceph which we do not currently use with CSIT images
+# ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot
+# This suite fails with an error indicating the connection was closed
+# to the overcloud control node:
+# https://build.opnfv.org/ci/job/cperf-apex-csit-master/104/consoleFull
 #
-
-suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
-        ${SUITE_HOME}/openstack/connectivity/l3.robot \
-        ${SUITE_HOME}/openstack/connectivity/external_network.robot \
-        ${SUITE_HOME}/openstack/connectivity/security_group.robot \
-        ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \
-        ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \
-        ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \
-        ${SUITE_HOME}/netvirt/vpnservice/vpn_basic_ipv6.robot \
-        ${SUITE_HOME}/netvirt/elan/elan.robot \
-        ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \
-        ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \
-        ${SUITE_HOME}/integration/Create_JVM_Plots.robot"
+# Minimize HA CSIT as it does not pass all suites
+if [ "$NUM_CONTROL_NODES" -eq 3 ]; then
+  suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
+          ${SUITE_HOME}/openstack/connectivity/l3.robot"
+else
+  suites="${SUITE_HOME}/openstack/connectivity/l2.robot \
+          ${SUITE_HOME}/openstack/connectivity/l3.robot \
+          ${SUITE_HOME}/openstack/connectivity/live_migration.robot \
+          ${SUITE_HOME}/openstack/connectivity/external_network.robot \
+          ${SUITE_HOME}/openstack/connectivity/security_group.robot \
+          ${SUITE_HOME}/openstack/securitygroup/neutron_security_group.robot \
+          ${SUITE_HOME}/openstack/securitygroup/security_group_l3bcast.robot \
+          ${SUITE_HOME}/netvirt/vpnservice/vpn_basic.robot \
+          ${SUITE_HOME}/netvirt/elan/elan.robot \
+          ${SUITE_HOME}/netvirt/vpnservice/arp_learning.robot \
+          ${SUITE_HOME}/netvirt/l2l3_gatewaymac_arp.robot \
+          ${SUITE_HOME}/integration/Create_JVM_Plots.robot"
+fi
 
 echo "Robot command set: ${robot_cmd}"
 echo "Running robot..."
@@ -166,7 +178,8 @@ docker run -i --net=host \
   opnfv/cperf:$DOCKER_TAG \
   /bin/bash -c "source /tmp/overcloudrc; mkdir -p \$HOME/.ssh; cp /tmp/id_rsa \$HOME/.ssh; \
   cd /home/opnfv/repos/odl_test/ && git pull origin master; \
+  pip install odltools; \
   ${robot_cmd} ${suites};"
 
 echo "Running post CSIT clean"
-ansible-playbook -i ${CONTROLLER_1_IP}, -u heat-admin --key-file ${WORKSPACE}/id_rsa ${REL_PATH}/csit-clean.yaml.ansible -vvv
+ansible-playbook -i ${CONTROLLER_1_IP}, -u heat-admin --key-file ${WORKSPACE}/id_rsa ${REL_PATH}/csit-clean.yaml.ansible --ssh-extra-args='-o StrictHostKeyChecking=no  -o UserKnownHostsFile=/dev/null' -vvv