<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>
- <td colspan="4">
- Ubuntu 14.04 (Trusty) system with ovs 2.3 and mininet 2.2.1
- </td>
- </tr>
-
- <tr class="warning">
- <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>
- <td colspan="4">
- Ubuntu 14.04 (Trusty) system with ovs 2.5 and mininet 2.2.2
- </td>
- </tr>
-
- <tr class="warning">
- <td><b>Jenkins Labels</b><br/> ubuntu1604-mininet-ovs-25-2c-4g</td>
- <td><b>Minion Template names</b><br/> ubuntu1604-mininet-ovs-25-2c-4g</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>
<td colspan="4">
Ubuntu 16.04 (Xenial) system with ovs 2.5 and mininet 2.2.1
jdk: 'openjdk8'
integration-test: carbon
- boron:
- next-release-tag: Boron-SR3
+ next-release-tag: Boron-SR4
branch: 'stable/boron'
jdk: 'openjdk8'
integration-test: boron
- carbon:
branch: 'master'
jre: 'openjdk8'
+\r
+ # TODO: Delete the following if suites are compatible with Boron again.\r
+ verify-stream: 'carbon'\r
+ # TODO: Remove the lines above and below when carbon becomes the default scit-verify stream.\r
+ verify-branch: 'master'\r
+ # TODO: Update the line above when stable/carbon is created.
install:
- only:
--- /dev/null
+---
+- project:
+ name: mdsal-csit-dom-rpc-broker-partition-and-heal-longevity
+ jobs:
+ - '{project}-csit-3node-{functionality}-{install}-{stream}'
+
+ # The project name
+ project: 'controller'
+
+ # The functionality under test
+ functionality: 'drb-partnheal-longevity'
+
+ # Project branches
+ stream:
+ - carbon:
+ branch: 'master'
+ jre: 'openjdk8'
+
+ install:
+ - only:
+ scope: 'only'
+
+ # Features to install
+ install-features: >
+ odl-restconf,
+ odl-clustering-test-app
+
+ # Built timeout
+ build-timeout: '1500'
--- /dev/null
+---
+- project:
+ name: mdsal-csit-dom-rpc-broker-precedence-longevity
+ jobs:
+ - '{project}-csit-3node-{functionality}-{install}-{stream}'
+
+ # The project name
+ project: 'controller'
+
+ # The functionality under test
+ functionality: 'drb-precedence-longevity'
+
+ # Project branches
+ stream:
+ - carbon:
+ branch: 'master'
+ jre: 'openjdk8'
+
+ install:
+ - only:
+ scope: 'only'
+
+ # Features to install
+ install-features: >
+ odl-restconf,
+ odl-clustering-test-app
+
+ # Built timeout
+ build-timeout: '1500'
mv "$WORKSPACE/archives/" "$ARCHIVES_DIR" > /dev/null 2>&1
touch "$ARCHIVES_DIR/_build-details.txt"
echo "build-url: ${BUILD_URL}" >> "$ARCHIVES_DIR/_build-details.txt"
-env | grep -v PASSWORD > "$ARCHIVES_DIR/_build-enviroment-variables.txt"
+env | grep -v PASSWORD | sort > "$ARCHIVES_DIR/_build-enviroment-variables.txt"
# capture system info
touch "$ARCHIVES_DIR/_sys-info.txt"
| 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
+find "$ARCHIVES_DIR" -type f -name \*.hprof -print0 | xargs -0 xz -T 0
zip -r archives.zip "$JENKINS_HOSTNAME/" >> "$ARCHIVES_DIR/_archives.log"
du -sh archives.zip
PUBLIC_INTERFACE=br100
EOF
-if [ -z ${DISABLE_ODL_L3_PLUGIN} ] || [ "${DISABLE_ODL_L3_PLUGIN}" == "no" ]; then
if [ "${ODL_ML2_BRANCH}" == "stable/mitaka" ]; then
cat >> ${local_conf_file_name} << EOF
Q_L3_ENABLED=True
ODL_L3=${ODL_L3}
+
+EOF
+if [ "${ENABLE_NETWORKING_L2GW}" == "yes" ]; then
+cat >> ${local_conf_file_name} << EOF
[[post-config|\$NEUTRON_CONF]]
[DEFAULT]
-service_plugins = networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin
+service_plugins = networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin, networking_l2gw.services.l2gateway.plugin.L2GatewayPlugin
EOF
+else
+cat >> ${local_conf_file_name} << EOF
+[[post-config|\$NEUTRON_CONF]]
+[DEFAULT]
+service_plugins = networking_odl.l3.l3_odl.OpenDaylightL3RouterPlugin
+EOF
+fi #check for ENABLE_NETWORKING_L2GW
+
fi #check for ODL_ML2_BRANCH
-fi #check for DISABLE_ODL_L3_PLUGIN
fi #ODL_ENABLE_L3_FWD check
scp extra_debug.sh ${!OS_CTRL_IP}:/tmp
${SSH} ${!OS_CTRL_IP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log"
scp ${!OS_CTRL_IP}:/tmp/extra_debug.log ${OS_CTRL_FOLDER}/extra_debug.log
+ scp ${!OS_CTRL_IP}:/tmp/*.xz ${OS_CTRL_FOLDER}/
mv local.conf_control_${!OS_CTRL_IP} ${OS_CTRL_FOLDER}/local.conf
mv ${OS_CTRL_FOLDER} ${WORKSPACE}/archives/
done
scp extra_debug.sh ${!OSIP}:/tmp
${SSH} ${!OSIP} "bash /tmp/extra_debug.sh > /tmp/extra_debug.log"
scp ${!OSIP}:/tmp/extra_debug.log ${OS_COMPUTE_FOLDER}/extra_debug.log
+ scp ${!OSIP}:/tmp/*.xz ${OS_COMPUTE_FOLDER}/
mv local.conf_compute_${!OSIP} ${OS_COMPUTE_FOLDER}/local.conf
mv ${OS_COMPUTE_FOLDER} ${WORKSPACE}/archives/
done
fi
# 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
- GATEWAY_VLAN_ID=167
- ${SSH} ${!CONTROLIP} "sudo ip link add link ${PUBLIC_BRIDGE} name ${PUBLIC_BRIDGE}.${GATEWAY_VLAN_ID} type vlan id ${GATEWAY_VLAN_ID}"
- ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up"
- ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE}.${GATEWAY_VLAN_ID} up ${GATEWAY_IP}/24"
+ # Parameter values below are used in integration/test - changing them requires updates in intergration/test as well
+ EXTNET_GATEWAY_IP="10.10.10.250"
+ EXTNET_VLAN_ID=167
+ EXTNET_INTERNET_IP="10.9.9.9"
+ EXTNET_PNF_IP="10.10.10.253"
+ if [[ ${CONTROLLERFEATURES} == *"odl-ovsdb-openstack"* ]]; then
+ ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up ${EXTNET_GATEWAY_IP}/24"
+ else
+ ${SSH} ${!CONTROLIP} "sudo ip link add link ${PUBLIC_BRIDGE} name ${PUBLIC_BRIDGE}.${EXTNET_VLAN_ID} type vlan id ${EXTNET_VLAN_ID}"
+ ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE} up"
+ ${SSH} ${!CONTROLIP} "sudo ifconfig ${PUBLIC_BRIDGE}.${EXTNET_VLAN_ID} up ${EXTNET_GATEWAY_IP}/24"
+
+ # Control Node - external net PNF simulation
+ ${SSH} ${!CONTROLIP} "
+ sudo ip netns add pnf_ns;
+ sudo ip link add pnf_veth0 type veth peer name pnf_veth1;
+ sudo ip link set pnf_veth1 netns pnf_ns;
+ sudo ip link set pnf_veth0 up;
+ sudo ip netns exec pnf_ns ifconfig pnf_veth1 up;
+ sudo ip netns exec pnf_ns ip link add link pnf_veth1 name pnf_veth1.${EXTNET_VLAN_ID} type vlan id ${EXTNET_VLAN_ID};
+ sudo ip netns exec pnf_ns ifconfig pnf_veth1.${EXTNET_VLAN_ID} up ${EXTNET_PNF_IP}/24;
+ sudo ovs-vsctl add-port ${PUBLIC_BRIDGE} pnf_veth0;
+ "
+
+ # Control Node - external net internet address simulation
+ ${SSH} ${!CONTROLIP} "
+ sudo ip tuntap add dev internet_tap mode tap;
+ sudo ifconfig internet_tap up ${EXTNET_INTERNET_IP}/24;
+ "
+ fi
# Computes
compute_index=1
name: NETWORKING_L2GW_DRIVER
default: '{networking-l2gw-repo}'
description: 'URL to fetch networking-l2gw driver'
- - string:
- 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}'
name: NETWORKING_L2GW_DRIVER
default: '{networking-l2gw-repo}'
description: 'URL to fetch networking-l2gw driver'
- - string:
- 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}'
tools_system_count: 2
- tools_system_image: 'Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300'
+ tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170406-0546'
- enable-networking-l2gw: 'yes'
+ odl_system_image: 'CentOS 7 - java-builder - 20170403-0948'
- disable-odl-l3-service-plugin: 'yes'
+ enable-networking-l2gw: 'yes'
enable-openstack-services: 'q-svc,q-dhcp,q-meta,n-cauth,tempest,l2gw-plugin'
# Project branches
stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- boron:
branch: 'stable/boron'
jre: 'openjdk8'
schedule: ''
stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- boron:
branch: 'stable/boron'
jre: 'openjdk8'
# Project branches
stream:
- - carbon:
- branch: 'master'
- jre: 'openjdk8'
- boron:
branch: 'stable/boron'
jre: 'openjdk8'
# Build release specified by build params
"$WORKSPACE/packaging/rpm/build.py" --download_url "$download_url" \
- --changelog_date "$CHANGELOG_DATE" \
--changelog_name "$CHANGELOG_NAME" \
--changelog_email "$CHANGELOG_EMAIL"
sudo yum install -y "$URL"
elif [[ $URL == *.repo ]]
then
- sudo curl --silent -o "$REPO_FILE" "$URL"
+ # shellcheck disable=SC2154
+ repo_file="${{URL##*/}}"
+ sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$URL"
sudo yum install -y opendaylight
else
echo "URL is not a link to .rpm or .repo"
- string:
name: DOWNLOAD_URL
# yamllint disable-line rule:line-length
- default: 'https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.2-Boron/distribution-karaf-0.5.2-Boron.tar.gz'
+ default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz'
description: 'URL to ODL tarball artifact to repackage into RPM'
- - string:
- name: CHANGELOG_DATE
- default: 'Sun Aug 25 1991'
- description: 'Date this RPM was defined'
- string:
name: CHANGELOG_NAME
default: 'Jenkins'
# yamllint disable-line rule:line-length
default: 'https://raw.githubusercontent.com/opendaylight/integration-packaging/master/rpm/example_repo_configs/opendaylight-52-release.repo'
description: 'Link to .repo or .rpm file'
- - string:
- name: REPO_FILE
- default: '/etc/yum.repos.d/opendaylight-52-release.repo'
- description: 'Name of the .repo file'
scm:
- integration-gerrit-scm:
description: 'OpenDaylight major (element) version number to build'
- string:
name: VERSION_MINOR
- default: '2'
+ default: '3'
description: 'OpenDaylight minor (SR) version number to build'
- string:
name: VERSION_PATCH
description: 'Version of ODL systemd unitfile to download and package in ODL .deb'
- string:
name: CODENAME
- default: 'Boron-SR2'
+ default: 'Boron-SR3'
description: 'Elemental codename for the ODL release, including SR if applicable'
- string:
name: DOWNLOAD_URL
# yamllint disable-line rule:line-length
- default: 'https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.2-Boron/distribution-karaf-0.5.2-Boron.tar.gz'
+ default: 'https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz'
description: 'URL to ODL tarball artifact to repackage into .deb'
- string:
name: JAVA_VERSION
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'
10-inclusion-flag: 'off'
10-exclude-value: ''
+ # Manual CSIT job lists used by sanity
+ # and weekly distribution test jobs
+ csit-sanity-list-carbon: >
+ openflowplugin-csit-1node-sanity-only-carbon
+ csit-sanity-list-boron: >
+ openflowplugin-csit-1node-sanity-only-boron
+ csit-weekly-list-carbon: >
+ controller-csit-1node-notifications-longevity-only-carbon,
+ controller-csit-3node-drb-partnheal-longevity-only-carbon,
+ controller-csit-3node-drb-precedence-longevity-only-carbon,
+ openflowplugin-csit-1node-periodic-longevity-only-carbon
+ csit-weekly-list-boron: >
+ openflowplugin-csit-1node-periodic-longevity-only-boron
+
# CSIT Test List Variables
- # Space seperated strings to exclude from CSIT lists
+ # Space seperated strings to exclude from
+ # auto generated CSIT job lists
csit-list-blacklist: 'longevity gate sanity'
+
# Auto Generated CSIT job lists used
- # in integration-distribution-test jobs
+ # in regular distribution test jobs
+ # DO NOT EDIT NEXT LINES MANUALLY
csit-list-carbon: >
aaa-csit-1node-authn-all-carbon,
aaa-csit-1node-authn-only-carbon,
netvirt-csit-1node-openstack-newton-upstream-learn-carbon,
netvirt-csit-1node-openstack-newton-upstream-stateful-carbon,
netvirt-csit-1node-openstack-newton-upstream-transparent-carbon,
+ netvirt-csit-2site-1node-openstack-newton-nodl-v2-upstream-learn-carbon,
+ netvirt-csit-2site-1node-openstack-newton-nodl-v2-upstream-stateful-carbon,
+ netvirt-csit-2site-3node-openstack-newton-nodl-v2-upstream-learn-carbon,
+ netvirt-csit-2site-3node-openstack-newton-nodl-v2-upstream-stateful-carbon,
netvirt-csit-3node-openstack-mitaka-upstream-learn-carbon,
netvirt-csit-3node-openstack-mitaka-upstream-stateful-carbon,
netvirt-csit-3node-openstack-mitaka-upstream-transparent-carbon,
netvirt-csit-hwvtep-3node-openstack-newton-upstream-learn-carbon,
netvirt-csit-hwvtep-3node-openstack-newton-upstream-stateful-carbon,
netvirt-csit-hwvtep-3node-openstack-newton-upstream-transparent-carbon,
- netvirt-legacy-csit-1node-openstack-basic-all-carbon,
- netvirt-legacy-csit-1node-openstack-basic-only-carbon,
- netvirt-legacy-csit-1node-openstack-mitaka-upstream-carbon,
- netvirt-legacy-csit-1node-openstack-newton-nodl-v2-upstream-carbon,
- netvirt-legacy-csit-1node-openstack-newton-upstream-carbon,
- netvirt-legacy-csit-3node-clustering-only-carbon,
- netvirt-legacy-csit-3node-openstack-mitaka-upstream-carbon,
- netvirt-legacy-csit-3node-openstack-newton-nodl-v2-upstream-carbon,
- netvirt-legacy-csit-3node-openstack-newton-upstream-carbon,
nic-csit-1node-basic-all-carbon,
nic-csit-1node-basic-only-carbon,
nic-csit-1node-vtnrenderer-all-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,
vtn-csit-3node-manager-all-carbon,
vtn-csit-3node-manager-only-carbon,
yangtools-csit-1node-periodic-system-only-carbon
- csit-sanity-list-carbon: >
- openflowplugin-csit-1node-sanity-only-carbon
- csit-weekly-list-carbon: >
- controller-csit-1node-notifications-longevity-only-carbon,
- openflowplugin-csit-1node-periodic-longevity-only-carbon
csit-list-boron: >
aaa-csit-1node-authn-all-boron,
aaa-csit-1node-authn-only-boron,
netvirt-csit-1node-openstack-newton-upstream-learn-boron,
netvirt-csit-1node-openstack-newton-upstream-stateful-boron,
netvirt-csit-1node-openstack-newton-upstream-transparent-boron,
+ netvirt-csit-2site-1node-openstack-newton-nodl-v2-upstream-learn-boron,
+ netvirt-csit-2site-1node-openstack-newton-nodl-v2-upstream-stateful-boron,
+ netvirt-csit-2site-3node-openstack-newton-nodl-v2-upstream-learn-boron,
+ netvirt-csit-2site-3node-openstack-newton-nodl-v2-upstream-stateful-boron,
netvirt-csit-3node-openstack-mitaka-upstream-learn-boron,
netvirt-csit-3node-openstack-mitaka-upstream-stateful-boron,
netvirt-csit-3node-openstack-mitaka-upstream-transparent-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,
vtn-csit-1node-openstack-newton-neutron-boron,
vtn-csit-3node-manager-all-boron,
vtn-csit-3node-manager-only-boron
- csit-sanity-list-boron: >
- openflowplugin-csit-1node-sanity-only-boron
- csit-weekly-list-boron: >
- openflowplugin-csit-1node-periodic-longevity-only-boron
csit-list-beryllium: >
aaa-csit-1node-authn-all-beryllium,
aaa-csit-1node-authn-only-beryllium,
jobs-filename: "csit_jobs_beryllium.lst"
- integration-replace-block-text:
starting-regex: "'csit-list-carbon: >'"
- ending-regex: "'csit-weekly-list-carbon: >'"
+ ending-regex: "'csit-list-boron: >'"
file-with-changes-to-insert: "'csit_jobs_carbon.lst'"
file-to-change: "'jjb/releng-defaults.yaml'"
- integration-replace-block-text:
# TODO: Do we want to apply sophisticated checks as in *-distribution-check-*?
maven:
maven-name: 'mvn33'
- goals: |
+ goals: >
{mvn-goals}
-Dmerge
-Dstream={stream}
# rename packer to avoid conflict with binary in cracklib
mv /usr/local/bin/packer /usr/local/bin/packer.io
+#Check out 6Wind quagga with tag name '20170330', compile and install for router functionalities
+echo "Installing the Quagga..."
+mkdir -p /tmp/build_quagga
+cd /tmp/build_quagga
+git clone https://github.com/6WIND/zrpcd.git
+cd zrpcd
+git checkout 20170330
+chmod a+x /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh
+/tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh -d -b -t
+
+# Removing the build_quagga folder
+rm -rf /tmp/build_quagga/
\ No newline at end of file
# Install netaddr package which is needed by some custom mininet topologies
apt-get install python-netaddr
+
+#Check out 6Wind quagga with tag name '20170330', compile and install for router functionalities
+echo "Installing the 6Wind Quagga..."
+mkdir -p /tmp/build_quagga
+cd /tmp/build_quagga
+git clone https://github.com/6WIND/zrpcd.git
+cd zrpcd
+git checkout 20170330
+chmod a+x /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh
+
+# On Ubuntu 16.04, the 6Wind Quagga top level build script needs to be enhanced to use
+# the right libboost version for this git check-in tag name '20170330'.
+sed -e 's/libboost1.55-all-dev/libboost1.58-all-dev/' \
+pkgsrc/dev_compile_script.sh > pkgsrc/dev_compile_ubuntu16.04_script.sh
+chmod a+x /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_ubuntu16.04_script.sh
+
+/tmp/build_quagga/zrpcd/pkgsrc/dev_compile_ubuntu16.04_script.sh -d -b -t
+
+# Removing the build_quagga folder
+rm -rf /tmp/build_quagga/
\ No newline at end of file