jjb/**/*.sh,
scripts/**/*.sh
ignore = jenkins-scripts/*-local-env.sh,
- jjb/integration/*.sh
+ jjb/integration/include-raw-integration-compare-distributions.sh,
+ jjb/integration/include-raw-integration-configure-clustering.sh,
+ jjb/integration/include-raw-integration-deploy-controller-offline.sh,
+ jjb/integration/include-raw-integration-deploy-controller-run-test.sh,
+ jjb/integration/include-raw-integration-deploy-controller-verify.sh,
+ jjb/integration/include-raw-integration-deploy-openstack-run-test.sh,
+ jjb/integration/include-raw-integration-distribution-check.sh,
+ jjb/integration/include-raw-integration-get-bundle-url-root.sh,
+ jjb/integration/include-raw-integration-get-bundle-url.sh,
+ jjb/integration/include-raw-integration-get-bundle-vars.sh,
+ jjb/integration/include-raw-integration-get-slave-addresses.sh,
+ jjb/integration/include-raw-integration-list-jobs.sh,
+ jjb/integration/include-raw-integration-multipatch-distribution-test.sh,
+ jjb/integration/include-raw-integration-replace-block-text.sh,
+ jjb/integration/include-raw-integration-start-cluster-run-test.sh,
+ jjb/integration/include-raw-integration-replace-block-text.sh,
+ jjb/integration/include-raw-integration-start-cluster-run-test.sh
shell = bash
indent_size = 4
use_spaces = yeah
* CentOS 7 - java-builder - 20170311-0517
* CentOS 7 - robot - 20170117-0004
* CentOS 7 - robot - 20170210-1803
+* CentOS 7 - robot - 20170328-0206
* Fedora 23 (20151030 cloud)
* Ubuntu 14.04 - devstack - 20170117-0004
* Ubuntu 14.04 - docker - 20170117-0003
--- /dev/null
+---
+- project:
+ name: aaa-csit-tls
+ jobs:
+ - '{project}-csit-1node-{functionality}-{install}-{stream}'
+
+ # The project name
+ project: 'aaa'
+
+ # The functionality under test
+ functionality: 'tls'
+
+ # Project branches
+ stream:
+ - carbon:
+ branch: 'master'
+ jre: 'openjdk8'
+
+ install:
+ - only:
+ scope: 'only'
+
+ # Features to install
+ install-features: odl-restconf,
+ odl-netconf-all,
+ http
+
+ # Robot custom options
+ robot-options: ''
+
+ # Don't spin up mininet vms as aaa-csit-authn jobs don't need them
+ tools_system_count: 0
- maven-target:
maven-version: '{maven-version}'
pom: 'pom.xml'
- goals: >
- --quiet dependency:sources
+ goals: |
+ dependency:sources
+ --quiet
-DoutputFile=$WORKSPACE/sources.log
-DappendOutput
- -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ {opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx4096m -XX:MaxPermSize=1024m'
settings: '{settings}'
- maven-exec:
maven-version: 'mvn33'
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- autorelease-maven-deploy
- autorelease-get-integration-test-variables
- autorelease-maven-sources:
+ opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
maven-version: 'mvn33'
settings: 'autorelease-settings'
global-settings: 'odl-global-settings'
- maven-exec:
maven-version: 'mvn33'
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- maven-target:
maven-version: 'mvn33'
pom: 'pom.xml'
- goals: >
- clean deploy -V -B -Pintegrationtests,docs,repoBuild -Djenkins
+ goals: |
+ clean deploy
+ -Pintegrationtests,docs,repoBuild
-Dcheckstyle.skip=true
- -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
-DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
+ {opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx10g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
settings: 'autorelease-settings'
- autorelease-maven-deploy
- autorelease-get-integration-test-variables
- autorelease-maven-sources:
+ opendaylight-infra-mvn-opts: '{opendaylight-infra-mvn-opts}'
maven-version: 'mvn33'
settings: 'autorelease-settings'
global-settings: 'odl-global-settings'
condition: UNSTABLE_OR_BETTER
property-file: variables.jenkins-trigger
fail-on-missing: true
+ - project: 'integration-distribution-test-{integration-test}'
+ condition: FAILED
- project: 'packaging-build-rpm-master'
condition: UNSTABLE_OR_BETTER
predefined-parameters: DOWNLOAD_URL=$BUNDLEURL
"stage/org/opendaylight" m2repo/org/
"$MVN" -V -B org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8:deploy-staged-repository \
+ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
-DrepositoryDirectory="$(pwd)/m2repo" \
-DnexusUrl="$NEXUS_STAGING_URL" \
-DstagingProfileId="$NEXUS_STAGING_PROFILE" \
--- /dev/null
+---
+- project:
+ name: bier-csit-basic
+ jobs:
+ - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - '{project}-csit-verify-1node-{functionality}'
+
+ # The project name
+ project: 'bier'
+
+ # The functionality under test
+ functionality: 'basic'
+
+ # Project branches
+ stream:
+ - carbon:
+ branch: 'master'
+ jre: 'openjdk8'
+
+ install:
+ - only:
+ scope: 'only'
+ - all:
+ scope: 'all'
+
+ # Features to install
+ install-features: 'odl-bier-all'
+
+ # Robot custom options
+ robot-options: ''
jobs:
- 'docs-merge-rtd-{stream}'
- 'docs-verify-rtd-{stream}'
+ - '{project-name}-verify-tox-{stream}'
stream:
- carbon:
- beryllium:
branch: 'stable/beryllium'
- project: 'docs'
- rtdproject: 'opendaylight'
+ project: docs
+ project-name: docs
+ rtdproject: opendaylight
archive-artifacts: 'docs/_build/html/**'
- job-template:
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
# Mininet configuration
tools_system_count: 2
- tools_system_image: Ubuntu 14.04 - mininet-ovs-23 - 20170210-0414
+ tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
# Features to install
install-features: 'odl-genius-ui'
shopt -s globstar # Enable globstar to copy archives
for f in $ARCHIVE_ARTIFACTS; do
[[ -e $f ]] || continue # handle the case of no files to archive
- echo "Archiving $f"
+ echo "Archiving $f" >> "$WORKSPACE/.archives/$ARCHIVES_DIR/_archives.log"
dir=$(dirname "$f")
mkdir -p "$WORKSPACE/archives/$dir"
mv "$f" "$WORKSPACE/archives/$f"
# Compress Java heap dumps using xz
find "$ARCHIVES_DIR" -type f -name \*.hprof -print0 | xargs -0 xz
-zip -r archives.zip "$JENKINS_HOSTNAME/" > "$ARCHIVES_DIR/_archives-zip.log"
+zip -r archives.zip "$JENKINS_HOSTNAME/" >> "$ARCHIVES_DIR/_archives.log"
du -sh archives.zip
if [ -d "$WORKSPACE/.venv-openstack" ]; then
# shellcheck disable=SC1090
source "$WORKSPACE/.venv-openstack/bin/activate"
- OS_STATUS=$(openstack --os-cloud rackspace stack show -f json -c stack_status "$STACK_NAME" | jq -r '.stack_status')
+ OS_STATUS=$(openstack stack show -f json -c stack_status "$STACK_NAME" | jq -r '.stack_status')
if [ "$OS_STATUS" == "CREATE_COMPLETE" ] || [ "$OS_STATUS" == "CREATE_FAILED" ]; then
echo "Deleting $STACK_NAME"
- openstack --os-cloud rackspace stack delete --yes "$STACK_NAME"
+ openstack stack delete --yes "$STACK_NAME"
fi
fi
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
scp ${OPENSTACK_CONTROL_NODE_IP}:/opt/stack/devstack/nohup.out ${OS_CTRL_FOLDER}/stack.log
scp ${OPENSTACK_CONTROL_NODE_IP}:/var/log/openvswitch/ovs-vswitchd.log ${OS_CTRL_FOLDER}/ovs-vswitchd.log
scp ${OPENSTACK_CONTROL_NODE_IP}:/etc/neutron/neutron.conf ${OS_CTRL_FOLDER}/neutron.conf
+scp ${OPENSTACK_CONTROL_NODE_IP}:/etc/nova/nova.conf ${OS_CTRL_FOLDER}/nova.conf
rsync -avhe ssh ${OPENSTACK_CONTROL_NODE_IP}:/opt/stack/logs/* ${OS_CTRL_FOLDER} # rsync to prevent copying of symbolic links
scp extra_debug.sh ${OPENSTACK_CONTROL_NODE_IP}:/tmp
${SSH} ${OPENSTACK_CONTROL_NODE_IP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log"
OPENSTACK_SYSTEM=()
source $WORKSPACE/.venv-openstack/bin/activate
-ADDR=(`openstack --os-cloud rackspace stack show -f json -c outputs $STACK_NAME | \
+ADDR=(`openstack stack show -f json -c outputs $STACK_NAME | \
jq -r '.outputs[] | \
select(.output_key | match("^vm_[0-9]+_ips$")) | \
.output_value | .[]'`)
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
-ROBOT_VENV=`mktemp -d --suffix=robot_venv`
-echo ROBOT_VENV=${ROBOT_VENV} >> ${WORKSPACE}/env.properties
+ROBOT_VENV=$(mktemp -d --suffix=robot_venv)
+echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
# The --system-site-packages parameter allows us to pick up system level
# installed packages. This allows us to bake matplotlib which takes very long
# to install into the image.
-virtualenv --system-site-packages ${ROBOT_VENV}
-source ${ROBOT_VENV}/bin/activate
+virtualenv --system-site-packages "${ROBOT_VENV}"
+# shellcheck disable=SC1090
+source "${ROBOT_VENV}/bin/activate"
set -exu
pip install --upgrade pip
pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipaddr pyhocon
-pip install --upgrade robotframework{,-{httplibrary,requests,sshlibrary,selenium2library}}
-pip install --upgrade robotframework-pycurllibrary
+pip install --upgrade robotframework-httplibrary \
+ robotframework-requests \
+ robotframework-sshlibrary \
+ robotframework-selenium2library \
+ robotframework-pycurllibrary
# Module jsonpath is needed by current AAA idmlite suite.
pip install --upgrade jsonpath-rw
+#!/bin/bash
# Make sure changes merged after patch creation are applied.
set -exu
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/test'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: '$GERRIT_REFSPEC'
jre: 'openjdk8'
csit-list: '{csit-list-carbon}'
csit-weekly-list: '{csit-weekly-list-carbon}'
- schedule: 'H H * * 0-4'
schedule-weekly: 'H 12 * * 0'
- boron:
jre: 'openjdk8'
csit-list: '{csit-list-boron}'
csit-weekly-list: ''
- schedule: 'H H * * 0-4'
schedule-weekly: 'H 12 * * 0'
- beryllium:
jre: 'openjdk7'
csit-list: '{csit-list-beryllium}'
csit-weekly-list: ''
- schedule: 'H H * * 6'
schedule-weekly: 'H 12 * * 0'
# tools system image
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{test-branch}'
refspec: 'refs/heads/{test-branch}'
- integration-jdk-version:
jdkversion: '{jre}'
- triggers:
- - timed: '{schedule}'
-
builders:
- trigger-builds:
- project: '{csit-list}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '$GERRIT_PROJECT'
branch: '{branch}'
refspec: '$GERRIT_REFSPEC'
- integration-distribution-branch:
branch: '{branch}'
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: 'integration/distribution'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- all:
scope: 'all'
- tools_system_image: Ubuntu 14.04 - mininet-ovs-23 - 20170210-0414
+ tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
# Features to install
install-features: 'odl-lacp-ui'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
#########################
# Fetch stack list before fetching active builds to minimize race condition
# where we might be try to delete stacks while jobs are trying to start
-OS_STACKS=($(openstack --os-cloud rackspace stack list \
+OS_STACKS=($(openstack stack list \
-f json -c "Stack Name" -c "Stack Status" \
--property "stack_status=CREATE_COMPLETE" \
--property "stack_status=DELETE_FAILED" \
continue
else
echo "Deleting orphaned stack: $stack"
- openstack --os-cloud rackspace stack delete --yes "$stack"
+ openstack stack delete --yes "$stack"
fi
done
# Print the Stack outputs parameters so that we can identify which IPs belong
# to which VM types.
-openstack --os-cloud rackspace stack show -c outputs "$STACK_NAME"
+openstack stack show -c outputs "$STACK_NAME"
# shellcheck disable=SC2006
-ADDR=(`openstack --os-cloud rackspace stack show -f json -c outputs "$STACK_NAME" | \
+ADDR=(`openstack stack show -f json -c outputs "$STACK_NAME" | \
jq -r '.outputs[] | \
select(.output_key | match("^vm_[0-9]+_ips\$")) | \
.output_value | .[]'`)
STACK_SUCCESSFUL=false
# seq X refers to waiting for X minutes for OpenStack to return
# a status that is not CREATE_IN_PROGRESS before giving up.
-openstack --os-cloud rackspace limits show --absolute
-openstack --os-cloud rackspace limits show --rate
+openstack limits show --absolute
+openstack limits show --rate
echo "Trying up to $STACK_RETRIES times to create $STACK_NAME."
for try in $(seq $STACK_RETRIES); do
# shellcheck disable=SC1083
- openstack --os-cloud rackspace stack create --timeout "$OS_TIMEOUT" -t {stack-template} -e "$WORKSPACE/opendaylight-infra-environment.yaml" --parameter "job_name=$VM_NAME" --parameter "silo=$SILO" "$STACK_NAME"
- openstack --os-cloud rackspace stack list
+ openstack stack create --timeout "$OS_TIMEOUT" -t {stack-template} -e "$WORKSPACE/opendaylight-infra-environment.yaml" --parameter "job_name=$VM_NAME" --parameter "silo=$SILO" "$STACK_NAME"
+ openstack stack list
echo "$try: Waiting for $OS_TIMEOUT minutes to create $STACK_NAME."
for i in $(seq $OS_TIMEOUT); do
sleep 60
- OS_STATUS=$(openstack --os-cloud rackspace stack show -f json -c stack_status "$STACK_NAME" | jq -r '.stack_status')
+ OS_STATUS=$(openstack stack show -f json -c stack_status "$STACK_NAME" | jq -r '.stack_status')
echo "$i: $OS_STATUS"
case "$OS_STATUS" in
;;
CREATE_FAILED)
echo "ERROR: Failed to initialize infrastructure. Deleting stack and possibly retrying to create..."
- openstack --os-cloud rackspace stack list
- openstack --os-cloud rackspace stack delete --yes "$STACK_NAME"
- openstack --os-cloud rackspace stack show "$STACK_NAME"
+ openstack stack list
+ openstack stack delete --yes "$STACK_NAME"
+ openstack stack show "$STACK_NAME"
# after stack delete, poll for 10m to know when stack is fully removed
# the logic here is that when "stack show $STACK_NAME" does not contain $STACK_NAME
# we assume it's successfully deleted and we can break to retry
for j in $(seq 20); do
sleep 30;
- STACK_SHOW=$(openstack --os-cloud rackspace stack show "$STACK_NAME")
+ STACK_SHOW=$(openstack stack show "$STACK_NAME")
echo "$j: $STACK_SHOW"
if [[ $STACK_SHOW == *"DELETE_FAILED"* ]]; then
echo "stack delete failed. trying to stack abandon now"
- openstack --os-cloud rackspace stack abandon "$STACK_NAME"
- STACK_SHOW=$(openstack --os-cloud rackspace stack show "$STACK_NAME")
+ openstack stack abandon "$STACK_NAME"
+ STACK_SHOW=$(openstack stack show "$STACK_NAME")
echo "$STACK_SHOW"
fi
if [[ $STACK_SHOW != *"$STACK_NAME"* ]]; then
done
# capture stack info in console logs
-openstack --os-cloud rackspace stack show "$STACK_NAME"
+openstack stack show "$STACK_NAME"
if ! $STACK_SUCCESSFUL; then
exit 1
# Blank line before EOF is on purpose to ensure there is spacing.
IFS=$'\n'
-IMAGES=($(openstack --os-cloud odlpriv image list --public -f value -c Name))
+IMAGES=($(openstack image list --public -f value -c Name))
for i in "${IMAGES[@]}"; do
echo "* $i" >> "$WORKSPACE/docs/cloud-images.rst"
done
decanter-appender-elasticsearch
# Robot custom options
- robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count_per_switch:2000'
+ robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count_per_switch:3125'
# Plot Info
01-plot-title: 'Flow Add rate'
decanter-appender-elasticsearch
# Robot custom options
- robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count_per_switch:2000'
+ robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count_per_switch:3125'
# Plot Info
01-plot-title: 'Flow Add rate'
decanter-appender-elasticsearch
# Robot custom options
- robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count:64000'
+ robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count:100000'
# Plot Info
01-plot-title: 'Flow Add rate'
decanter-appender-elasticsearch
# Robot custom options
- robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count:64000'
+ robot-options: '-v ODL_OF_PLUGIN:lithium -v switch_count:32 -v flow_count:100000'
# Plot Info
01-plot-title: 'Flow Add rate'
install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-app-table-miss-enforcer'
# Robot custom options
- robot-options: ''
+ robot-options: '-v SWITCHES:3'
# mininet image
tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
- only:
scope: 'only'
+ # Job images
+ odl_system_flavor: '8 GB General Purpose v1'
+
# Features to install
install-features: 'odl-openflowplugin-flow-services-ui'
# Robot custom options
- robot-options: '-v flnr:50000'
+ robot-options: '-v flnr:64000 -v swnr:32 -v fpr:200'
# Plot Info
- 01-plot-title: 'Flows (100k) Setup Time'
- 01-plot-yaxis: '[s]'
- 01-plot-group: 'Config Performance'
- 01-plot-data-file: 'flows_setup_time.csv'
-
- 02-plot-title: 'REST setup rate (for 100k flows)'
- 02-plot-yaxis: 'setup time[s], req[flows/s]'
- 02-plot-group: 'Performance Rate'
- 02-plot-data-file: 'flows_install_rate.csv'
+ 01-plot-title: 'Stats Collection Rate'
+ 01-plot-yaxis: 'flow_mods/sec'
+ 01-plot-group: 'Stats Collection Performance'
+ 01-plot-data-file: 'stats_rate.csv'
+ 02-plot-title: 'Stats Collection Time'
+ 02-plot-yaxis: 'seconds'
+ 02-plot-group: 'Stats Collection Performance'
+ 02-plot-data-file: 'stats_time.csv'
- only:
scope: 'only'
+ # Job images
+ odl_system_flavor: '8 GB General Purpose v1'
+ tools_system_image: 'Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300'
+
# Features to install
install-features: 'odl-openflowplugin-flow-services-ui'
# Robot custom options
- robot-options: '-v flnr:50000'
+ robot-options: '-v flnr:100000 -v swnr:32 -v fpr:200'
# Plot Info
- 01-plot-title: 'Flows (100k) Setup Time'
- 01-plot-yaxis: '[s]'
- 01-plot-group: 'Config Performance'
- 01-plot-data-file: 'flows_setup_time.csv'
-
- 02-plot-title: 'REST setup rate (for 100k flows)'
- 02-plot-yaxis: 'setup time[s], req[flows/s]'
- 02-plot-group: 'Performance Rate'
- 02-plot-data-file: 'flows_install_rate.csv'
+ 01-plot-title: 'Stats Collection Rate'
+ 01-plot-yaxis: 'flow_mods/sec'
+ 01-plot-group: 'Stats Collection Performance'
+ 01-plot-data-file: 'stats_rate.csv'
+ 02-plot-title: 'Stats Collection Time'
+ 02-plot-yaxis: 'seconds'
+ 02-plot-group: 'Stats Collection Performance'
+ 02-plot-data-file: 'stats_time.csv'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
archive-artifacts: ''
branch: master
distribution_branch: '$GERRIT_BRANCH'
+ os-cloud: rackspace
# Distribution bundle URL
bundleurl: 'last'
verify-stream: 'boron'
verify-jdkversion: 'openjdk8'
- # In case a CSIT job is merged without Java version specified
+ # Maven / Java
jdk: 'openjdk8'
+ opendaylight-infra-mvn-opts: |
+ --show-version
+ --batch-mode
+ -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+ -Djenkins
+ -Dmaven.repo.local=/tmp/r
+ -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
# Python
toxdir: ''
aaa-csit-1node-idmlite-only-carbon,
aaa-csit-1node-keystone-all-carbon,
aaa-csit-1node-keystone-only-carbon,
+ aaa-csit-1node-tls-only-carbon,
alto-csit-1node-setup-all-carbon,
alto-csit-1node-setup-only-carbon,
armoury-csit-1node-basic-all-carbon,
bgpcep-csit-3node-periodic-bgpclustering-all-carbon,
bgpcep-csit-3node-periodic-bgpclustering-ha-only-carbon,
bgpcep-csit-3node-periodic-bgpclustering-only-carbon,
+ bier-csit-1node-basic-all-carbon,
+ bier-csit-1node-basic-only-carbon,
capwap-csit-1node-ac-all-carbon,
capwap-csit-1node-ac-only-carbon,
centinel-csit-1node-basic-all-carbon,
sxp-csit-1node-topology-only-carbon,
sxp-csit-3node-periodic-clustering-all-carbon,
sxp-csit-3node-periodic-clustering-only-carbon,
+ sxp-csit-3node-periodic-routing-all-carbon,
+ sxp-csit-3node-periodic-routing-only-carbon,
topoprocessing-csit-1node-topology-operations-all-carbon,
topoprocessing-csit-1node-topology-operations-only-carbon,
tsdr-csit-1node-cassandra-datastore-only-carbon,
topoprocessing-csit-1node-topology-operations-all-boron,
topoprocessing-csit-1node-topology-operations-only-boron,
tsdr-csit-1node-cassandra-datastore-only-boron,
- tsdr-csit-1node-elasticsearch-datastore-only-boron,
tsdr-csit-1node-hbase-datastore-all-boron,
tsdr-csit-1node-hbase-datastore-only-boron,
tsdr-csit-1node-hsqldb-datastore-all-boron,
topoprocessing-csit-1node-topology-operations-all-beryllium,
topoprocessing-csit-1node-topology-operations-only-beryllium,
tsdr-csit-1node-cassandra-datastore-only-beryllium,
- tsdr-csit-1node-elasticsearch-datastore-only-beryllium,
tsdr-csit-1node-hbase-datastore-all-beryllium,
tsdr-csit-1node-hbase-datastore-only-beryllium,
tsdr-csit-1node-hsqldb-datastore-all-beryllium,
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: odlpriv
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
name: STACK_NAME
default: '$JOB_NAME-$BUILD_NUMBER'
description: "Used by Heat to generate a unique stack & vm name"
+ - string:
+ name: OS_CLOUD
+ default: '{os-cloud}'
+ description: |
+ The name of a cloud configuration in clouds.yaml.
+ https://docs.openstack.org/developer/python-openstackclient/
- parameter:
name: build-tag
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- maven-target:
maven-version: 'mvn33'
pom: 'pom.xml'
- goals: >
+ goals: |
clean install dependency:tree com.sonatype.clm:clm-maven-plugin:index
- -V -B -Pq
- -Djenkins
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ -Pq
+ {opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx4096m -XX:MaxPermSize=512m'
settings: '{mvn-settings}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: 'mvn33'
- goals: '{mvn-goals} -V -B -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ goals: |
+ {mvn-goals}
+ {opendaylight-infra-mvn-opts}
java-opts:
- '{mvn-opts}'
settings: '{mvn-settings}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
# TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
maven:
maven-name: 'mvn33'
- goals: >
+ goals: |
{mvn-goals}
- -V -B
- -Djenkins
-Dmerge
-Dstream={stream}
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ {opendaylight-infra-mvn-opts}
maven-opts: '{mvn-opts}'
settings: '{mvn-settings}'
settings-type: cfp
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: 'mvn33'
- goals: >
+ goals: |
{mvn-goals}
- -V -B
- -Djenkins
-Dsonar
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ {opendaylight-infra-mvn-opts}
maven-opts:
- '{mvn-opts}'
settings: '{mvn-settings}'
# We should switch to the recommended configuration of sonar once
# JJB adds support for configurating the Sonar wrapper:
# http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Jenkins
- goals: >
+ goals: |
sonar:sonar
- -V -B -Djenkins
-Dsonar
-Dsonar.host.url=https://sonar.opendaylight.org
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ {opendaylight-infra-mvn-opts}
maven-opts:
- '{mvn-opts}'
settings: '{mvn-settings}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- maven-target:
maven-version: 'mvn33'
pom: validate-pom.xml
- goals: >
+ goals: |
clean install dependency:tree
- -V -B -T1.5C -Pq
- -Djenkins
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ -T1.5C
+ -Pq
+ {opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx8g'
settings: 'autorelease-settings'
- maven-target:
maven-version: 'mvn33'
pom: 'pom.xml'
- goals: >
+ goals: |
clean validate
- -V -B -Pq
- -Djenkins
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ -Pq
+ {opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
settings: 'autorelease-settings'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
settings-file: '{mvn-settings}'
- maven-target:
maven-version: '{mvn-version}'
- goals: >
- {mvn-goals} -V -B
- -Djenkins
+ goals: |
+ {mvn-goals}
-Dstream={stream}
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ {opendaylight-infra-mvn-opts}
java-opts:
- '{mvn-opts}'
settings: '{mvn-settings}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
- 'origin/$GERRIT_BRANCH'
skip-tag: true
choosing-strategy: 'gerrit'
+ submodule:
+ recursive: true
wrappers:
- opendaylight-infra-wrappers:
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
parameters:
- opendaylight-infra-parameters:
+ os-cloud: '{os-cloud}'
project: '{project}'
branch: '{branch}'
refspec: 'refs/heads/{branch}'
--- /dev/null
+---
+- project:
+ name: sxp-csit-routing
+ jobs:
+ - '{project}-csit-3node-periodic-{functionality}-{install}-{stream}'
+
+ # The project name
+ project: 'sxp'
+
+ # The functionality under test
+ functionality: 'routing'
+
+ # Project branches
+ stream:
+ - carbon:
+ branch: 'master'
+ jre: 'openjdk8'
+
+ install:
+ - only:
+ scope: 'only'
+ - all:
+ scope: 'all'
+
+ # Features to install
+ install-features: 'odl-restconf,odl-sxp-controller,odl-sxp-route'
+
+ # Tools VMs:
+ tools_system_count: 2
+
+ # Robot custom options:
+ robot-options: ''
- carbon:
branch: 'master'
jre: 'openjdk8'
- - boron:
- branch: 'stable/boron'
- jre: 'openjdk8'
- - beryllium:
- branch: 'stable/beryllium'
- jre: 'openjdk7'
install:
- only:
# Install minimal python requirements to get virtualenv going
# Additional python dependencies should be installed via JJB configuration
# inside project jobs using a virtualenv setup.
-yum install -y python-{devel,setuptools,virtualenv} @development
+yum install -y @development \
+ python-devel \
+ python-setuptools \
+ python-virtualenv
+
+# TODO: Move docker-py and netaddr to virtualenv in the csit jobs.
+yum install -y python-docker-py \
+ python-netaddr
# Install dependencies for robotframework and robotframework-sshlibrary
# installed elsewhere