--- /dev/null
+#!/bin/bash
+
+# make sure we don't require tty for sudo operations
+cat <<EOF >/etc/sudoers.d/89-jenkins-user-defaults
+Defaults:jenkins !requiretty
+jenkins ALL = NOPASSWD: ALL
+EOF
+
+# disable the firewall
+/bin/bash ./disable_firewall.sh
jenkins ALL=NOPASSWD: /usr/bin/ovs-ofctl
jenkins ALL=NOPASSWD: /usr/bin/ovs-dpctl
jenkins ALL=NOPASSWD: /sbin/ip
-jenkins ALL=NOPASSWD: /var/run/netns
+jenkins ALL=NOPASSWD: /bin/mkdir
+jenkins ALL=NOPASSWD: /bin/ln
+jenkins ALL=NOPASSWD: /bin/rm
+jenkins ALL=NOPASSWD: /etc/init.d/openvswitch-switch
EOF
# vim: sw=2 ts=2 sts=2 et :
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
- stable-lithium:
branch: 'stable/lithium'
jdk: openjdk7
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
project: 'armoury'
install-features: 'odl-restconf,odl-bgpcep-pcep-all,odl-bgpcep-bgp-all,odl-netconf-connector-all,odl-bgpcep-data-change-counter'
# Robot custom options
- # Currently timeout values are calculated based on number of target prefixes
- # and do not take into account test environment performance variation.
- # FIXME: Add a new parameter to the test suite which allows to modify timeout if needed
- robot-options: '-v COUNT:1000000 -v INSERT:10 -v WITHDRAW:9 -v PREFILL:10 -v UPDATE:single'
+ # Increase the TEST_DURATION_MULTIPLIER if the test runs in slower test environment or more complex scenario is chosen
+ robot-options: '-v COUNT:1000000 -v INSERT:10 -v WITHDRAW:9 -v PREFILL:10 -v UPDATE:single -v TEST_DURATION_MULTIPLIER:4'
# Trigger jobs (daily)
schedule: 'H H * * *'
- project:
- name: controller-csit-netconf
+ name: netconf-csit-userfeatures
jobs:
- '{project}-csit-1node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}'
+ - '{project}-csit-verify-1node-{functionality}-{stream}'
# The project name
- project: 'controller'
+ project: 'netconf'
# The functionality under test
- functionality: 'netconf'
+ functionality: 'userfeatures'
# Project branches
stream:
- all:
scope: 'all'
+ # Tools system configuration (formerly "mininet configuration")
+ mininet-image: 'rk-c-el6-mininet'
+ mininet-vms: 1
+
# Features to install
- install-features: 'odl-netconf-connector-all,odl-restconf-all'
+ install-features: 'odl-restconf,odl-netconf-mdsal,odl-netconf-connector-all'
# Robot custom options
robot-options: '-v NETOPEER_USER:root'
# Trigger jobs (upstream dependencies)
- trigger-jobs: 'yangtools-distribution-{stream},controller-distribution-{stream}'
+ trigger-jobs: 'odlparent-distribution-{stream},yangtools-distribution-{stream},controller-distribution-{stream},mdsal-distribution-{stream}'
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
project: 'netide'
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
project: 'next'
scope: 'only'
# Features to install
- install-features: 'odl-openflowplugin-flow-services-ui'
+ install-features: 'odl-openflowplugin-flow-services-ui-li'
# Robot custom options
robot-options: ''
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
- stable-lithium:
branch: 'stable/lithium'
jdk: openjdk7
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
- stable-lithium:
branch: 'stable/lithium'
jdk: openjdk7
jdks: openjdk7,openjdk8
- stable-lithium:
branch: stable/lithium
- jdks: openjdk7,openjdk8
+ jdks: openjdk8,openjdk7
DEPENDENCIES: controller,yangtools,odlparent
- openjdk8
- stable-lithium:
branch: 'stable/lithium'
- jdk: openjdk7
+ jdk: openjdk8
jdks:
- - openjdk7
- openjdk8
+ - openjdk7
project: 'usc'
--- /dev/null
+# -*- mode: ruby -*-
+# vi: set ft=ruby sw=2 ts=2 sts=2 et :
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+ # root off of the rackspace provider dummy box
+ config.vm.box = "dummy"
+
+ # rackspace systems, even with cloud-init
+ # don't seem to have the cloud int user ${osname} (or similar)
+ # getting the ssh key for some reason, root does for sure
+ # so use that
+ config.ssh.username = 'root'
+
+ # Only baseline image should have config.ssh.pty = true
+ # Ensure we disable it.
+ config.ssh.pty = false
+
+ # make sure to set the following in your
+ # ~/.vagrant.d/boxes/dummy/0/rackspace/Vagrantfile
+ # rs.username
+ # rs.api_key
+ # rs.rackspace_region
+ #
+ # If you are not using an SSH token / smartcard also set this
+ # rs.key_name
+ # config.ssh.private_key_path -- set this outside the rackspace block
+ # in your base box
+ config.vm.provider :rackspace do |rs|
+ # create these base builds always on the smallest system possible
+ rs.flavor = 'general1-1'
+
+ # allow for switching to ORD cloud but default to DFW
+ if (ENV['RSREGION'] == 'ord')
+ rs.rackspace_region = :ord
+ else
+ rs.rackspace_region = :dfw
+ end
+
+ # Default the Ubuntu 14.04 - Vagrant ready image unless overriden by a RSIMAGE
+ # environment variable
+ if ENV['RSIMAGE']
+ rs.image = ENV['RSIMAGE']
+ else
+ rs.image = 'Ubuntu 14.04 - Vagrant ready'
+ end
+ end
+
+ # Explicitlly set default shared folder and load lib folder
+ config.vm.synced_folder ".", "/vagrant"
+ config.vm.synced_folder "../lib/", "/vagrant/lib"
+
+ # run our bootstrapping for the system
+ config.vm.provision 'shell', path: 'bootstrap.sh'
+
+
+ #################
+ # LF NETWORKING #
+ #################
+
+ if ENV['LFNETWORK']
+ # reconfigure the network setup to support our special private setup
+ config.vm.provision 'shell', path: '../lib/lf-networking/configure_lf_infra.sh',
+ args: ENV['RSSUBDOMAIN']
+ end
+
+
+ #################
+ # FINAL CLEANUP #
+ #################
+
+ # set RSRESEAL to... anything if you want to snap an image of this box
+ # not setting the environment variable will cause the system to come
+ # up fully and not be in a resealable state
+ if ENV['RSRESEAL']
+ config.vm.provision 'shell', path: '../lib/system_reseal.sh'
+ end
+end
--- /dev/null
+#!/bin/bash
+
+# vim: sw=4 ts=4 sts=4 et tw=72 :
+
+echo "---> Updating operating system"
+apt-get update -qq
+apt-get upgrade -y --force-yes -qq
+
+# To handle the prompt style that is expected all over the environment
+# with how use use robotframework we need to make sure that it is
+# consistent for any of the users that are created during dynamic spin
+# ups
+echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
+
+# Install mininet
+# apt-get install -y --force-yes -qq mininet
+
+# Install mininet with OF13 patch
+cd /tmp
+cat > newOptions.patch <<EOF
+--- mininet/node.py 2014-09-12 13:48:03.165628683 +0100
++++ mininet/node.py 2014-09-12 13:50:39.021630236 +0100
+@@ -952,6 +952,10 @@
+ datapath: userspace or kernel mode (kernel|user)"""
+ Switch.__init__( self, name, **params )
+ self.failMode = failMode
++ protKey = 'protocols'
++ if self.params and protKey in self.params:
++ print 'have protcol params!'
++ self.opts += protKey + '=' + self.params[protKey]
+ self.datapath = datapath
+
+ @classmethod
+@@ -1027,8 +1031,9 @@
+ if self.datapath == 'user':
+ self.cmd( 'ovs-vsctl set bridge', self,'datapath_type=netdev' )
+ int( self.dpid, 16 ) # DPID must be a hex string
++ print 'OVSswitch opts: ',self.opts
+ self.cmd( 'ovs-vsctl -- set Bridge', self,
+- 'other_config:datapath-id=' + self.dpid )
++ self.opts+' other_config:datapath-id=' + self.dpid )
+ self.cmd( 'ovs-vsctl set-fail-mode', self, self.failMode )
+ for intf in self.intfList():
+ if not intf.IP():
+EOF
+
+git clone git://github.com/mininet/mininet
+cd mininet/
+git checkout -b 2.1.0 2.1.0
+git apply -p0 < ../newOptions.patch
+cd ./util
+./install.sh -nfv
+
+# Install CPqD
+apt-get install -y --force-yes -qq build-essential cmake flex
+apt-get install -y --force-yes -qq libpcre++-dev libxerces-c-dev libpcap-dev libboost-all-dev
+
+cd /tmp
+wget -nc http://de.archive.ubuntu.com/ubuntu/pool/main/b/bison/bison_2.5.dfsg-2.1_amd64.deb \
+ http://de.archive.ubuntu.com/ubuntu/pool/main/b/bison/libbison-dev_2.5.dfsg-2.1_amd64.deb
+
+dpkg -i bison_2.5.dfsg-2.1_amd64.deb libbison-dev_2.5.dfsg-2.1_amd64.deb
+rm bison_2.5.dfsg-2.1_amd64.deb libbison-dev_2.5.dfsg-2.1_amd64.deb
+
+wget -nc http://www.nbee.org/download/nbeesrc-jan-10-2013.zip
+unzip nbeesrc-jan-10-2013.zip
+cd nbeesrc-jan-10-2013/src
+cmake .
+make
+cp ../bin/libn*.so /usr/local/lib
+ldconfig
+cp -R ../include/* /usr/include/
+cd ../..
+
+git clone https://github.com/CPqD/ofsoftswitch13.git
+cd ofsoftswitch13
+./boot.sh
+./configure
+make
+make install
+cd ..
+
+# cbench installation for running openflow performance tests
+
+OF_DIR=$HOME/openflow # Directory that contains OpenFlow code
+OFLOPS_DIR=$HOME/oflops # Directory that contains oflops repo
+
+apt-get install -y --force-yes -qq libsnmp-dev libpcap-dev libconfig-dev
+
+git clone git://gitosis.stanford.edu/openflow.git $OF_DIR
+git clone https://github.com/andi-bigswitch/oflops.git $OFLOPS_DIR
+
+cd $OFLOPS_DIR
+./boot.sh
+./configure --with-openflow-src-dir=$OF_DIR
+make
+make install
\ No newline at end of file