--- ################################### # job configuration for cperf ################################### - project: name: cperf-ci-jobs project: cperf # ------------------------------- # BRANCH ANCHORS # ------------------------------- stream: master branch: '{stream}' gs-pathname: '' docker-tag: 'latest' installer: apex testsuite: - csit - cbench jobs: - 'cperf-{installer}-{testsuite}-{stream}' - 'cperf-upload-logs-csit' ################################ # job template ################################ - job-template: name: 'cperf-{installer}-{testsuite}-{stream}' concurrent: true properties: - throttle: enabled: true max-per-node: 1 option: 'project' wrappers: - build-name: name: '$BUILD_NUMBER Suite: $CPERF_SUITE_NAME ODL BRANCH: $ODL_BRANCH' - timeout: timeout: 400 abort: true parameters: - cperf-parameter: testsuite: '{testsuite}' gs-pathname: '{gs-pathname}' docker-tag: '{docker-tag}' stream: '{stream}' builders: - 'cperf-{testsuite}-builder' - job-template: name: 'cperf-upload-logs-csit' concurrent: true disabled: false parameters: - cperf-parameter: testsuite: 'csit' gs-pathname: '{gs-pathname}' docker-tag: '{docker-tag}' stream: '{stream}' # yamllint enable rule:line-length properties: - logrotate-default - throttle: max-per-node: 1 max-total: 10 option: 'project' builders: - 'cperf-upload-logs-csit' ######################## # parameter macros ######################## - parameter: name: cperf-parameter parameters: - string: name: CPERF_SUITE_NAME default: '{testsuite}' description: "Suite name to run" - string: name: ODL_BRANCH default: 'master' description: "Branch that OpenDaylight is running" - string: name: OS_VERSION default: 'master' description: "OpenStack version (short name, no stable/ prefix)" - string: name: GS_PATHNAME default: '{gs-pathname}' description: "Version directory where the opnfv documents will be stored in gs repository" - string: name: CI_DEBUG default: 'false' description: "Show debug output information" - string: name: DOCKER_TAG default: '{docker-tag}' description: 'Tag to pull docker image' - string: name: RC_FILE_PATH default: '' description: "Path to the OS credentials file if given" - string: name: SSH_KEY_PATH default: '' description: "Path to the private SSH key to access OPNFV nodes" - string: name: NODE_FILE_PATH default: '' description: "Path to the yaml file describing overcloud nodes" - string: name: ODL_CONTAINERIZED default: 'true' description: "boolean set true if ODL on overcloud is a container" ######################## # trigger macros ######################## ######################## # builder macros ######################## - builder: name: cperf-csit-builder builders: - 'cperf-cleanup' - 'cperf-prepare-robot' - 'cperf-robot-netvirt-csit' - builder: name: cperf-cbench-builder builders: - 'cperf-cleanup' - 'cperf-prepare-robot' - 'cperf-robot-cbench' - builder: name: cperf-prepare-robot builders: - shell: !include-raw: ./cperf-prepare-robot.sh - builder: name: cperf-robot-cbench builders: - shell: | #!/bin/bash set -o errexit set -o nounset set -o pipefail # 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 robot_cmd="pybot -e exclude -L TRACE -d /tmp \ -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 -i -v /tmp:/tmp opnfv/cperf:$DOCKER_TAG ${robot_cmd} ${robot_suite} - builder: name: cperf-robot-netvirt-csit builders: - shell: !include-raw: ./cperf-robot-netvirt-csit.sh - 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 - builder: name: cperf-upload-logs-csit builders: - shell: !include-raw: ./cperf-upload-logs-csit.sh