* CentOS 7 - devstack - 20170221-1719
* CentOS 7 - devstack - newton - 20170117-0005
* CentOS 7 - devstack-mitaka - 20170130-0523
+* CentOS 7 - devstack-mitaka - 20170314-2255
* CentOS 7 - devstack-newton - 20170130-0426
+* CentOS 7 - devstack-newton - 20170314-2256
* CentOS 7 - docker - 20170117-0003
* CentOS 7 - docker - 20170120-1434
* CentOS 7 - java-builder - 20170117-0004
</tr>
<tr class="warning">
- <td><b>Jenkins Labels</b><br/> ubuntu-trusty-mininet-2c-2g</td>
- <td><b>Minion Template names</b><br/> ubuntu-trusty-mininet-2c-2g</td>
+ <td><b>Jenkins Labels</b><br/> ubuntu1404-mininet-2c-2g</td>
+ <td><b>Minion Template names</b><br/> ubuntu1404-mininet-2c-2g</td>
<td><b>Packer Template</b><br/>
releng/builder/packer/teamplates/mininet.json</td>
<td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
</tr>
<tr class="warning">
- <td><b>Jenkins Labels</b><br/> ubuntu-trusty-mininet-ovs-23-2c-2g</td>
- <td><b>Minion Template names</b><br/> ubuntu-trusty-mininet-ovs-23-2c-2g</td>
+ <td><b>Jenkins Labels</b><br/> ubuntu1404-mininet-ovs-23-2c-2g</td>
+ <td><b>Minion Template names</b><br/> ubuntu1404-mininet-ovs-23-2c-2g</td>
<td><b>Packer Template</b><br/> releng/builder/packer/templates/mininet-ovs-2.3.json</td>
<td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
</tr>
</tr>
<tr class="warning">
- <td><b>Jenkins Labels</b><br/> ubuntu-trusty-mininet-ovs-25-2c-2g</td>
- <td><b>Minion Template names</b><br/> ubuntu-trusty-mininet-ovs-25-2c-2g</td>
+ <td><b>Jenkins Labels</b><br/> ubuntu1404-mininet-ovs-25-2c-2g</td>
+ <td><b>Minion Template names</b><br/> ubuntu1404-mininet-ovs-25-2c-2g</td>
<td><b>Packer Template</b><br/> releng/builder/packer/templates/mininet-ovs-2.5.json</td>
<td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/mininet-ubuntu.sh</td>
</tr>
</tr>
<tr class="warning">
- <td><b>Jenkins Labels</b><br/> ubuntu-trusty-gbp-2c-2g</td>
- <td><b>Minion Template names</b><br/> ubuntu-trusty-gbp-2c-2g</td>
+ <td><b>Jenkins Labels</b><br/> ubuntu1404-gbp-2c-2g</td>
+ <td><b>Minion Template names</b><br/> ubuntu1404-gbp-2c-2g</td>
<td><b>Packer Template</b><br/> releng/builder/packer/templates/gbp.json</td>
<td><b>Spinup Script</b><br/> releng/builder/jenkins-scripts/ubuntu-docker-ovs.sh</td>
</tr>
# Generate ssh key for use by Robot jobs
echo -e 'y\n' | ssh-keygen -N "" -f /home/jenkins/.ssh/id_rsa -t rsa
chown -R jenkins:jenkins /home/jenkins/.ssh /w
+chmod 700 /home/jenkins/.ssh
# in cases where an internal ci system is using multiple NEXUS systems one for artifacts and another for staging,
# we can override using ODLNEXUS_STAGING_URL to route the staging build to the 2nd server.
# (most CI setups where a single Nexus server is used, ODLNEXUS_STAGING_URL should be left unset)
-NEXUS_STAGING_URL=${ODLNEXUS_STAGING_URL:-$ODLNEXUSPROXY}
+NEXUS_STAGING_URL=${ODLNEXUS_STAGING_URL:-"http://10.29.8.46:8081"}
NEXUS_STAGING_PROFILE=${ODLNEXUS_STAGING_PROFILE:-425e43800fea70}
NEXUS_STAGING_SERVER_ID=${ODLNEXUS_STAGING_SERVER_ID:-"opendaylight.staging"}
--exclude 'resolver-status.properties' \
"stage/org/opendaylight" m2repo/org/
-"$MVN" -V -B org.sonatype.plugins:nexus-staging-maven-plugin:1.6.2:deploy-staged-repository \
+"$MVN" -V -B org.sonatype.plugins:nexus-staging-maven-plugin:1.6.8:deploy-staged-repository \
-DrepositoryDirectory="$(pwd)/m2repo" \
-DnexusUrl="$NEXUS_STAGING_URL" \
-DstagingProfileId="$NEXUS_STAGING_PROFILE" \
$CONSOLE_LOG > /tmp/error.txt
if [ -n "${PROJECT}" ]; then
- RELEASE_EMAIL="${RELEASE_EMAIL}, ${PROJECT}-dev@opendaylight.org"
+ RELEASE_EMAIL="${RELEASE_EMAIL}, ${PROJECT}-dev@lists.opendaylight.org"
fi
- echo "${BODY}" | mail -a /tmp/error.txt \
- -r "Jenkins <jenkins-dontreply@opendaylight.org>" \
- -s "${SUBJECT}" "${RELEASE_EMAIL}"
+ # Only send emails in production (releng), not testing (sandbox)
+ if [ "${SILO}" == "releng" ]; then
+ echo "${BODY}" | mail -a /tmp/error.txt \
+ -r "Jenkins <jenkins-dontreply@opendaylight.org>" \
+ -s "${SUBJECT}" "${RELEASE_EMAIL}"
+ elif [ "${SILO}" == "sandbox" ]; then
+ echo "Running in sandbox, not actually sending notification emails"
+ echo "Subject: ${SUBJECT}"
+ echo "Body: ${BODY}"
+ else
+ echo "Not sure how to notify in \"${SILO}\" Jenkins silo"
+ fi
fi
rm $CONSOLE_LOG
- mitaka:
openstack-branch: 'stable/mitaka'
odl-ml2-branch: 'stable/mitaka'
- odl-ml2-driver-version: 'v1'
- liberty:
openstack-branch: 'stable/liberty'
odl-ml2-branch: 'stable/liberty'
- odl-ml2-driver-version: 'v1'
schedule: 'H H * * *'
- odl-enable-l3: 'yes'
-
public-bridge: 'br-int'
- public-physical-network: 'physnet1'
-
- enable-networking-l2gw: 'no'
-
- disable-odl-l3-service-plugin: 'no'
-
- enable-openstack-services: 'q-svc,q-dhcp,q-meta,n-cauth,tempest'
-
- disable-openstack-services: 'swift,cinder,n-net,q-vpn,n-cpu'
-
- tenant-network-type: 'vxlan'
+ enable-openstack-plugins: 'networking-odl'
security-group-mode: 'none'
-
- robot-options: ''
| egrep -e ':.*text.*' \
| cut -d: -f1 \
| xargs -d'\n' -r gzip
+# 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"
du -sh archives.zip
--- /dev/null
+---
+- job-template:
+ # Template: distribution-check-{stream}
+ # Goal: Build a patch and make sure it would not break distribution-check jobs for other projects.
+ # Operation: FIXME
+ # This job template builds a patch, creates a distribution containing
+ # the patch (making sure dependencies are specified),
+ # and performs the distribution deploy test.
+
+ name: 'distribution-check-{stream}'
+ disabled: false
+
+ project-type: freestyle
+ node: '{build-node}'
+ concurrent: true
+ jdk: '{jdk}'
+
+ properties:
+ - opendaylight-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+
+ parameters:
+ - opendaylight-infra-parameters:
+ project: '{project}'
+ branch: '{branch}'
+ refspec: 'refs/heads/{branch}'
+ artifacts: '{archive-artifacts} **/dependency_tree.txt **/target/surefire-reports/*-output.txt'
+
+ scm:
+ - integration-gerrit-scm:
+ basedir: 'distribution'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '{branch}'
+
+ wrappers:
+ - opendaylight-infra-wrappers:
+ # Distro-check jobs typically run within 10 - 30 minutes
+ # with 45 minutes being the occassional edge case.
+ # enforce a 60 minute limit to ensure stuck jobs get
+ # cleared up sooner.
+ build-timeout: '60'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ server: '{server-name}'
+ project: '{project}'
+ branch: '{branch}'
+ files: '**'
+
+ builders:
+ - distribution-check-wipe
+ - distribution-check-build-project:
+ pom: 'distribution/pom.xml'
+ - distribution-check-verify-groupid:
+ gerrit-project: 'integration'
+ - distribution-check-delete-snapshots
+ - distribution-check-configure-remotes
+ - distribution-check-repeat-build:
+ dist-pom: 'distribution/pom.xml'
+ - integration-distribution-check
+
+ publishers:
+ - email-notification:
+ email-recipients: '{email-recipients}'
+ email-prefix: '[{project-name}]'
+ - postbuildscript:
+ builders:
+ - shell: |
+ #!/bin/bash
+ mkdir -p $WORKSPACE/archives
+ cp karaf*.log $WORKSPACE/archives
+ script-only-if-succeeded: false
+ script-only-if-failed: false
+ mark-unstable-if-failed: true
+ - archive:
+ artifacts: '*.zip'
+ - opendaylight-infra-shiplogs:
+ maven-version: 'mvn33'
- '{project-name}-clm-{stream}'
- '{project-name}-sonar'
- '{project-name}-validate-autorelease-{stream}'
+ - distribution-check-{stream}
stream:
- carbon:
enable_service ${service_name}
EOF
done
+for plugin_name in ${ENABLE_OS_PLUGINS}
+do
+if [ "$plugin_name" == "networking-odl" ]; then
+ ENABLE_PLUGIN_ARGS="${ODL_ML2_DRIVER_REPO} ${ODL_ML2_BRANCH}"
+elif [ "$plugin_name" == "kuryr-kubernetes" ]; then
+ ENABLE_PLUGIN_ARGS="${DEVSTACK_KUBERNETES_PLUGIN_REPO} master" # note: kuryr-kubernetes only exists in master at the moment
+elif [ "$plugin_name" == "neutron-lbaas" ]; then
+ ENABLE_PLUGIN_ARGS="${DEVSTACK_LBAAS_PLUGIN_REPO} ${OPENSTACK_BRANCH}"
+else
+ echo "Error: Invalid plugin $plugin_name, unsupported"
+ continue
+fi
+cat >> ${local_conf_file_name} << EOF
+enable_plugin ${plugin_name} ${ENABLE_PLUGIN_ARGS}
+EOF
+done
unset IFS
-
+if [ "${OPENSTACK_BRANCH}" == "master" ] || [ "${OPENSTACK_BRANCH}" == "stable/ocata" ]; then # Ocata+
+ # placement is mandatory for nova since Ocata, note that this requires computes to enable placement-client
+ # this should be moved into enabled_services for each job (but only for Ocata)
+ echo "enable_service placement-api" >> ${local_conf_file_name}
+fi
cat >> ${local_conf_file_name} << EOF
HOST_IP=$OPENSTACK_CONTROL_NODE_IP
SERVICE_HOST=\$HOST_IP
-NEUTRON_CREATE_INITIAL_NETWORKS=False
+NEUTRON_CREATE_INITIAL_NETWORKS=${CREATE_INITIAL_NETWORKS}
Q_PLUGIN=ml2
Q_ML2_TENANT_NETWORK_TYPE=${TENANT_NETWORK_TYPE}
Q_OVS_USE_VETH=True
SERVICE_PASSWORD=admin
ADMIN_PASSWORD=admin
-enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_BRANCH}
-
ODL_PORT=8080
ODL_MODE=externalodl
+ODL_PORT_BINDING_CONTROLLER=${ODL_ML2_PORT_BINDING}
+
LIBVIRT_TYPE=qemu
+NEUTRON_LBAAS_SERVICE_PROVIDERV2=${LBAAS_SERVICE_PROVIDER} # Only relevant if neutron-lbaas plugin is enabled
EOF
if [ "${ENABLE_NETWORKING_L2GW}" == "yes" ]; then
if [ "${ODL_ENABLE_L3_FWD}" == "yes" ]; then
cat >> ${local_conf_file_name} << EOF
PUBLIC_BRIDGE=${PUBLIC_BRIDGE}
-PUBLIC_PHYSICAL_NETWORK=physnet1 # FIXME this should be a parameter
-ML2_VLAN_RANGES=physnet1
+PUBLIC_PHYSICAL_NETWORK=${PUBLIC_PHYSICAL_NETWORK}
+ML2_VLAN_RANGES=${PUBLIC_PHYSICAL_NETWORK}
ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS}
disable_service q-l3
minimize_polling=True
[ml2]
-# Needed for VLAN provider tests - because our provider networks are always encapsulated in VXLAN (br-physnet1)
-# MTU(1440) + VXLAN(50) + VLAN(4) = 1494 < MTU eth0/br-phynset1(1500)
-physical_network_mtus = physnet1:1440
+# Needed for VLAN provider tests - because our provider networks are always encapsulated in VXLAN (br-phys1)
+# MTU(1440) + VXLAN(50) + VLAN(4) = 1494 < MTU eth0/br-phys1(1500)
+physical_network_mtus = ${PUBLIC_PHYSICAL_NETWORK}:1440
+path_mtu = 1490
[[post-config|/etc/neutron/dhcp_agent.ini]]
[DEFAULT]
else
RECLONE=yes
fi
+if [ "${OPENSTACK_BRANCH}" == "master" ] || [ "${OPENSTACK_BRANCH}" == "stable/ocata" ]; then # Ocata+
+ # placement is mandatory for nova since Ocata, note that this requires controller to enable placement-api
+ ENABLED_SERVICES="n-cpu,placement-client"
+else
+ ENABLED_SERVICES="n-cpu"
+fi
+
local_conf_file_name=${WORKSPACE}/local.conf_compute_${HOSTIP}
cat > ${local_conf_file_name} << EOF
[[local|localrc]]
NOVA_VNC_ENABLED=True
MULTI_HOST=1
-ENABLED_SERVICES=n-cpu
-
+ENABLED_SERVICES=${ENABLED_SERVICES}
HOST_IP=${HOSTIP}
SERVICE_HOST=${OPENSTACK_CONTROL_NODE_IP}
SERVICE_PASSWORD=admin
ADMIN_PASSWORD=admin
-enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_BRANCH}
ODL_MODE=compute
+ODL_PORT_BINDING_CONTROLLER=${ODL_ML2_PORT_BINDING}
LIBVIRT_TYPE=qemu
EOF
+if [[ "${ENABLE_OS_PLUGINS}" =~ networking-odl ]]; then
+cat >> ${local_conf_file_name} << EOF
+enable_plugin networking-odl ${ODL_ML2_DRIVER_REPO} ${ODL_ML2_BRANCH}
+EOF
+fi
+
if [ "${NUM_ODL_SYSTEM}" -gt 1 ]; then
odl_list=${ODL_SYSTEM_1_IP}
for i in `seq 2 ${NUM_ODL_SYSTEM}`
ODL_L3=${ODL_L3}
PUBLIC_INTERFACE=br100 # FIXME do we use br100 at all?
PUBLIC_BRIDGE=${PUBLIC_BRIDGE}
-PUBLIC_PHYSICAL_NETWORK=physnet1 # FIXME this should be a parameter
+PUBLIC_PHYSICAL_NETWORK=${PUBLIC_PHYSICAL_NETWORK}
ODL_PROVIDER_MAPPINGS=${ODL_PROVIDER_MAPPINGS}
EOF
fi
mkdir -p ${OS_CTRL_FOLDER}
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
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"
mkdir -p ${OS_COMPUTE_FOLDER}
scp ${!OSIP}:/opt/stack/devstack/nohup.out ${OS_COMPUTE_FOLDER}/stack.log
scp ${!OSIP}:/var/log/openvswitch/ovs-vswitchd.log ${OS_COMPUTE_FOLDER}/ovs-vswitchd.log
+ scp ${!OSIP}:/etc/nova/nova.conf ${OS_COMPUTE_FOLDER}/nova.conf
rsync -avhe ssh ${!OSIP}:/opt/stack/logs/* ${OS_COMPUTE_FOLDER} # rsync to prevent copying of symbolic links
scp extra_debug.sh ${!OSIP}:/tmp
${SSH} ${!OSIP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log"
ssh ${OPENSTACK_CONTROL_NODE_IP} "cd /opt/stack; git clone https://git.openstack.org/openstack/requirements; cd requirements; git checkout stable/newton; sed -i /appdirs/d upper-constraints.txt"
fi
-
for i in `seq 1 $((NUM_OPENSTACK_SYSTEM - 1))`
do
COMPUTEIP=OPENSTACK_COMPUTE_NODE_${i}_IP
# Control Node - PUBLIC_BRIDGE will act as the external router
GATEWAY_IP="10.10.10.250" # FIXME this should be a parameter, also shared with integration-test
-${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo ifconfig $PUBLIC_BRIDGE up ${GATEWAY_IP}/24"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo ip link add link ${PUBLIC_BRIDGE} name ${PUBLIC_BRIDGE}.167 type vlan id 167"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo ifconfig ${PUBLIC_BRIDGE} up"
+${SSH} ${OPENSTACK_CONTROL_NODE_IP} "sudo ifconfig ${PUBLIC_BRIDGE}.167 up ${GATEWAY_IP}/24"
compute_index=1
for compute_ip in ${COMPUTE_IPS[*]}
do
BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}"
BUNDLE="distribution-karaf-${TIMESTAMP}.zip"
ACTUALBUNDLEURL="${NEXUSPATH}/${BUNDLEVERSION}/${BUNDLE}"
+elif [[ ${BUNDLEURL} == *"distribution-check"* ]]; then
+ ACTUALBUNDLEURL="${BUNDLEURL}"
+ BUNDLE="${BUNDLEURL##*/}"
+ BUNDLEFOLDER="${BUNDLE//.zip}"
+ BUNDLEVERSION="${BUNDLEFOLDER//distribution-karaf-}"
else
ACTUALBUNDLEURL="${BUNDLEURL}"
BUNDLE="${BUNDLEURL##*/}"
# of client libraries only.
pip install --upgrade tornado jsonpointer
+# Module for TemplatedRequests.robot library
+pip install --upgrade jmespath
+
# Print installed versions.
pip freeze
server-name: '{server}'
trigger-on:
- patchset-created-event:
- exclude-drafts: 'true'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
+ exclude-drafts: true
+ exclude-trivial-rebase: false
+ 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
projects:
- - project-compare-type: 'ANT'
+ - project-compare-type: ANT
project-pattern: '{project}'
branches:
- - branch-compare-type: 'ANT'
+ - branch-compare-type: ANT
branch-pattern: '**/{branch}'
file-paths:
- - compare-type: 'ANT'
+ - compare-type: ANT
pattern: '{files}'
# Macro: integration-openstack-controller-mininet
name: ODL_ML2_DRIVER_VERSION
default: '{odl-ml2-driver-version}'
description: 'Mode of networking-odl (v1 or v2)'
+ - string:
+ name: ODL_ML2_PORT_BINDING
+ default: '{odl-ml2-port-binding}'
+ description: 'Method of networking-odl port-binding (pseudo-agentdb-binding or legacy-port-binding or
+ network-topology)'
+ - string:
+ name: DEVSTACK_KUBERNETES_PLUGIN_REPO
+ default: '{devstack-kubernetes-plugin-repo}'
+ description: 'URL to fetch kubernetes devstack plugin'
+ - string:
+ name: DEVSTACK_LBAAS_PLUGIN_REPO
+ default: '{devstack-lbaas-plugin-repo}'
+ description: 'URL to fetch neutron-lbaas devstack plugin'
- string:
name: ODL_ENABLE_L3_FWD
default: '{odl-enable-l3}'
name: ENABLE_OS_SERVICES
default: '{enable-openstack-services}'
description: 'comma seperated list of services to enable'
+ - string:
+ name: ENABLE_OS_PLUGINS
+ default: '{enable-openstack-plugins}'
+ description: 'comma seperated list of plugins to enable'
- string:
name: DISABLE_OS_SERVICES
default: '{disable-openstack-services}'
name: DISABLE_ODL_L3_PLUGIN
default: '{disable-odl-l3-service-plugin}'
description: 'Disable odl l3 service plugin'
+ - string:
+ name: CREATE_INITIAL_NETWORKS
+ default: '{create-initial-networks}'
+ description: 'Toggles the option of letting devstack create initial networks (True/False)'
+ - string:
+ name: LBAAS_SERVICE_PROVIDER
+ default: '{lbaas-service-provider}'
+ description: 'The NEUTRON_LBAAS_SERVICE_PROVIDERV2 value to be used in local.conf - only relevant when using
+ neutron-lbaas'
scm:
- integration-gerrit-scm:
basedir: 'test'
name: ODL_ML2_DRIVER_VERSION
default: '{odl-ml2-driver-version}'
description: 'Mode of networking-odl (v1 or v2)'
+ - string:
+ name: ODL_ML2_PORT_BINDING
+ default: '{odl-ml2-port-binding}'
+ description: 'Method of networking-odl port-binding (pseudo-agentdb-binding or legacy-port-binding or
+ network-topology)'
+ - string:
+ name: DEVSTACK_KUBERNETES_PLUGIN_REPO
+ default: '{devstack-kubernetes-plugin-repo}'
+ description: 'URL to fetch kubernetes devstack plugin'
+ - string:
+ name: DEVSTACK_LBAAS_PLUGIN_REPO
+ default: '{devstack-lbaas-plugin-repo}'
+ description: 'URL to fetch neutron-lbaas devstack plugin'
- string:
name: ODL_ENABLE_L3_FWD
default: '{odl-enable-l3}'
name: ENABLE_OS_SERVICES
default: '{enable-openstack-services}'
description: 'comma seperated list of services to enable'
+ - string:
+ name: ENABLE_OS_PLUGINS
+ default: '{enable-openstack-plugins}'
+ description: 'comma seperated list of plugins to enable'
- string:
name: DISABLE_OS_SERVICES
default: '{disable-openstack-services}'
name: DISABLE_ODL_L3_PLUGIN
default: '{disable-odl-l3-service-plugin}'
description: 'Disable odl l3 service plugin'
-
+ - string:
+ name: CREATE_INITIAL_NETWORKS
+ default: '{create-initial-networks}'
+ description: 'Toggles the option of letting devstack create initial networks (True/False)'
+ - string:
+ name: LBAAS_SERVICE_PROVIDER
+ default: '{lbaas-service-provider}'
+ description: 'The NEUTRON_LBAAS_SERVICE_PROVIDERV2 value to be used in local.conf - only relevant when using
+ neutron-lbaas'
scm:
- integration-gerrit-scm:
basedir: 'test'
maven-version: 'mvn33'
pom: '{project}/pom.xml'
goals: >
- clean install dependency:tree -V -B -Djenkins
- -DskipTests
- -Dcheckstyle.skip=true
- -Dmaven.javadoc.skip=true
- -Dmaven.site.skip=true
+ clean install dependency:tree
+ -V -B -Pq
+ -Dgitid.skip=false
+ -Djenkins
-DgenerateReports=false
-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
-Dstream={stream}
maven-name: 'mvn33'
root-pom: 'distribution/pom.xml'
goals: >
- clean install dependency:tree -V -B -Djenkins
+ clean install dependency:tree
+ -V -B -Pq
+ -Dgitid.skip=false
+ -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'
scope: 'all'
# Features to install
- install-features: 'odl-onem2mall-iotdm'
+ install-features: 'odl-iotdmcsitdist'
# Robot custom options
robot-options: ''
- mitaka:
openstack-branch: 'stable/mitaka'
odl-ml2-branch: 'stable/mitaka'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170210-1356'
+ openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170314-2255'
- newton:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: 'CentOS 7 - devstack-newton - 20170210-1344'
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
- newton-nodl-v2:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
odl-ml2-driver-version: 'v2'
- openstack_system_image: 'CentOS 7 - devstack-newton - 20170210-1344'
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
tools_system_count: 2
tools_system_image: 'Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300'
- odl-enable-l3: 'yes'
-
enable-networking-l2gw: 'yes'
disable-odl-l3-service-plugin: 'yes'
- public-bridge: 'br-physnet1'
-
- public-physical-network: 'physnet1'
-
enable-openstack-services: 'q-svc,q-dhcp,q-meta,n-cauth,tempest,l2gw-plugin'
- disable-openstack-services: 'swift,cinder,n-net,q-vpn,n-cpu'
-
- tenant-network-type: 'vxlan'
-
security-group-mode: '{sg-mode}'
-
- robot-options: ''
- mitaka:
openstack-branch: 'stable/mitaka'
odl-ml2-branch: 'stable/mitaka'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170210-1356'
+ openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170314-2255'
- newton:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: 'CentOS 7 - devstack-newton - 20170210-1344'
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
- newton-nodl-v2:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
odl-ml2-driver-version: 'v2'
- openstack_system_image: 'CentOS 7 - devstack-newton - 20170210-1344'
-
- odl-enable-l3: 'yes'
-
- public-bridge: 'br-physnet1'
-
- public-physical-network: 'physnet1'
-
- enable-networking-l2gw: 'no'
-
- disable-odl-l3-service-plugin: 'no'
-
- enable-openstack-services: 'q-svc,q-dhcp,q-meta,n-cauth,tempest'
-
- disable-openstack-services: 'swift,cinder,n-net,q-vpn,n-cpu'
-
- tenant-network-type: 'vxlan'
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
security-group-mode: '{sg-mode}'
-
- robot-options: ''
- mitaka:
openstack-branch: 'stable/mitaka'
odl-ml2-branch: 'stable/mitaka'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: CentOS 7 - devstack-mitaka - 20170210-1356
+ openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170314-2255'
- newton:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: CentOS 7 - devstack-newton - 20170210-1344
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
- newton-nodl-v2:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
odl-ml2-driver-version: 'v2'
- openstack_system_image: CentOS 7 - devstack-newton - 20170210-1344
-
- odl-enable-l3: 'yes'
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
public-bridge: 'br-ex'
-
- public-physical-network: 'physnet1'
-
- enable-networking-l2gw: 'no'
-
- disable-odl-l3-service-plugin: 'no'
-
- enable-openstack-services: 'q-svc,q-dhcp,q-meta,n-cauth,tempest'
-
- disable-openstack-services: 'swift,cinder,n-net,q-vpn,n-cpu'
-
- tenant-network-type: 'vxlan'
-
- security-group-mode: 'none'
-
- robot-options: ''
- '{project-name}-merge-{stream}'
- '{project-name}-validate-autorelease-{stream}'
- '{project-name}-verify-{stream}-{maven}-{jdks}'
+ - '{project-name}-verify-tox-{stream}'
stream: carbon
project: 'odlparent'
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-bulk-matic-ds-daily-old
- jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'bulk-matic-ds-daily'
-
- # Project branches
- stream:
- - beryllium:
- branch: 'stable/beryllium'
- jre: 'openjdk7'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-app-bulk-o-matic'
-
- # Robot custom options
- robot-options: '-v flnr:50000'
-
- # Plot Info
- 01-plot-title: 'REST setup rate (for 100k flows)'
- 01-plot-yaxis: 'setup time[s], req[flows/s]'
- 01-plot-group: 'Performance Rate'
- 01-plot-data-file: 'flows_setup_time.csv'
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-bulk-matic-ds-daily
- jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'bulk-matic-ds-daily'
-
- # Project branches
- stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- - boron:
- branch: 'stable/boron'
- jre: 'openjdk8'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-app-bulk-o-matic'
-
- # Robot custom options
- robot-options: '-v flnr:50000'
-
- # Plot Info
- 01-plot-title: 'REST setup rate (for 100k flows)'
- 01-plot-yaxis: 'setup time[s], req[flows/s]'
- 01-plot-group: 'Performance Rate'
- 01-plot-data-file: 'flows_setup_time.csv'
project: 'openflowplugin'
# The functionality under test
- functionality: 'bulkomatic-clustering-daily'
+ functionality:
+ - bulkomatic-clustering-daily
+ - gate-bulkomatic-clustering-daily
# Project branches
stream:
project: 'openflowplugin'
# The functionality under test
- functionality: 'bulkomatic-clustering-perf-daily'
+ functionality:
+ - bulkomatic-clustering-perf-daily
+ - gate-bulkomatic-clustering-perf-daily
# Project branches
stream:
project: 'openflowplugin'
# The functionality under test
- functionality: 'bulkomatic-perf-daily'
+ functionality:
+ - bulkomatic-perf-daily
+ - gate-bulkomatic-perf-daily
# Project branches
stream:
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-cbench-performance-old
- jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'cbench-performance'
-
- # Project branches
- stream:
- - beryllium:
- branch: 'stable/beryllium'
- jre: 'openjdk7'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-drop-test'
-
- # Robot custom options
- robot-options: '-v throughput_threshold:20000 -v latency_threshold:5000'
-
- # Plot Info
- 01-plot-title: 'Throughput Mode'
- 01-plot-yaxis: 'flow_mods/sec'
- 01-plot-group: 'Cbench Performance'
- 01-plot-data-file: 'throughput.csv'
- 02-plot-title: 'Latency Mode'
- 02-plot-yaxis: 'flow_mods/sec'
- 02-plot-group: 'Cbench Performance'
- 02-plot-data-file: 'latency.csv'
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-cbench-performance
- jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'cbench-performance'
-
- # Project branches
- stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- - boron:
- branch: 'stable/boron'
- jre: 'openjdk8'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-drop-test'
-
- # Robot custom options
- robot-options: '-v throughput_threshold:20000 -v latency_threshold:5000'
-
- # Plot Info
- 01-plot-title: 'Throughput Mode'
- 01-plot-yaxis: 'flow_mods/sec'
- 01-plot-group: 'Cbench Performance'
- 01-plot-data-file: 'throughput.csv'
- 02-plot-title: 'Latency Mode'
- 02-plot-yaxis: 'flow_mods/sec'
- 02-plot-group: 'Cbench Performance'
- 02-plot-data-file: 'latency.csv'
name: openflowplugin-csit-clustering
jobs:
- '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-3node-{functionality}'
# The project name
project: 'openflowplugin'
# The functionality under test
- functionality: 'clustering'
+ functionality:
+ - clustering
+ - gate-clustering
# Project branches
stream:
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-config-performance-old
- jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'config-performance'
-
- # Project branches
- stream:
- - beryllium:
- branch: 'stable/beryllium'
- jre: 'openjdk7'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui'
-
- # Robot custom options
- robot-options: ''
-
- # Plot Info
- 01-plot-title: 'Flow REST API Rate'
- 01-plot-yaxis: 'http_req/sec'
- 01-plot-group: 'Flow Config Performance'
- 01-plot-data-file: 'rates.csv'
- 02-plot-title: 'Flow Stats Collect Time'
- 02-plot-yaxis: 'seconds'
- 02-plot-group: 'Stats Collect Performance'
- 02-plot-data-file: 'times.csv'
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-config-performance
- jobs:
- - '{project}-csit-1node-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'config-performance'
-
- # Project branches
- stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- - boron:
- branch: 'stable/boron'
- jre: 'openjdk8'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui'
-
- # Robot custom options
- robot-options: ''
-
- # Plot Info
- 01-plot-title: 'Flow REST API Rate'
- 01-plot-yaxis: 'http_req/sec'
- 01-plot-group: 'Flow Config Performance'
- 01-plot-data-file: 'rates.csv'
- 02-plot-title: 'Flow Stats Collect Time'
- 02-plot-yaxis: 'seconds'
- 02-plot-group: 'Stats Collect Performance'
- 02-plot-data-file: 'times.csv'
name: openflowplugin-csit-flow-services
jobs:
- '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
# The project name
project: 'openflowplugin'
# The functionality under test
- functionality: 'flow-services'
+ functionality:
+ - flow-services
+ - gate-flow-services
# Project branches
stream:
+++ /dev/null
----
-- project:
- name: openflowplugin-csit-rpc-time-measure-daily-old
- jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'openflowplugin'
-
- # The functionality under test
- functionality: 'rpc-time-measure-daily'
-
- # Project branches
- stream:
- - beryllium:
- branch: 'stable/beryllium'
- jre: 'openjdk7'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-app-bulk-o-matic'
-
- # Robot custom options
- robot-options: ''
-
- # Plot Info
- 01-plot-title: 'REST setup rate (for 100k flows)'
- 01-plot-yaxis: 'setup time[s], req[flows/s]'
- 01-plot-group: 'Performance Rate'
- 01-plot-data-file: 'flows_setup_time.csv'
---
- project:
- name: openflowplugin-csit-rpc-time-measure-daily
+ name: openflowplugin-csit-sanity
jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+ - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - '{project}-csit-verify-1node-{functionality}'
# The project name
project: 'openflowplugin'
# The functionality under test
- functionality: 'rpc-time-measure-daily'
+ functionality: 'sanity'
# Project branches
stream:
scope: 'only'
# Features to install
- install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-app-bulk-o-matic'
+ install-features: 'odl-openflowplugin-flow-services-ui,odl-openflowplugin-app-table-miss-enforcer'
# Robot custom options
robot-options: ''
- # Plot Info
- 01-plot-title: 'REST setup rate (for 100k flows)'
- 01-plot-yaxis: 'setup time[s], req[flows/s]'
- 01-plot-group: 'Performance Rate'
- 01-plot-data-file: 'flows_setup_time.csv'
+ # mininet image
+ tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
project: 'openflowplugin'
# The functionality under test
- functionality: 'scalability'
+ functionality:
+ - scalability
+ - gate-scalability
# Project branches
stream:
project: 'openflowplugin'
# The functionality under test
- functionality: 'scale-stats-collection-daily'
+ functionality:
+ - scale-stats-collection-daily
+ - gate-scale-stats-collection-daily
# Project branches
stream:
feature:
- core:
csit-list: >
- openflowplugin-csit-1node-flow-services-only-{stream},
- openflowplugin-csit-1node-flow-services-all-{stream},
- openflowplugin-csit-1node-scalability-only-{stream},
- openflowplugin-csit-1node-cbench-performance-only-{stream},
- openflowplugin-csit-1node-config-performance-only-{stream},
- openflowplugin-csit-3node-clustering-only-{stream}
+ openflowplugin-csit-1node-gate-flow-services-only-{stream},
+ openflowplugin-csit-1node-gate-flow-services-all-{stream},
+ openflowplugin-csit-1node-gate-scalability-only-{stream},
+ openflowplugin-csit-1node-periodic-gate-scale-stats-collection-daily-only-{stream},
+ openflowplugin-csit-1node-periodic-gate-bulkomatic-perf-daily-only-{stream},
+ openflowplugin-csit-3node-gate-clustering-only-{stream},
+ openflowplugin-csit-3node-periodic-gate-bulkomatic-clustering-daily-only-{stream},
+ openflowplugin-csit-3node-periodic-gate-bulkomatic-clustering-perf-daily-only-{stream}
- netvirt:
csit-list: >
+++ /dev/null
----
-- project:
- name: ovsdb-csit-scalability-daily
- jobs:
- - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
-
- # The project name
- project: 'ovsdb'
-
- # The functionality under test
- functionality: 'scalability-daily'
-
- # Project branches
- stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- - boron:
- branch: 'stable/boron'
- jre: 'openjdk8'
- - beryllium:
- branch: 'stable/beryllium'
- jre: 'openjdk7'
-
- install:
- - only:
- scope: 'only'
-
- # Features to install
- install-features: 'odl-ovsdb-openstack'
-
- # Robot custom options
- robot-options: '-v MIN_SWITCHES:100 -v MAX_SWITCHES:500 -v STEP_SWITCHES:100'
-
- # Plot Info
- 01-plot-title: 'Max number of Switches'
- 01-plot-yaxis: 'OpenFlow Switches'
- 01-plot-group: 'Inventory Scalability'
- 01-plot-data-file: 'switches.csv'
- job-template:
name: 'packaging-build-deb-{stream}'
- node: ubuntu-trusty-mininet-2c-2g
+ node: ubuntu1404-mininet-2c-2g
project-type: freestyle
- job-template:
name: 'packaging-test-ansible-deb-{stream}'
- node: ubuntu-xenial-mininet-ovs-25-2c-4g
+ node: ubuntu1604-mininet-ovs-25-2c-4g
project-type: freestyle
email-recipients: 'jenkins@lists.opendaylight.org'
odl-ml2-driver-repo: 'https://github.com/openstack/networking-odl'
networking-l2gw-repo: 'http://git.openstack.org/openstack/networking-l2gw'
+ devstack-kubernetes-plugin-repo: 'https://github.com/openstack/kuryr-kubernetes'
+ devstack-lbaas-plugin-repo: 'https://github.com/openstack/neutron-lbaas'
server-name: 'OpenDaylight'
git-url: 'ssh://jenkins-$SILO@git.opendaylight.org:29418'
+ public-bridge: 'br-physnet1'
+ public-physical-network: 'physnet1'
+ odl-enable-l3: 'yes'
+ disable-odl-l3-service-plugin: 'no'
+ odl-ml2-driver-version: 'v1'
+ odl-ml2-port-binding: 'network-topology'
+ enable-openstack-plugins: 'networking-odl'
+ enable-openstack-services: 'q-svc,q-dhcp,q-meta,n-cauth,tempest'
+ disable-openstack-services: 'swift,cinder,n-net,q-vpn,n-cpu'
+ enable-networking-l2gw: 'no'
+ lbaas-service-provider: ''
+ create-initial-networks: 'False'
+ tenant-network-type: 'vxlan'
+ security-group-mode: 'none'
+
# openstack-infra-parameters defaults
archive-artifacts: ''
branch: master
ocpplugin-csit-1node-scalability-only-carbon,
of-config-csit-1node-basic-all-carbon,
of-config-csit-1node-basic-only-carbon,
- openflowplugin-csit-1node-cbench-performance-only-carbon,
- openflowplugin-csit-1node-config-performance-only-carbon,
openflowplugin-csit-1node-flow-services-all-carbon,
openflowplugin-csit-1node-flow-services-frs-only-carbon,
openflowplugin-csit-1node-flow-services-only-carbon,
- openflowplugin-csit-1node-periodic-bulk-matic-ds-daily-only-carbon,
openflowplugin-csit-1node-periodic-bulkomatic-perf-daily-only-carbon,
openflowplugin-csit-1node-periodic-cbench-daily-only-carbon,
openflowplugin-csit-1node-periodic-link-scalability-daily-only-carbon,
openflowplugin-csit-1node-periodic-restconf-perf-daily-only-carbon,
- openflowplugin-csit-1node-periodic-rpc-time-measure-daily-only-carbon,
openflowplugin-csit-1node-periodic-scale-stats-collection-daily-frs-only-carbon,
openflowplugin-csit-1node-periodic-scale-stats-collection-daily-only-carbon,
openflowplugin-csit-1node-periodic-sw-scalability-daily-only-carbon,
+ openflowplugin-csit-1node-sanity-only-carbon,
openflowplugin-csit-1node-scalability-only-carbon,
openflowplugin-csit-3node-clustering-only-carbon,
openflowplugin-csit-3node-periodic-bulkomatic-clustering-daily-only-carbon,
openflowplugin-csit-3node-periodic-bulkomatic-clustering-perf-daily-only-carbon,
openflowplugin-csit-3node-periodic-restconf-clustering-perf-daily-only-carbon,
- ovsdb-csit-1node-periodic-scalability-daily-only-carbon,
ovsdb-csit-1node-upstream-southbound-all-carbon,
ovsdb-csit-1node-upstream-southbound-only-carbon,
ovsdb-csit-3node-upstream-clustering-only-carbon,
ocpplugin-csit-1node-scalability-only-boron,
of-config-csit-1node-basic-all-boron,
of-config-csit-1node-basic-only-boron,
- openflowplugin-csit-1node-cbench-performance-only-boron,
- openflowplugin-csit-1node-config-performance-only-boron,
openflowplugin-csit-1node-flow-services-all-boron,
openflowplugin-csit-1node-flow-services-frs-only-boron,
openflowplugin-csit-1node-flow-services-only-boron,
- openflowplugin-csit-1node-periodic-bulk-matic-ds-daily-only-boron,
openflowplugin-csit-1node-periodic-bulkomatic-perf-daily-only-boron,
openflowplugin-csit-1node-periodic-cbench-daily-only-boron,
openflowplugin-csit-1node-periodic-link-scalability-daily-only-boron,
openflowplugin-csit-1node-periodic-restconf-perf-daily-only-boron,
- openflowplugin-csit-1node-periodic-rpc-time-measure-daily-only-boron,
openflowplugin-csit-1node-periodic-scale-stats-collection-daily-frs-only-boron,
openflowplugin-csit-1node-periodic-scale-stats-collection-daily-only-boron,
openflowplugin-csit-1node-periodic-sw-scalability-daily-only-boron,
+ openflowplugin-csit-1node-sanity-only-boron,
openflowplugin-csit-1node-scalability-only-boron,
openflowplugin-csit-3node-clustering-only-boron,
openflowplugin-csit-3node-periodic-bulkomatic-clustering-daily-only-boron,
openflowplugin-csit-3node-periodic-bulkomatic-clustering-perf-daily-only-boron,
openflowplugin-csit-3node-periodic-restconf-clustering-perf-daily-only-boron,
- ovsdb-csit-1node-periodic-scalability-daily-only-boron,
ovsdb-csit-1node-upstream-southbound-all-boron,
ovsdb-csit-1node-upstream-southbound-only-boron,
ovsdb-csit-3node-upstream-clustering-only-boron,
nic-csit-1node-vtnrenderer-only-beryllium,
of-config-csit-1node-basic-all-beryllium,
of-config-csit-1node-basic-only-beryllium,
- openflowplugin-csit-1node-cbench-performance-only-beryllium,
- openflowplugin-csit-1node-config-performance-only-beryllium,
openflowplugin-csit-1node-flow-services-all-beryllium,
openflowplugin-csit-1node-flow-services-only-beryllium,
- openflowplugin-csit-1node-periodic-bulk-matic-ds-daily-only-beryllium,
openflowplugin-csit-1node-periodic-bulkomatic-perf-daily-only-beryllium,
openflowplugin-csit-1node-periodic-cbench-daily-only-beryllium,
openflowplugin-csit-1node-periodic-link-scalability-daily-only-beryllium,
openflowplugin-csit-1node-periodic-restconf-perf-daily-only-beryllium,
- openflowplugin-csit-1node-periodic-rpc-time-measure-daily-only-beryllium,
openflowplugin-csit-1node-periodic-scale-stats-collection-daily-only-beryllium,
openflowplugin-csit-1node-periodic-sw-scalability-daily-only-beryllium,
openflowplugin-csit-1node-scalability-only-beryllium,
openflowplugin-csit-3node-periodic-bulkomatic-clustering-daily-only-beryllium,
openflowplugin-csit-3node-periodic-bulkomatic-clustering-perf-daily-only-beryllium,
openflowplugin-csit-3node-periodic-restconf-clustering-perf-daily-only-beryllium,
- ovsdb-csit-1node-periodic-scalability-daily-only-beryllium,
ovsdb-csit-1node-upstream-southbound-all-beryllium,
ovsdb-csit-1node-upstream-southbound-only-beryllium,
ovsdb-csit-3node-upstream-clustering-only-beryllium,
server-name: '{server}'
trigger-on:
- patchset-created-event:
- exclude-drafts: 'true'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'true'
+ exclude-drafts: true
+ exclude-trivial-rebase: false
+ 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-compare-type: ANT
project-pattern: '{project}'
branches:
- - branch-compare-type: 'ANT'
+ - branch-compare-type: ANT
branch-pattern: '**/{branch}'
file-paths:
- - compare-type: 'ANT'
+ - compare-type: ANT
pattern: '{files}'
# TODO: Unify argument names across gerrit-trigger-* macros.
files:
- file-id: 'jjbini'
target: '$HOME/.config/jenkins_jobs/jenkins_jobs.ini'
+
+- builder:
+ name: distribution-check-wipe
+ # Step zero: Wipe file repositories up front.
+ builders:
+ - shell: |
+ echo "wipe r: the local Maven repository"
+ rm -rfv /tmp/r
+ echo "wipe n: the fake remote (Nexus) repository"
+ rm -rfv /tmp/n
+ echo "wipe t: the transient repository used in some manipulations"
+ rm -rfv /tmp/t
+
+- builder:
+ name: distribution-check-build-project
+ # Step one: Online build of the project, using local repository /tmp/r/ and deploying artifacts to /tmp/n/.
+ # Ordinary SingleFeatureTest failures are detected in the verify job, so we can use "q" profile here.
+ # Arguments:
+ # pom: Relative path to pom file to use. Typically '$GERRIT_PROJECT/pom.xml'.
+ builders:
+ - maven-target:
+ maven-version: 'mvn33'
+ pom: '{pom}'
+ goals: >
+ clean deploy dependency:tree
+ -DoutputFile=dependency_tree.txt
+ -V -B -Pq
+ -Djenkins
+ -DaltDeploymentRepository=fake-nexus::default::file:///tmp/n/
+ -Dmaven.repo.local=/tmp/r
+ -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ java-opts:
+ - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: 'integration-settings'
+ settings-type: cfp
+ global-settings: 'odl-global-settings'
+ global-settings-type: cfp
+
+- builder:
+ name: distribution-check-verify-groupid
+ # Step two: Verify all deployed artifacts belong to the project's groupId.
+ # This is done by moving the allowed directories out of /tmp/n and checking no files remained there.
+ # The correct directory is derived from $GERRIT_PROJECT.
+ # TODO: Verify all deployed artifacts are snapshots.
+ # Arguments:
+ # gerrit-project: Project name as nexus URI part. Typically '$GERRIT_PROJECT'.
+ builders:
+ - shell: |
+ mkdir -p /tmp/t/org/opendaylight/{gerrit-project}
+ mv /tmp/n/org/opendaylight/{gerrit-project}/* /tmp/t/org/opendaylight/{gerrit-project}/
+ test -z "`find /tmp/n/ -type f`" || ( echo "ERROR: Mismatched groupId detected (see above)." && false )
+ rm -rf /tmp/n
+ mv /tmp/t /tmp/n
+
+- builder:
+ name: distribution-check-download-deps
+ # Step three: Online build of integration distribution.
+ # This step is mainly used for downloading other project artifacts.
+ # Running SingleFeaturesTest here does not seem to be required, so -Pq is used again.
+ # Arguments:
+ # dist-pom: Relative path to pom file to use. 'distribution/pom.xml' is recommended.
+ builders:
+ - maven-target:
+ maven-version: 'mvn33'
+ pom: '{dist-pom}'
+ goals: >
+ clean install dependency:tree
+ -DoutputFile=dependency_tree.txt
+ -V -B -Pq
+ -Djenkins
+ -Dmaven.repo.local=/tmp/r
+ -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ java-opts:
+ - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+ settings: 'integration-settings'
+ settings-type: cfp
+ global-settings: 'odl-global-settings'
+ global-settings-type: cfp
+
+- builder:
+ name: distribution-check-delete-snapshots
+ # Step four: Delete snapshot artifacts from the local repository.
+ # This is critical to detect orphaned artifacts or missing project-internal dependency declarations.
+ # Also other files related to maven repository resolution are removed,
+ # and then empty directories are removed, in order to simplify debugging.
+ builders:
+ - shell: !include-raw-escape: integration-distribution-delete-snaphot-artifacts.sh
+
+- builder:
+ name: distribution-check-configure-remotes
+ # Now the ugly part. It seems that the only way to tell Maven 2+
+ # which remote repositories to use is via settings.xml file.
+ # So we create such a file here, but it needs most of odlparent:settings.xml
+ builders:
+ - shell: |
+ echo '
+ <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
+ https://maven.apache.org/xsd/settings-1.0.0.xsd">
+ <profiles>
+ <profile>
+ <id>opendaylight-release</id>
+ <repositories>
+ <repository>
+ <id>opendaylight-mirror</id>
+ <name>opendaylight</name>
+ <url>https://nexus.opendaylight.org/content/repositories/public/</url>
+ <releases><updatePolicy>never</updatePolicy></releases>
+ <snapshots><enabled>false</enabled></snapshots>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>opendaylight-plugin-mirror</id>
+ <name>opendaylight-plugin</name>
+ <url>https://nexus.opendaylight.org/content/repositories/public/</url>
+ <releases><updatePolicy>never</updatePolicy></releases>
+ <snapshots><enabled>false</enabled></snapshots>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ <profile>
+ <id>file-snapshots</id>
+ <repositories>
+ <repository>
+ <id>file-snapshots</id>
+ <name>file</name>
+ <url>file:///tmp/n/</url>
+ <releases><enabled>false</enabled></releases>
+ </repository>
+ </repositories>
+ <pluginRepositories>
+ <pluginRepository>
+ <id>file-plugin-snapshots</id>
+ <name>file-plugin</name>
+ <url>file:///tmp/n/</url>
+ <releases><enabled>false</enabled></releases>
+ </pluginRepository>
+ </pluginRepositories>
+ </profile>
+ </profiles>
+ <activeProfiles>
+ <activeProfile>file-snapshots</activeProfile>
+ <activeProfile>opendaylight-release</activeProfile>
+ </activeProfiles>
+ </settings>
+ ' > fake_remotes.xml
+ # Notes: The settings are minimal in order to detect breakage scenarios,
+ # while allowing for the following quirks:
+ # * Some plugins seem to have hardcoded repos, for example check-license looks at repository.apache.org
+ # * Some plugin artifacts (related to surefire) are not downloaded when tests are skipped.
+ # * populate-local-repo looks at oss.sonatype.org and does not store things (like guava) to /tmp/r
+
+- builder:
+ name: distribution-check-repeat-build
+ # Step five: Repeat the distribution build but with the new settings.
+ # Here, only the project snapshot artifacts deployed to /tmp/n are available,
+ # which faithfully reproduces conditions in later verify-like job runs.
+ # We cannot use --offline, because: "Cannot access file (file:///tmp/n) in offline mode"
+ # This is where SingleFeatureTest is not skipped.
+ # Arguments:
+ # dist-pom: Relative path to pom file to use. 'distribution/pom.xml' is recommended.
+ builders:
+ - maven-target:
+ maven-version: 'mvn33'
+ pom: '{dist-pom}'
+ goals: >
+ clean install dependency:tree
+ -DoutputFile=dependency_tree.txt -s fake_remotes.xml
+ -V -B -Pq
+ -DskipTests=false
+ -Djenkins
+ -Dmaven.repo.local=/tmp/r
+ -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
+ java-opts:
+ - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
files: '**'
builders:
- # Step zero: Wipe file repositories up front.
- - shell: |
- echo "wipe r: the local Maven repository"
- rm -rfv /tmp/r
- echo "wipe n: the fake remote (Nexus) repository"
- rm -rfv /tmp/n
- echo "wipe t: the transient repository used in some manipulations"
- rm -rfv /tmp/t
- # Step one: Online build of the project, using local repository /tmp/r/ and deploying artifacts to /tmp/n/.
- # Ordinary SingleFeatureTest failures are detected in the verify job, so we can use "q" profile here.
- - maven-target:
- maven-version: 'mvn33'
+ - distribution-check-wipe
+ - distribution-check-build-project:
pom: '$GERRIT_PROJECT/pom.xml'
- goals: >
- clean deploy dependency:tree
- -DoutputFile=dependency_tree.txt
- -V -B -Pq
- -Djenkins
- -Dstream={stream}
- -DaltDeploymentRepository=fake-nexus::default::file:///tmp/n/
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
- java-opts:
- - '-Xmx4096m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: '{mvn-settings}'
- settings-type: cfp
- global-settings: 'odl-global-settings'
- global-settings-type: cfp
- # Step two: Verify all deployed artifacts belong to the project's groupId.
- # This is done by moving the allowed directories out of /tmp/n and checking no files remained there.
- # The correct directory is derived from $GERRIT_PROJECT.
- - shell: |
- mkdir -p /tmp/t/org/opendaylight/$GERRIT_PROJECT
- mv /tmp/n/org/opendaylight/$GERRIT_PROJECT/* /tmp/t/org/opendaylight/$GERRIT_PROJECT/
- test -z "`find /tmp/n/ -type f`" || ( echo "ERROR: Mismatched groupId detected (see above)." && false )
- rm -rf /tmp/n
- mv /tmp/t /tmp/n
- # Step three: Online build of integration distribution.
- # This step is mainly used for downloading other project artifacts.
- # Running SingleFeaturesTest here does not seem to be required, so -Pq is used again.
- - maven-target:
- maven-version: 'mvn33'
- pom: 'distribution/pom.xml'
- goals: >
- clean install dependency:tree
- -DoutputFile=dependency_tree.txt
- -V -B -Pq
- -Djenkins
- -Dstream={stream}
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
- java-opts:
- - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
- settings: '{mvn-settings}'
- settings-type: cfp
- global-settings: 'odl-global-settings'
- global-settings-type: cfp
- # Step four: Delete snapshot artifacts from the local repository.
- # This is critical to detect orphaned artifacts or missing project-internal dependency declarations.
- # Also other files related to maven repository resolution are removed,
- # and then empty directories are removed, in order to simplify debugging.
- - shell: !include-raw-escape: integration-distribution-delete-snaphot-artifacts.sh
- # Now the ugly part. It seems that the only way to tell Maven 2+
- # which remote repositories to use is via settings.xml file.
- # So we create such a file here, but it needs most of odlparent:settings.xml
- - shell: |
- echo '
- <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
- https://maven.apache.org/xsd/settings-1.0.0.xsd">
- <profiles>
- <profile>
- <id>opendaylight-release</id>
- <repositories>
- <repository>
- <id>opendaylight-mirror</id>
- <name>opendaylight</name>
- <url>https://nexus.opendaylight.org/content/repositories/public/</url>
- <releases><updatePolicy>never</updatePolicy></releases>
- <snapshots><enabled>false</enabled></snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>opendaylight-plugin-mirror</id>
- <name>opendaylight-plugin</name>
- <url>https://nexus.opendaylight.org/content/repositories/public/</url>
- <releases><updatePolicy>never</updatePolicy></releases>
- <snapshots><enabled>false</enabled></snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- <profile>
- <id>file-snapshots</id>
- <repositories>
- <repository>
- <id>file-snapshots</id>
- <name>file</name>
- <url>file:///tmp/n/</url>
- <releases><enabled>false</enabled></releases>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>file-plugin-snapshots</id>
- <name>file-plugin</name>
- <url>file:///tmp/n/</url>
- <releases><enabled>false</enabled></releases>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- </profiles>
- <activeProfiles>
- <activeProfile>file-snapshots</activeProfile>
- <activeProfile>opendaylight-release</activeProfile>
- </activeProfiles>
- </settings>
- ' > fake_remotes.xml
- # # Notes: The settings are minimal in order to detect breakage scenarios while allowing for the following quirks:
- # # * Some plugins seem to have hardcoded repos, for example check-license looks at repository.apache.org
- # # * Some plugin artifacts (related to surefire) are not downloaded when tests are skipped.
- # # * populate-local-repo looks at oss.sonatype.org and does not store things (like guava) to /tmp/r
- # Step five: Repeat the distribution build but with the new settings.
- # Here, only the project snapshot artifacts deployed to /tmp/n are available,
- # which faithfully reproduces conditions in later verify-like job runs.
- # We cannot use --offline, because: "Cannot access file (file:///tmp/n) in offline mode"
- # This is where SingleFeatureTest is not skipped.
- - maven-target:
- maven-version: 'mvn33'
- pom: 'distribution/pom.xml'
- goals: >
- clean install dependency:tree
- -DoutputFile=dependency_tree.txt -s fake_remotes.xml
- -V -B -Pq
- -DskipTests=false
- -Djenkins
- -Dstream={stream}
- -Dmaven.repo.local=/tmp/r
- -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r
- java-opts:
- - '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
- # Step six: Run Karaf and verify no critical failures are present.
+ - distribution-check-verify-groupid:
+ gerrit-project: '$GERRIT_PROJECT'
+ - distribution-check-download-deps:
+ dist-pom: 'distribution/pom.xml'
+ - distribution-check-delete-snapshots
+ - distribution-check-configure-remotes
+ - distribution-check-repeat-build:
+ dist-pom: 'distribution/pom.xml'
- integration-distribution-check
publishers:
echo "---> Restart spectrometer-api"
pkill gunicorn
sleep 5 # Sleep 5 seconds for cooldown
+ spectrometer server sync
nohup gunicorn -b 0.0.0.0:5000 'spectrometer:run_app()' --timeout 600 -k gevent >> ~/gunicorn.out &
sleep 120 # Sleep 2 minutes to allow Spectrometer to initialize
- mitaka:
openstack-branch: 'stable/mitaka'
odl-ml2-branch: 'stable/mitaka'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170210-1356'
+ openstack_system_image: 'CentOS 7 - devstack-mitaka - 20170314-2255'
- newton:
openstack-branch: 'stable/newton'
odl-ml2-branch: 'stable/newton'
- odl-ml2-driver-version: 'v1'
- openstack_system_image: 'CentOS 7 - devstack-newton - 20170210-1344'
+ openstack_system_image: 'CentOS 7 - devstack-newton - 20170314-2256'
schedule: ''
disable-openstack-services: 'n-net,q-l3'
tenant-network-type: 'local'
-
- public-physical-network: 'physnet1'
-
- enable-networking-l2gw: 'no'
-
- disable-odl-l3-service-plugin: 'no'
-
- security-group-mode: 'none'
-
- robot-options: ''