$ cat jjb/requirements.txt
-e git+https://git.openstack.org/openstack-infra/jenkins-job-builder@1.4.0#egg=jenkins-job-builder
+Updating releng/builder repo or global-jjb
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+Follow these steps to update the releng/builder repo. The repo uses a submodule from
+a global-jjb repo so that common source can be shared across different projects. This
+requires updating the releng/builder repo periodically to pick up the changes. New
+versions of jjb could also require updating the releng/builder repo. Follow the
+previous steps earlier for updating jenkins-jobs using the
+`builder/jjb/requirements.txt <odl-jjb-requirements.txt_>`_ file. Ensure that the
+version listed in the file is the currently supported version, otherwise install a
+different version or simply upgrade using `pip install --upgrade jenkins-job-builder`.
+
+The example below assumes the user has cloned releng/builder to `~/git/releng/builder`.
+Update the repo, update the submodules and then submit a test to verify it works.
+
+.. code-block:: bash
+
+ cd ~/git/releng/builder
+ git checkout master
+ git pull
+ git submodule update --init --recursive
+ jenkins-jobs --conf jenkins.ini test jjb/ netvirt-csit-1node-openstack-queens-upstream-stateful-fluorine
+
Installing JJB Manually
-----------------------
jjb-deploy <job name>
+.. note::
+
+ Also note that wildcards can be used in <job name> which
+ will expand all jobs that exist for the pattern.
+
Running Jobs
^^^^^^^^^^^^
--- /dev/null
+---
+- project:
+ name: archetypes-fluorine
+ jobs:
+ - odl-maven-jobs
+
+ stream: fluorine
+ project: 'archetypes'
+ project-name: 'archetypes'
+ branch: 'master'
+ mvn-settings: 'archetypes-settings'
+ dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},mdsal-merge-{stream}'
+ email-upstream: '[archetypes] [odlparent] [yangtools] [controller] [mdsal]'
+
+ # Used by the release job
+ staging-profile-id: d88dcfe6ce48d
+
+- project:
+ name: archetypes-sonar
+ jobs:
+ - gerrit-maven-sonar
+
+ project: 'archetypes'
+ project-name: 'archetypes'
+ branch: 'master'
+ mvn-settings: 'archetypes-settings'
next-release-tag: '{stream}'
branch: 'master'
integration-test: fluorine
- extra-mvn-opts: -Dsft.heap.max=4g
+ extra-mvn-opts: -P!karaf -Dsft.heap.max=4g
- oxygen:
next-release-tag: '{stream}'
branch: 'stable/oxygen'
integration-test: oxygen
- extra-mvn-opts: -Dsft.heap.max=4g
+ extra-mvn-opts: -P!karaf -Dsft.heap.max=4g
- nitrogen:
- # Run once a week (Sunday) now that Fluorine branch is cut, and Oxygen is pending release
- cron: 'H 12 * * 0'
next-release-tag: '{stream}'
branch: 'stable/nitrogen'
integration-test: nitrogen
- extra-mvn-opts: -Dsft.heap.max=4g
+ extra-mvn-opts: -P!karaf -Dsft.heap.max=4g
- carbon:
next-release-tag: '{stream}'
branch: 'stable/carbon'
integration-test: carbon
karaf-version: karaf3
- extra-mvn-opts: -Dskip.karaf4.featureTest=true
+ extra-mvn-opts: -P!karaf -Dskip.karaf4.featureTest=true
project: releng/autorelease
project-name: autorelease
- job-template:
name: 'autorelease-release-{stream}'
- ############
- # Defaults #
- ############
+ ######################
+ # Default parameters #
+ ######################
build-node: '{build-node}'
+ cron: 'H 0 * * *'
java-version: openjdk8
mvn-version: mvn33
extra-mvn-opts: ''
project-type: freestyle
node: '{build-node}'
jdk: '{java-version}'
- cron: 'H 0 * * *'
properties:
- lf-infra-properties:
$EXTRA_MVN_OPTS
-Pintegrationtests,docs,repoBuild
-Dcheckstyle.skip=true
- -Dkaraf.keep.unpack=true
-DaltDeploymentRepository=staging::default::file:hide/from/pom/files/stage
{opendaylight-infra-mvn-opts}
java-opts:
- shell: |
mkdir -p archives/
cp *.log *.prop $_
- for file in $(find . -name karaf.log); do
- module="${{file%%/target/*}}"
- module="${{module##*/}}"
- cp "$file" "archives/${{module}}-karaf.log"
- done
publishers:
- opendaylight-infra-notify-status
predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
property-file: variables.jenkins-trigger
fail-on-missing: true
+ # Critical component of the OpenDaylight community
+ - postbuildscript:
+ builders:
+ - role: BOTH
+ build-on:
+ - SUCCESS
+ build-steps:
+ - shell: echo '#topic cookies'
+ mark-unstable-if-failed: false
- lf-infra-publish
- job-template:
name: autorelease-update-validate-jobs-{stream}
+
+ ######################
+ # Default parameters #
+ ######################
+
+ cron: '@weekly'
+
+ #####################
+ # Job configuration #
+ #####################
+
project-type: freestyle
node: centos7-builder-2c-1g
choosing-strategy: default
triggers:
+ - timed: '{cron}'
- gerrit:
server-name: '{gerrit-server-name}'
trigger-on:
goals: |
clean validate
-Pq
- -Dkaraf.keep.unpack=true
{opendaylight-infra-mvn-opts}
java-opts:
- '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- shell: |
mkdir -p archives/
cp *.log $_
- for file in $(find . -name karaf.log); do
- module="${{file%%/target/*}}"
- module="${{module##*/}}"
- cp "$file" "archives/${{module}}-karaf.log"
- done
publishers:
- email-notification:
elif [ "${#grouplist[@]}" -gt 1 ]; then
GROUPLIST="NOTE: The artifactId: $ARTIFACT_ID matches multiple groups: ${grouplist[*]}"
else
- echo "Failed to determine project.groupId using xpaths"
+ echo "Unable to determine project.groupId using xpaths"
fi
else
- echo "Failed to determine ARTIFACT_ID"
- exit 1
+ echo "Unable to determine failed ARTIFACT_ID. Build likely successful or bug in this script."
+ exit 0
fi
# Construct email subject & body
project: unimgr
- usc:
project: usc
- - vtn:
- project: vtn
- yangtools:
project: yangtools
project: daexim
- genius:
project: genius
- - honeycomb-vbd:
- project: honeycomb/vbd
- infrautils:
project: infrautils
- integration-distribution:
project: unimgr
- usc:
project: usc
- - vtn:
- project: vtn
- yangtools:
project: yangtools
jobs:
- '{project-name}-validate-autorelease-{stream}'
stream: oxygen
- branch: master
+ branch: stable/oxygen
project-name:
- aaa:
project: aaa
# The only purpose of RELEASE_TAG in this script is to set the Gerrit topic.
# It is also used as a placeholder for version bumping but gets wiped out
# immediately to bump versions by x.y.(z+1).
+TOPIC="${RELEASE_TAG}"
RELEASE_TAG="${STREAM^}"
mkdir -p "$WORKSPACE/archives"
if [ "$DRY_RUN" = "false" ]
then
# Push up patches last, as long as nothing failed.
- git submodule foreach git review --yes -t "${RELEASE_TAG}"
+ git submodule foreach git review --yes -t "${TOPIC}"
fi
echo "Version bumping complete."
-v USE_NETCONF_CONNECTOR:False
-v PCEP_READY_VERIFY_TIMEOUT:5
-v RESTCONF_REUSE:False
- -v UPDATER_TIMEOUT:600
+ -v UPDATER_TIMEOUT:900
# Controller configuration
odl_system_flavor: v2-standard-4
usc-csit-1node-channel-all-carbon,
usc-csit-1node-tcp-all-carbon,
usecplugin-csit-1node-basic-all-carbon,
-vtn-csit-1node-coordinator-only-carbon,
-vtn-csit-1node-manager-all-carbon,
vtn-csit-1node-openstack-pike-neutron-carbon,
-vtn-csit-3node-manager-all-carbon,
yangtools-csit-1node-periodic-system-only-carbon,
usc-csit-1node-channel-all-nitrogen,
usc-csit-1node-tcp-all-nitrogen,
usecplugin-csit-1node-basic-all-nitrogen,
-vtn-csit-1node-coordinator-only-nitrogen,
-vtn-csit-1node-manager-all-nitrogen,
vtn-csit-1node-openstack-pike-neutron-nitrogen,
-vtn-csit-3node-manager-all-nitrogen,
yangtools-csit-1node-periodic-system-only-nitrogen,
tsdr-csit-1node-hsqldb-datastore-all-oxygen,
usc-csit-1node-channel-all-oxygen,
usc-csit-1node-tcp-all-oxygen,
-vtn-csit-1node-coordinator-only-oxygen,
-vtn-csit-1node-manager-all-oxygen,
vtn-csit-1node-openstack-pike-neutron-oxygen,
-vtn-csit-3node-manager-all-oxygen,
yangtools-csit-1node-periodic-system-only-oxygen,
exclude-no-code-change: false
- draft-published-event
- comment-added-contains-event:
- comment-contains-value: recheck
+ comment-contains-value: 'recheck$'
override-votes: true
gerrit-build-unstable-verified-value: +1
gerrit-build-unstable-codereview-value: 0
odl_system_count: 1
enable-haproxy: 'no'
install-features: 'odl-netvirt-openstack'
+ robot-options: '-v FAIL_ON_EXCEPTIONS:True'
- 3node:
openstack_system2_count: 3
odl_system_count: 3
- '{project-name}-maven-javadoc-jobs'
- '{project-name}-rtd-jobs':
build-node: centos7-builder-2c-2g
+ doc-dir: .tox/docs/tmp/html
project-pattern: netvirt
rtd-project: odl-netvirt
- gerrit-tox-verify
jobs:
- '{project-name}-rtd-jobs':
build-node: centos7-builder-2c-2g
+ doc-dir: .tox/docs/tmp/html
project-pattern: integration/packaging
rtd-project: odl-integrationpackaging
- 'packaging-build-rpm-{stream}'
exclude-no-code-change: false
- draft-published-event
- comment-added-contains-event:
- comment-contains-value: recheck
+ comment-contains-value: 'recheck$'
projects:
- project-compare-type: ANT
project-pattern: '{project}'
trigger-on:
- change-merged-event
- comment-added-contains-event:
- comment-contains-value: 'remerge'
+ comment-contains-value: 'remerge$'
projects:
- project-compare-type: 'ANT'
project-pattern: '{name}'
**/target/**/feature.xml
**/target/failsafe-reports/failsafe-summary.xml
**/target/surefire-reports/*-output.txt
+ mvn-opts: ''
mvn-version: mvn33
java-version: openjdk8
-jenkins-job-builder==1.6.2
+jenkins-job-builder==2.0.3
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/sxp/job/sxp-merge-fluorine/lastBuild/org.opendaylight.sxp$sxp-karaf/artifact/org.opendaylight.sxp/sxp-karaf/1.7.0-SNAPSHOT/sxp-karaf-1.7.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/sxp/job/sxp-merge-fluorine/lastBuild/org.opendaylight.sxp$sxp-karaf/artifact/org.opendaylight.sxp/sxp-karaf/1.7.0-SNAPSHOT/sxp-karaf-1.7.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/sxp/job/sxp-merge-fluorine/lastBuild/org.opendaylight.sxp$sxp-karaf/artifact/org.opendaylight.sxp/sxp-karaf/1.7.0-SNAPSHOT/sxp-karaf-1.7.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/sxp/job/sxp-merge-fluorine/lastBuild/org.opendaylight.sxp$sxp-karaf/artifact/org.opendaylight.sxp/sxp-karaf/1.7.0-SNAPSHOT/sxp-karaf-1.7.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/sxp/job/sxp-merge-fluorine/lastBuild/org.opendaylight.sxp$sxp-karaf/artifact/org.opendaylight.sxp/sxp-karaf/1.7.0-SNAPSHOT/sxp-karaf-1.7.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/sxp/job/sxp-merge-fluorine/lastBuild/org.opendaylight.sxp$sxp-karaf/artifact/org.opendaylight.sxp/sxp-karaf/1.7.0-SNAPSHOT/sxp-karaf-1.7.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
--- /dev/null
+---
+- project:
+ name: telemetry-fluorine
+ jobs:
+ - 'odl-maven-jobs'
+ - '{project-name}-distribution-check-{stream}'
+ - '{project-name}-integration-{stream}'
+
+ stream: fluorine
+ project: 'telemetry'
+ project-name: 'telemetry'
+ branch: 'master'
+ jdks:
+ - openjdk8
+ maven:
+ - mvn33:
+ mvn-version: 'mvn33'
+ mvn-settings: 'telemetry-settings'
+ mvn-goals: 'clean install'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ dependencies: ''
+ email-upstream: '[telemetry]'
+ archive-artifacts: ''
+
+ # Used by the release job
+ staging-profile-id: 8ed9c52266504
+
+- project:
+ name: telemetry-sonar
+ jobs:
+ - gerrit-maven-sonar
+
+ project: 'telemetry'
+ project-name: 'telemetry'
+ branch: 'master'
+ mvn-settings: 'telemetry-settings'
+ mvn-goals: 'clean install'
+ mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
stream:
- fluorine:
branch: 'master'
+ trigger-jobs: '{project}-merge-{stream}'
+ # yamllint disable-line rule:line-length
+ bundle-url: 'https://jenkins.opendaylight.org/releng/view/usc/job/usc-merge-fluorine/lastBuild/org.opendaylight.usc$usc-karaf/artifact/org.opendaylight.usc/usc-karaf/1.6.0-SNAPSHOT/usc-karaf-1.6.0-SNAPSHOT.zip'
- oxygen:
branch: 'stable/oxygen'
- nitrogen:
+++ /dev/null
----
-- project:
- name: vtn-csit-3node-manager
- jobs:
- - inttest-csit-3node
- - inttest-csit-verify-3node
-
- # The project name
- project: 'vtn'
-
- # The functionality under test
- functionality: 'manager'
-
- # Project branches
- stream:
- - fluorine:
- branch: 'master'
- - oxygen:
- branch: 'stable/oxygen'
- - nitrogen:
- branch: 'stable/nitrogen'
- - carbon:
- branch: 'stable/carbon'
- karaf-version: karaf3
-
- install:
- - all:
- scope: 'all'
-
- # Features to install
- install-features: 'odl-vtn-manager-rest,odl-vtn-manager-neutron'
-
- # Robot custom options
- robot-options: ''
-
- tools_system_image: 'ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20171208-1847'
+++ /dev/null
----
-- project:
- name: vtn-csit-vtn-coordinator
- jobs:
- - inttest-csit-1node
- - inttest-csit-verify-1node
-
- # The project name
- project: 'vtn'
-
- # The functionality under test
- functionality: 'coordinator'
-
- # Project branches
- stream:
- - fluorine:
- branch: 'master'
- - oxygen:
- branch: 'stable/oxygen'
- - nitrogen:
- branch: 'stable/nitrogen'
- - carbon:
- branch: 'stable/carbon'
- karaf-version: karaf3
- tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20171208-1847
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-vtn-manager-rest'
-
-
- # Robot custom options
- robot-options: ''
+++ /dev/null
----
-- project:
- name: vtn-csit-manager
- jobs:
- - inttest-csit-1node
- - inttest-csit-verify-1node
-
- # The project name
- project: 'vtn'
-
- # The functionality under test
- functionality: 'manager'
-
- # Project branches
- stream:
- - fluorine:
- branch: 'master'
- - oxygen:
- branch: 'stable/oxygen'
- - nitrogen:
- branch: 'stable/nitrogen'
- - carbon:
- branch: 'stable/carbon'
- karaf-version: karaf3
-
- install:
- - all:
- scope: 'all'
-
- # Features to install
- install-features: 'odl-vtn-manager-rest,odl-vtn-manager-neutron'
-
- # Robot custom options
- robot-options: ''
-
- tools_system_image: ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20171208-1847