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
# 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 \
-v CONTROLLER_USER:heat-admin \
+ -v CMP_INSTANCES_SHARED_PATH:/var/lib/nova/instances/ \
-v DEFAULT_LINUX_PROMPT:\$ \
-v DEFAULT_LINUX_PROMPT_STRICT:]\$ \
-v DEFAULT_USER:heat-admin \
# 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..."
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