X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fcperf%2Fcperf-ci-jobs.yml;h=d1914f6f134417d4737e96ce54ba41b117d82fc5;hb=2540e27a611794078975c35a2041df80724a9008;hp=b824f78bd3b0be319dbdc80633413e9e9efa9895;hpb=bae70e5012d14c4cc415c21e279ea8f3d81e4480;p=releng.git diff --git a/jjb/cperf/cperf-ci-jobs.yml b/jjb/cperf/cperf-ci-jobs.yml index b824f78bd..d1914f6f1 100644 --- a/jjb/cperf/cperf-ci-jobs.yml +++ b/jjb/cperf/cperf-ci-jobs.yml @@ -42,9 +42,11 @@ concurrent: true properties: + - logrotate-default - throttle: enabled: true max-per-node: 1 + option: 'project' wrappers: - build-name: @@ -56,6 +58,7 @@ parameters: - project-parameter: project: '{project}' + branch: '{branch}' - '{pod}-defaults' - '{installer}-defaults' - cperf-parameter: @@ -64,10 +67,7 @@ docker-tag: '{docker-tag}' scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: '{branch}' + - git-scm builders: - 'cperf-{testsuite}-builder' @@ -104,13 +104,74 @@ ######################## - builder: name: cperf-daily-builder + builders: + - 'cperf-cleanup' + - 'cperf-robot-cbench' + +- builder: + name: cperf-robot-cbench builders: - shell: | #!/bin/bash - set +e - # TODO: need to figure out the logic to get ${CONTROLLER_IP} used below + set -o errexit + set -o nounset + set -o pipefail + undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \ + grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") + INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'}) + sudo scp $INSTALLER_IP:/home/stack/stackrc /tmp/stackrc + source /tmp/stackrc + + # robot suites need the ssh key to log in to controller nodes, so throwing it + # in tmp, and mounting /tmp as $HOME as far as robot is concerned + sudo mkdir -p /tmp/.ssh + sudo scp $INSTALLER_IP:/home/stack/.ssh/id_rsa /tmp/.ssh/ + sudo chmod -R 0600 /tmp/.ssh + + # cbench requires the openflow drop test feature to be installed. + sshpass -p karaf ssh -o StrictHostKeyChecking=no \ + -o UserKnownHostsFile=/dev/null \ + -o LogLevel=error \ + -p 8101 karaf@$SDN_CONTROLLER_IP \ + feature:install odl-openflowplugin-flow-services-ui odl-openflowplugin-drop-test + docker pull opnfv/cperf:$DOCKER_TAG - robot_cmd="pybot -e exclude -v ODL_SYSTEM_IP:${CONTROLLER_IP} -v switch_count:100 -v loops:10 \ - -v TOOLS_SYSTEM_IP:localhost -v duration_in_seconds:60" - robot_suite="/home/opnfv/repos/test/csit/suites/openflowplugin/Performance/010_Cbench.robot" - sudo docker run opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} + + robot_cmd="pybot -e exclude -L TRACE \ + -v ODL_SYSTEM_1_IP:${SDN_CONTROLLER_IP} \ + -v ODL_SYSTEM_IP:${SDN_CONTROLLER_IP} \ + -v BUNDLEFOLDER:/opt/opendaylight \ + -v RESTCONFPORT:8081 \ + -v USER_HOME:/tmp \ + -v USER:heat-admin \ + -v ODL_SYSTEM_USER:heat-admin \ + -v TOOLS_SYSTEM_IP:localhost \ + -v of_port:6653" + robot_suite="/home/opnfv/repos/odl_test/csit/suites/openflowplugin/Performance/010_Cbench.robot" + + docker run -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} + +- builder: + name: cperf-cleanup + builders: + - shell: | + #!/bin/bash + [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" + + echo "Cleaning up docker containers/images..." + # Remove previous running containers if exist + if [[ ! -z $(docker ps -a | grep opnfv/cperf) ]]; then + echo "Removing existing opnfv/cperf containers..." + docker ps -a | grep opnfv/cperf | awk '{print $1}' | xargs docker rm -f >${redirect} + fi + + # Remove existing images if exist + if [[ ! -z $(docker images | grep opnfv/cperf) ]]; then + echo "Docker images to remove:" + docker images | head -1 && docker images | grep opnfv/cperf >${redirect} + image_tags=($(docker images | grep opnfv/cperf | awk '{print $2}')) + for tag in "${image_tags[@]}"; do + echo "Removing docker image opnfv/cperf:$tag..." + docker rmi opnfv/cperf:$tag >/dev/null + done + fi