Following are the list of published images available to be used with Jenkins jobs.
+* ZZCI - CentOS 7 - autorelease - 20180125-2240
+* ZZCI - CentOS 7 - builder - 20180201-2139
+* ZZCI - CentOS 7 - builder - 20180611-1830
+* ZZCI - CentOS 7 - builder - 20180723-235310.638
+* ZZCI - CentOS 7 - builder - 20180802-220823.782
+* ZZCI - CentOS 7 - builder - x86_64 - 20180823-152917.621
+* ZZCI - CentOS 7 - builder - x86_64 - 20181010-215635.956
+* ZZCI - CentOS 7 - devstack - 20171208-1648
+* ZZCI - CentOS 7 - devstack - 20180723-235345.727
+* ZZCI - CentOS 7 - devstack - 20180911-204116.460
+* ZZCI - CentOS 7 - devstack-ocata - 20171208-1649
+* ZZCI - CentOS 7 - devstack-pike - 20171208-1649
+* ZZCI - CentOS 7 - devstack-queens - 20181101-190143.891
+* ZZCI - CentOS 7 - docker - 20171209-0317
+* ZZCI - CentOS 7 - docker - 20180109-0346
+* ZZCI - CentOS 7 - docker - 20180110-1659
+* ZZCI - CentOS 7 - docker - 20180417-0311
+* ZZCI - CentOS 7 - docker - 20180723-235456.035
+* ZZCI - CentOS 7 - java-builder - 20171206-1842
+* ZZCI - CentOS 7 - java-builder - 20171209-0032
+* ZZCI - CentOS 7 - robot - 20180601-2050
+* ZZCI - OPNFV - apex - compute - 0
+* ZZCI - OPNFV - apex - compute - 1
+* ZZCI - OPNFV - apex - controller - 0
+* ZZCI - Ubuntu 14.04 - gbp - 20171208-2336
+* ZZCI - Ubuntu 14.04 - gbp - 20180723-235516.505
+* ZZCI - Ubuntu 16.04 - docker - 20180601-2047
+* ZZCI - Ubuntu 16.04 - gbp - 20171213-2018
+* ZZCI - Ubuntu 16.04 - gbp - 20180723-235534.431
+* ZZCI - Ubuntu 16.04 - kubernetes - 20180527-1344
+* ZZCI - Ubuntu 16.04 - kubernetes - 20180723-235526.580
+* ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20171208-1847
+* ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20180723-235543.682
+* ZZCI - Ubuntu 16.04 - mininet-ovs-25 - 20181029-223449.514
+* ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20171208-1847
+* ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20180723-235543.774
+* ZZCI - Ubuntu 16.04 - mininet-ovs-26 - 20181029-223513.438
+* ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180301-1041
+* ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20180723-235605.507
+* ZZCI - Ubuntu 16.04 - mininet-ovs-28 - 20181001-220228.326
fi
lftools version bump "$RELEASE_TAG"
+# Ignore changes to Final distribution since that will be released separately
+pushd integration/distribution || exit 1
+ git checkout -f opendaylight/pom.xml
+popd || exit 1
+
git submodule foreach "git commit -asm 'Bump versions by x.y.(z+1)'"
# Only submodules need to be bumped, we can ignore autorelease's bump information
git checkout -f
- project:
name: controller-sonar
jobs:
- - gerrit-maven-sonar
+ - gerrit-maven-sonar:
+ mvn-params: >
+ -Dodl.jacoco.aggregateFile=$WORKSPACE/target/jacoco.exec
+ -Dsonar.jacoco.reportPath=$WORKSPACE/target/jacoco.exec
project: 'controller'
project-name: 'controller'
export OPENSTACK_TOPO
}
+function get_test_suites() {
+
+ #let the caller pick the name of the variable we will assign the suites to
+ local __suite_list=$1
+
+ echo "Locating test plan to use..."
+ testplan_filepath="${WORKSPACE}/test/csit/testplans/${STREAMTESTPLAN}"
+ if [ ! -f "${testplan_filepath}" ]; then
+ testplan_filepath="${WORKSPACE}/test/csit/testplans/${TESTPLAN}"
+ fi
+
+ echo "Changing the testplan path..."
+ cat "${testplan_filepath}" | sed "s:integration:${WORKSPACE}:" > testplan.txt
+ cat testplan.txt
+
+ # Use the testplan if specific SUITES are not defined.
+ if [ -z "${SUITES}" ]; then
+ suite_list=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '`
+ else
+ suite_list=""
+ workpath="${WORKSPACE}/test/csit/suites"
+ for suite in ${SUITES}; do
+ fullsuite="${workpath}/${suite}"
+ if [ -z "${suite_list}" ]; then
+ suite_list+=${fullsuite}
+ else
+ suite_list+=" "${fullsuite}
+ fi
+ done
+ fi
+
+ eval $__suite_list="'$suite_list'"
+}
+
function run_plan() {
local -r type=$1
# Self-Managed projects repos and features:
sm-repos: >
mvn:org.opendaylight.sxp/features-sxp//xml/features,
- mvn:org.opendaylight.tsdr/features-tsdr//xml/features,
- mvn:org.opendaylight.unimgr/features4-unimgr//xml/features
+ mvn:org.opendaylight.tsdr/features-tsdr//xml/features
sm-features: >
odl-sxp-routing,
odl-tsdr-core,
karaf-version: odl
# Self-Managed projects repos and features:
sm-repos: >
- mvn:org.opendaylight.snmp4sdn/features-snmp4sdn//xml/features,
mvn:org.opendaylight.sxp/features-sxp//xml/features,
mvn:org.opendaylight.transportpce/features-transportpce//xml/features,
- mvn:org.opendaylight.tsdr/features-tsdr//xml/features,
- mvn:org.opendaylight.unimgr/features4-unimgr//xml/features
sm-features: >
- odl-snmp4sdn-snmp4sdn
odl-sxp-routing,
odl-transportpce,
odl-transportpce-api,
odl-transportpce-ordmodels,
- odl-transportpce-stubmodels,
- odl-tsdr-core,
- odl-tsdr-openflow-statistics-collector,
- odl-tsdr-netflow-statistics-collector,
- odl-tsdr-restconf-collector,
- odl-tsdr-syslog-collector,
- odl-tsdr-controller-metrics-collector,
- odl-tsdr-cassandra,
- odl-tsdr-hbase,
- odl-tsdr-hsqldb,
- odl-tsdr-elasticsearch,
- odl-unimgr,
- odl-unimgr-template-driver,
- odl-unimgr-cisco-xr-driver,
- odl-unimgr-ovs-driver
+ odl-transportpce-stubmodels
+
- oxygen:
branch: 'stable/oxygen'
karaf-version: karaf4
# Ensure we fail the job if any steps fail.
set -ex -o pipefail
+print_job_parameters
+
get_os_deploy
# Swap out the ODL distribution
ssh ${OPENSTACK_COMPUTE_NODE_1_IP} "sudo ovs-vsctl show"
ssh ${OPENSTACK_COMPUTE_NODE_2_IP} "sudo ovs-vsctl show"
-# Use the testplan if specific SUITES are not defined.
-if [ -z "${SUITES}" ]; then
- SUITES=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '`
-else
- newsuites=""
- workpath="${WORKSPACE}/test/csit/suites"
- for suite in ${SUITES}; do
- fullsuite="${workpath}/${suite}"
- if [ -z "${newsuites}" ]; then
- newsuites+=${fullsuite}
- else
- newsuites+=" "${fullsuite}
- fi
- done
- SUITES=${newsuites}
-fi
+get_test_suites SUITES
echo "Starting Robot test suites ${SUITES} ..."
# please add pybot -v arguments on a single line and alphabetized
tools_variables=${tools_variables}" -v ${MININETIP}:${!MININETIP}"
done
-echo "Locating test plan to use..."
-testplan_filepath="${WORKSPACE}/test/csit/testplans/${STREAMTESTPLAN}"
-if [ ! -f "${testplan_filepath}" ]; then
- testplan_filepath="${WORKSPACE}/test/csit/testplans/${TESTPLAN}"
-fi
-
-echo "Changing the testplan path..."
-cat "${testplan_filepath}" | sed "s:integration:${WORKSPACE}:" > testplan.txt
-cat testplan.txt
-
-# Use the testplan if specific SUITES are not defined.
-if [ -z "${SUITES}" ]; then
- SUITES=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '`
-else
- newsuites=""
- workpath="${WORKSPACE}/test/csit/suites"
- for suite in ${SUITES}; do
- fullsuite="${workpath}/${suite}"
- if [ -z "${newsuites}" ]; then
- newsuites+=${fullsuite}
- else
- newsuites+=" "${fullsuite}
- fi
- done
- SUITES=${newsuites}
-fi
+get_test_suites SUITES
echo "Starting Robot test suites ${SUITES} ..."
pybot -N ${TESTPLAN} \
HA_PROXY_3_IP=${ODL_SYSTEM_3_IP}
fi
-echo "Locating test plan to use..."
-testplan_filepath="${WORKSPACE}/test/csit/testplans/${STREAMTESTPLAN}"
-if [ ! -f "${testplan_filepath}" ]; then
- testplan_filepath="${WORKSPACE}/test/csit/testplans/${TESTPLAN}"
-fi
-
-echo "Changing the testplan path..."
-cat "${testplan_filepath}" | sed "s:integration:${WORKSPACE}:" > testplan.txt
-cat testplan.txt
-
-# Use the testplan if specific SUITES are not defined.
-if [ -z "${SUITES}" ]; then
- SUITES=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '`
-else
- newsuites=""
- workpath="${WORKSPACE}/test/csit/suites"
- for suite in ${SUITES}; do
- fullsuite="${workpath}/${suite}"
- if [ -z "${newsuites}" ]; then
- newsuites+=${fullsuite}
- else
- newsuites+=" "${fullsuite}
- fi
- done
- SUITES=${newsuites}
-fi
+get_test_suites SUITES
#install all client versions required for this job testing
install_openstack_clients_in_robot_vm
# script.
# shellcheck source=${ROBOT_VENV}/bin/activate disable=SC1091
source ${ROBOT_VENV}/bin/activate
+source /tmp/common-functions.sh ${BUNDLEFOLDER}
+# Ensure we fail the job if any steps fail.
+set -ex -o pipefail
echo "#################################################"
echo "## Verify Cluster is UP ##"
tools_variables=${tools_variables}" -v ${MININETIP}:${!MININETIP}"
done
-echo "Locating test plan to use..."
-testplan_filepath="${WORKSPACE}/test/csit/testplans/${STREAMTESTPLAN}"
-if [ ! -f "${testplan_filepath}" ]; then
- testplan_filepath="${WORKSPACE}/test/csit/testplans/${TESTPLAN}"
-fi
-
-echo "Changing the testplan path..."
-cat "${testplan_filepath}" | sed "s:integration:${WORKSPACE}:" > testplan.txt
-cat testplan.txt
-
-# Use the testplan if specific SUITES are not defined.
-if [ -z "${SUITES}" ]; then
- SUITES=`egrep -v '(^[[:space:]]*#|^[[:space:]]*$)' testplan.txt | tr '\012' ' '`
-else
- newsuites=""
- workpath="${WORKSPACE}/test/csit/suites"
- for suite in ${SUITES}; do
- fullsuite="${workpath}/${suite}"
- if [ -z "${newsuites}" ]; then
- newsuites+=${fullsuite}
- else
- newsuites+=" "${fullsuite}
- fi
- done
- SUITES=${newsuites}
-fi
+get_test_suites SUITES
echo "Starting Robot test suites ${SUITES} ..."
pybot -N ${TESTPLAN} \
- shell: !include-raw: setup-ansible-rpm.sh
- shell: !include-raw: test-ansible-rpm-default-config.sh
- shell: !include-raw: test-ansible-rpm-custom-config.sh
+ - shell: !include-raw: test-ansible-rpm-upgrade.sh
triggers:
- timed: '@weekly'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
+ # Test Fluorine SR1 release tarball
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
+
# Test Neon pre-release autorelease tarball
# NB: This will need to be updated as old builds expire
- inject:
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20181106.150120-17.zip'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20181119.131156-18.zip'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
+ # Test Fluorine SR1 release tarball
+ - inject:
+ # yamllint disable-line rule:line-length
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.9.1/karaf-0.9.1.tar.gz'
+ - shell: !include-raw-escape: build-rpm.sh
+ - install-test-uninstall-rpm
+
# Test Fluorine pre-release autorelease tarball
# NB: This will need to be updated as old builds expire
- inject:
# NB: This will need to be updated as old builds expire
- inject:
# yamllint disable-line rule:line-length
- properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20181106.150120-17.zip'
+ properties-content: 'DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/integration/integration/distribution/karaf/0.10.0-SNAPSHOT/karaf-0.10.0-20181119.131156-18.zip'
- shell: !include-raw-escape: build-rpm.sh
- install-test-uninstall-rpm
--- /dev/null
+#!/bin/bash
+
+# Uninstall ODL from previous test
+# This is to ensure these tests run independant
+# from any other tests
+sudo yum remove opendaylight -y
+
+# Remove the ODL directory
+sudo rm -rf /opt/opendaylight
+
+# Execute the upgrade tests
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/tests/test-odl-upgrade.yaml -v
project-name: 'transportpce'
stream: neon
branch: 'master'
- build-node: centos7-builder-8c-8g
- build-timeout: 90
mvn-settings: 'transportpce-settings'
mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
project-name: 'transportpce'
stream: fluorine
branch: 'stable/fluorine'
- build-node: centos7-builder-8c-8g
- build-timeout: 90
mvn-settings: 'transportpce-settings'
mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'
project-name: 'transportpce'
stream: oxygen
branch: 'stable/oxygen'
- build-node: centos7-builder-8c-8g
- build-timeout: 90
mvn-settings: 'transportpce-settings'
mvn-opts: '-Xmx1024m -XX:MaxPermSize=256m'
dependencies: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream}'