- project: name: integration-test-jobs jobs: - 'integration-verify-python' - 'integration-csit-verify-1node-library' - 'integration-distribution-test-{stream}' - 'integration-patch-test-{stream}' - 'integration-multipatch-test-{stream}' stream: - boron: branch: 'master' jdk: 'openjdk8' csit-list: > aaa-csit-1node-authn-only-{stream}, aaa-csit-1node-authn-all-{stream}, bgpcep-csit-1node-userfeatures-only-{stream}, bgpcep-csit-1node-userfeatures-all-{stream}, capwap-csit-1node-ac-only-{stream}, capwap-csit-1node-ac-all-{stream}, controller-csit-3node-clustering-only-{stream}, controller-csit-3node-clustering-all-{stream}, integration-csit-3node-basic-only-{stream}, integration-csit-3node-basic-all-{stream}, integration-distribution-offline-{stream}, l2switch-csit-1node-switch-only-{stream}, l2switch-csit-1node-switch-all-{stream}, l2switch-csit-1node-scalability-only-{stream}, l2switch-csit-1node-scalability-all-{stream}, lispflowmapping-csit-1node-msmr-only-{stream}, lispflowmapping-csit-1node-msmr-all-{stream}, nic-csit-1node-basic-all-{stream}, nic-csit-1node-basic-only-{stream}, openflowplugin-csit-1node-flow-services-only-{stream}, openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream}, openflowplugin-csit-1node-flow-services-all-{stream}, openflowplugin-csit-1node-scalability-only-{stream}, openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream}, openflowplugin-csit-1node-scalability-all-{stream}, openflowplugin-csit-1node-cbench-performance-only-{stream}, openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream}, openflowplugin-csit-1node-config-performance-only-{stream}, openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream}, ovsdb-csit-1node-netvirt-only-{stream}, ovsdb-csit-1node-netvirt-all-{stream}, ovsdb-csit-1node-southbound-only-{stream}, ovsdb-csit-1node-southbound-all-{stream}, snmp-csit-1node-basic-only-{stream}, snmp-csit-1node-basic-all-{stream}, sxp-csit-1node-basic-only-{stream}, sxp-csit-1node-basic-all-{stream}, sxp-csit-1node-filtering-only-{stream}, sxp-csit-1node-filtering-all-{stream}, sxp-csit-1node-topology-only-{stream}, sxp-csit-1node-topology-all-{stream}, topoprocessing-csit-1node-topology-operations-all-{stream}, topoprocessing-csit-1node-topology-operations-only-{stream}, tsdr-csit-1node-hbase-datastore-only-{stream}, tsdr-csit-1node-hbase-datastore-all-{stream}, usc-csit-1node-channel-only-{stream}, usc-csit-1node-channel-all-{stream}, vpnservice-csit-1node-vpnservice-only-{stream}, vpnservice-csit-1node-vpnservice-all-{stream}, vtn-csit-1node-manager-only-{stream} - beryllium: branch: 'stable/beryllium' jdk: 'openjdk7' csit-list: > aaa-csit-1node-authn-only-{stream}, aaa-csit-1node-authn-all-{stream}, bgpcep-csit-1node-userfeatures-only-{stream}, bgpcep-csit-1node-userfeatures-all-{stream}, capwap-csit-1node-ac-only-{stream}, capwap-csit-1node-ac-all-{stream}, controller-csit-3node-clustering-only-{stream}, controller-csit-3node-clustering-all-{stream}, integration-csit-3node-basic-only-{stream}, integration-csit-3node-basic-all-{stream}, integration-distribution-offline-{stream}, l2switch-csit-1node-switch-only-{stream}, l2switch-csit-1node-switch-all-{stream}, l2switch-csit-1node-scalability-only-{stream}, l2switch-csit-1node-scalability-all-{stream}, lispflowmapping-csit-1node-msmr-only-{stream}, lispflowmapping-csit-1node-msmr-all-{stream}, nic-csit-1node-basic-all-{stream}, nic-csit-1node-basic-only-{stream}, openflowplugin-csit-1node-flow-services-only-{stream}, openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream}, openflowplugin-csit-1node-flow-services-all-{stream}, openflowplugin-csit-1node-scalability-only-{stream}, openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream}, openflowplugin-csit-1node-scalability-all-{stream}, openflowplugin-csit-1node-cbench-performance-only-{stream}, openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream}, openflowplugin-csit-1node-config-performance-only-{stream}, openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream}, ovsdb-csit-1node-netvirt-only-{stream}, ovsdb-csit-1node-netvirt-all-{stream}, ovsdb-csit-1node-southbound-only-{stream}, ovsdb-csit-1node-southbound-all-{stream}, snmp-csit-1node-basic-only-{stream}, snmp-csit-1node-basic-all-{stream}, sxp-csit-1node-basic-only-{stream}, sxp-csit-1node-basic-all-{stream}, sxp-csit-1node-filtering-only-{stream}, sxp-csit-1node-filtering-all-{stream}, sxp-csit-1node-topology-only-{stream}, sxp-csit-1node-topology-all-{stream}, topoprocessing-csit-1node-topology-operations-all-{stream}, topoprocessing-csit-1node-topology-operations-only-{stream}, tsdr-csit-1node-hbase-datastore-only-{stream}, tsdr-csit-1node-hbase-datastore-all-{stream}, usc-csit-1node-channel-only-{stream}, usc-csit-1node-channel-all-{stream}, vpnservice-csit-1node-vpnservice-only-{stream}, vpnservice-csit-1node-vpnservice-all-{stream}, vtn-csit-1node-manager-only-{stream}, vtn-csit-1node-manager-all-{stream}, vtn-csit-1node-coordinator-only-{stream} - stable-lithium: branch: 'stable/lithium' jdk: 'openjdk7' csit-list: > aaa-csit-1node-authn-only-{stream}, aaa-csit-1node-authn-all-{stream}, bgpcep-csit-1node-userfeatures-only-{stream}, bgpcep-csit-1node-userfeatures-all-{stream}, capwap-csit-1node-ac-only-{stream}, capwap-csit-1node-ac-all-{stream}, controller-csit-3node-clustering-only-{stream}, integration-csit-3node-basic-only-{stream}, integration-distribution-offline-{stream}, l2switch-csit-1node-switch-only-{stream}, l2switch-csit-1node-switch-all-{stream}, l2switch-csit-1node-scalability-only-{stream}, l2switch-csit-1node-scalability-all-{stream}, lispflowmapping-csit-1node-all-only-{stream}, lispflowmapping-csit-1node-all-all-{stream}, nic-csit-1node-basic-all-{stream}, nic-csit-1node-basic-only-{stream}, openflowplugin-csit-1node-flow-services-only-{stream}, openflowplugin-csit-1node-flow-services-lithium-redesign-only-{stream}, openflowplugin-csit-1node-flow-services-all-{stream}, openflowplugin-csit-1node-scalability-only-{stream}, openflowplugin-csit-1node-scalability-lithium-redesign-only-{stream}, openflowplugin-csit-1node-scalability-all-{stream}, openflowplugin-csit-1node-cbench-performance-only-{stream}, openflowplugin-csit-1node-cbench-performance-lithium-redesign-only-{stream}, openflowplugin-csit-1node-config-performance-only-{stream}, openflowplugin-csit-1node-config-performance-lithium-redesign-only-{stream}, ovsdb-csit-1node-netvirt-only-{stream}, ovsdb-csit-1node-netvirt-all-{stream}, ovsdb-csit-1node-southbound-only-{stream}, ovsdb-csit-1node-southbound-all-{stream}, snmp-csit-1node-basic-only-{stream}, snmp-csit-1node-basic-all-{stream}, usc-csit-1node-channel-only-{stream}, usc-csit-1node-channel-all-{stream}, vpnservice-csit-1node-vpnservice-only-{stream}, vpnservice-csit-1node-vpnservice-all-{stream}, vtn-csit-1node-manager-li-only-{stream}, vtn-csit-1node-manager-li-all-{stream}, vtn-csit-1node-coordinator-only-{stream} - stable-helium: branch: 'stable/helium' jdk: 'openjdk7' csit-list: > aaa-csit-1node-imds-authn-only-{stream}, aaa-csit-1node-imds-authn-all-{stream}, controller-csit-1node-imds-nsf-only-{stream}, controller-csit-1node-imds-nsf-all-{stream}, integration-csit-3node-basic-only-{stream}, integration-csit-3node-basic-all-{stream}, l2switch-csit-1node-imds-switch-only-{stream}, l2switch-csit-1node-imds-switch-all-{stream}, lispflowmapping-csit-1node-imds-all-only-{stream}, lispflowmapping-csit-1node-imds-all-all-{stream}, openflowplugin-csit-1node-imds-flow-services-only-{stream}, openflowplugin-csit-1node-imds-flow-services-all-{stream}, vtn-csit-1node-imds-manager-only-{stream}, vtn-csit-1node-imds-manager-all-{stream} # Template: integration-verify-python # Goal: Verify python scripts correct syntax # Operation: This job template performs a python tox check on any integration/test patch - job-template: name: 'integration-verify-python' project-type: freestyle node: dynamic_verify concurrent: true logrotate: daysToKeep: '{build-days-to-keep}' numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' parameters: - project-parameter: project: 'integration/test' - integration-patch-refspec: branch: '$GERRIT_REFSPEC' scm: - integration-gerrit-scm: credentials-id: '{ssh-credentials}' basedir: 'test' refspec: '$PATCHREFSPEC' branch: 'master' wrappers: - build-timeout - ssh-agent-credentials: users: - '{ssh-credentials}' triggers: - integration-trigger-patch-submitted: name: 'integration/test' branch: 'master' pattern: '**' builders: - shell: | virtualenv $WORKSPACE/venv-tox source $WORKSPACE/venv-tox/bin/activate pip install tox argparse tox --version cd $WORKSPACE/test tox publishers: - email-notification: email-prefix: '[integration]' # Template: integration-csit-verify-1node-library # Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables) # Operation: This job template performs a base openflow test when there is a change in the libraries folder - job-template: name: 'integration-csit-verify-1node-library' project-type: freestyle node: dynamic_robot logrotate: daysToKeep: '{build-days-to-keep}' numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' parameters: - project-parameter: project: 'integration/test' - integration-branch: branch: 'stable/beryllium' - integration-bundleurl: bundleurl: 'last' - integration-controller-scope: controller-scope: 'only' - integration-controller-features: controller-features: > odl-openflowplugin-flow-services-ui, odl-bgpcep-pcep, odl-bgpcep-bgp, odl-netconf-connector-all - integration-test-options: test-options: '-e adsal' - integration-test-plan: test-plan: 'test-libraries.txt' - integration-patch-refspec: branch: '$GERRIT_REFSPEC' - integration-jdk-version: # {jdk} is from releng-defaults jdkversion: '{jdk}' scm: - integration-gerrit-scm: credentials-id: '{ssh-credentials}' basedir: 'test' refspec: '$PATCHREFSPEC' branch: 'master' wrappers: - build-timeout - integration-jclouds-controller-mininet: controller-vms: 1 mininet-image: '{mininet-image}' mininet-vms: '{mininet-vms}' mininet-cloud-name: '{mininet-cloud-name}' - ssh-agent-credentials: users: - '{ssh-credentials}' triggers: - integration-trigger-patch-submitted: name: 'integration/test' branch: 'master' pattern: 'csit/libraries/*' builders: - integration-cleanup-workspace - integration-install-robotframework - inject: properties-file: 'env.properties' - integration-get-slave-addresses - inject: properties-file: 'slave_addresses.txt' - integration-get-bundle-vars - inject: properties-file: 'bundle_vars.txt' - integration-deploy-controller-run-test - integration-cleanup-tmp publishers: - integration-robot: unstable-if: 0.0 pass-if: 100.0 - archive: artifacts: 'karaf.log*' - email-notification: email-prefix: '[integration]' # Template: integration-distribution-test-{stream} # Goal: Verify a distribution through all system test available # Operation: This daily job template takes a distribution and passes all available system test - job-template: name: 'integration-distribution-test-{stream}' project-type: freestyle node: dynamic_verify logrotate: daysToKeep: '{build-days-to-keep}' numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' parameters: - integration-bundleurl: bundleurl: 'last' - integration-jdk-version: jdkversion: '{jdk}' triggers: - timed: 'H H * * 6' builders: - trigger-builds: - project: '{csit-list}' block: true predefined-parameters: BUNDLEURL=$BUNDLEURL JDKVERSION=$JDKVERSION publishers: - email-notification: email-prefix: '[integration]' # Template: integration-patch-test-{stream} # Goal: Build a patch and run all available system test on a distribution containing the change # Operation: This job template builds a patch, creates a distribution containing the patch, and # triggers the distribution test when test-integration is used in gerrit comments - job-template: name: 'integration-patch-test-{stream}' project-type: maven node: dynamic_verify jdk: '{jdk}' logrotate: daysToKeep: '{build-days-to-keep}' numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' parameters: - gerrit-project-parameter: project: '$GERRIT_PROJECT' - gerrit-refspec-parameter: refspec: '$GERRIT_REFSPEC' - project-parameter: project: '$GERRIT_PROJECT' - integration-branch: branch: '{branch}' - integration-distribution-git-url scm: - integration-gerrit-scm: credentials-id: '{ssh-credentials}' basedir: '$GERRIT_PROJECT' refspec: '$GERRIT_REFSPEC' branch: '{branch}' - integration-distribution-scm: credentials-id: '{ssh-credentials}' branch: '{branch}' wrappers: - build-timeout - ssh-agent-credentials: users: - '{ssh-credentials}' triggers: - gerrit: server-name: 'OpenDaylight' trigger-on: - comment-added-contains-event: comment-contains-value: 'test-integration' projects: - project-compare-type: 'ANT' project-pattern: '**' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' skip-vote: successful: true failed: true unstable: true notbuilt: true prebuilders: - integration-rebase-gerrit-patch - integration-get-bundle-url - inject: properties-file: 'bundle.txt' - wipe-org-opendaylight-repo - maven-target: maven-version: '{mvn33}' pom: '$GERRIT_PROJECT/pom.xml' goals: 'clean install -Djenkins -DskipTests -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}' java-opts: - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{integration-settings}' global-settings: '{odl-global-settings}' maven: maven-name: '{mvn33}' root-pom: 'distribution/pom.xml' goals: 'clean install -Djenkins -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r' maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true' settings: '{integration-settings}' global-settings: '{odl-global-settings}' ignore-upstream-changes: true post-step-run-condition: 'SUCCESS' postbuilders: - trigger-builds: - project: 'integration-distribution-test-{stream}' block: true predefined-parameters: BUNDLEURL=$BUNDLEURL publishers: - email-notification: email-prefix: '[$GERRIT_PROJECT]' # Template: integration-multipatch-test-{stream} # Goal: Build one or more patches and run all available system test on a distribution containing the change # Operation: This job template checks out and builds each patch provided in job parameters, creates a distribution # containing these patches, and triggers the distribution test job which includes most (if not all) available # CSIT jobs - job-template: name: 'integration-multipatch-test-{stream}' project-type: maven node: dynamic_verify jdk: '{jdk}' logrotate: daysToKeep: '{build-days-to-keep}' numToKeep: '{build-num-to-keep}' artifactDaysToKeep: '{build-artifact-days-to-keep}' artifactNumToKeep: '{build-artifact-num-to-keep}' parameters: - patches-to-build-parameter: patches_to_build: '$PATCHES_TO_BUILD' - integration-branch: branch: '{branch}' wrappers: - build-timeout - ssh-agent-credentials: users: - '{ssh-credentials}' prebuilders: - wipe-org-opendaylight-repo - integration-multipatch-builder - inject: properties-file: 'bundle.txt' - provide-maven-settings: global-settings-file: '{odl-global-settings}' settings-file: '{yangtools-settings}' maven: maven-name: '{mvn33}' root-pom: 'patch_tester/pom.xml' # TODO: Make Maven option configurable. Currently tests are not skipped, everything elase is. goals: 'clean install -f patch_tester/pom.xml -Djenkins -Dcheckstyle.skip=true -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -DgenerateReports=false -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dstream={stream}' maven-opts: '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true' settings: '{yangtools-settings}' global-settings: '{odl-global-settings}' post-step-run-condition: 'SUCCESS' postbuilders: - trigger-builds: - project: 'integration-distribution-test-{stream}' block: true predefined-parameters: BUNDLEURL=$BUNDLEURL publishers: - email-notification: email-prefix: '[integration]'