Date: Fri, 29 Mar 2024 11:38:29 +0000 (UTC) Message-ID: <832671275.1523.1711712309735@b9607565de67> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1522_2015004055.1711712309734" ------=_Part_1522_2015004055.1711712309734 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Service Function Chaining provides= the ability to define an ordered list of a network services (e.g. firewall= s, load balancers). These services are then "stitched" together in the netw= ork to create a service chain. This project provides the infrastructure (ch= aining logic, APIs) needed for ODL to provision a service chain in the netw= ork and an end-user application for defining such chains.
Active:
Advisory:
Inactive:
Requirements<= /span>
Release | Release Plan | Release Notes | Release Review | Miscellaneous |
---|---|---|---|---|
Helium | Release Plan | Release Notes | Release Review | |
Lithium | Release Plan | Release Notes | Release Review | Lithium User Facing Feat= ures |
Beryllium | Release Plan | Release Notes | Release Review | Beryllium Feature Integration System = Test |
Boron | Release Plan | Release Notes | Release Review | Boron System Test |
Carbon | Release Plan | Release Notes | ||
Nitrogen | Release Plan | Release Notes | ||
Oxygen | Release Plan | Release Notes | SFC Oxygen Release Details | |
Fluorine | Release Plan | Release Notes | SFC joining Managed Release | |
Neon | Release Plan | |||
Sodium | Release Plan |
Sonar is a static analysis tool that finds bugs and provides = suggestions on how to make the code cleaner.
We are now (as of March 13, 2015) using Trello to track and m= onitor tasks.
SFC organizatio= n Trello boards
Previous SFC Project Task Lists
If you want to install Ubuntu (VirtualBox) and SFC from scrat= ch there is a guide for you:
SFC Installation and Testi= ng Guide
Lithium and previous versions are no longer supported.
ODL Beryllium SR4, complete distro
ODL Boron SR1, complete distro
ODL = Carbon Master, SFC distro
$ bin/karaf (log files located in data/log/karaf.log)
Cleaning the distribution data store from previous executions= :
$ rm -rf journals snapshots $ bin/karaf clean
This is an overview of the main parts of the SFC configuratio= n:
This is the recommended way to use SFC.
Useful links, if this is your first time using OpenDaylight:<= /p>
Master git clone https://git.opendaylight.org/gerrit/p/sfc.git (master) -- OR -- git clone ssh://<username>@git.opendaylight.org:29418/sfc.git Lithium git clone https://git.opendaylight.org/gerrit/p/sfc.git --branch stable/li= thium --single-branch sfc-lithium=20 -- OR -- git clone ssh://<username>@git.opendaylight.org:29418/sfc.git --branc= h stable/lithium --single-branch sfc-lithium
cp -n ~/.m2/settings.xml{,.orig} If the command above fails it is okay. It means you do not have a settings.= xml, probably it is=20 the first time you are trying to use ODL. wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/maste= r/settings.xml > ~/.m2/settings.xml
At this point you can try the RESTConf API (http://localhost:8181/apidoc/e= xplorer/index.html) explorer or UI (http://localhost:8181/index.html)
These are the reasons I do _not_ suggest you install and test= SFC with the Karaf regular distribution:
# Getting started create a gerrit user account setup an ssh key sudo apt-get install git-review # More git review details: https://www.mediawiki.org/wiki/Gerrit/git-review
git clone ssh://<userna= me>@git.opendaylight.org:29418/sfc.git scp -p -P 29418 <username>@git.opendaylight.org:hooks/commit-msg .gi= t/hooks/;chmod 755 .git/hooks/commit-msg;
# Normal steps to create and commit changes from a topic branch git checkout -b topic/your_topic_branch <... Modify the code ...> git add <the modified files> git commit --signoff git review # This will provide the Gerrit link
# Rebasing a topic branch with master git checkout master git pull --rebase git checkout topic/your_topic_branch git rebase origin/master
# Add a patch-set to an existing commit git checkout topic/your_topic_branch <... Modify the code ..> git add <the modified files> git commit --amend git review # This will provide the Gerrit link
To build the documents, you will need python and the&nb= sp;tox packages installed.
git clone ht= tps://git.opendaylight.org/gerrit/p/docs.git
cd docs git submodule update --init cd .. tox -e docs
Since Carbon the SFC project generates project specific docum= entation in the docs directory. Is is use currently to publish the Specific= ation document for every new feature added. These documents are stored with= in the docs folder.
cd docs tox
The generated documentation site can be found inside the _build folder.
Network Service Headers (NSH) is a fundamental Service Chaini= ng encapsulation protocol for Service Function Chaining. NSH is now officia= lly supported in OVS 2.9, which can be used with ODL Fluorine. Below are in= structions to install standard OVS 2.9: (Should be installed on at least Ub= untu 16.04)
apt-get update apt-get install -y autoconf libtool git dh-autoreconf dh-systemd software-p= roperties-common python-software-properties \ libssl-dev openssl build-essential fakeroot linux-image-extra-$(unam= e -r) graphviz python-all python-qt4 \ python-twisted-conch dkms upstart git clone https://github= .com/openvswitch/ovs.git cd ovs git checkout -b ovs2.9.2 v2.9.2 sudo DEB_BUILD_OPTIONS=3D'parallel=3D8 nocheck' fakeroot debian/rules binar= y cd .. mkdir -p /vagrant/ovs_debs cp ./libopenvswitch_*.deb ./openvswitch-common*.deb ./openvswitch-switch*.d= eb /vagrant/ovs_debs/ sudo dpkg -i ./libopenvswitch_*.deb ./openvswitch-datapath-dkms* ./openvswi= tch-common* ./openvswitch-switch* ./python-openvswitch* service openvswitch-switch restart
For ODL versions prior to Fluorine (Oxygen, Nitrogen, and Carbon), a branc=
hed version of OVS 2.6 with support for NSH and VxLAN-GPE has been prepared=
by Yi Yang from Intel. Below are instructions to install OVS with NSH on U=
buntu 16.04.
sudo apt-get update sudo apt-get install git wget mkdir -p <preferredInstallDir>/ovs cd <preferredInstallDir>/ovs wget https://raw.githubusercontent.com/yyang13/ovs_= nsh_patches/master/start-ovs-deb-2.6.1.sh chmod 755 start-ovs-deb-2.6.1.sh ./start-ovs-deb-2.6.1.sh
Controller build and functionality breaks are unpredictable a= nd happen all the time. If you have a working personal clone/sandbox I sugg= est you to use offline builds so that new artifacts are not downloaded, unl= ess you actually have a reason to need the new artifacts.
I consulted Thanh and he gave this suggestion:
A good way to do this is by using what's called an offline build with = Maven by passing the=20 parameter (-o). For example: mvn clean install -o With this method Maven will not even attempt to check online for new artif= acts. However for this to=20 work you must already have all the artifacts you need to build available in= your Maven Local repo. A=20 good way to prime your repo for offline builds is to use the dependency plu= gin's "go-offline" goal.=20 For example: mvn dependency:go-offline Or you you can just run a regular build successfully once and use offline m= ode after that.
There are many cases for both unit test and integration test.=
Unit test cased are distributed into each component. Once the= source codes are downloaded, the cases can be found in the folder
<sfc-repo>/<component>/src/test
If there are some cases failed, the console will show the det= ail of the failure.
Please refer the link https://wiki.opendaylight.org/view/CrossProject:Integration_Group= :Download_and_Run_System_Test to run integration test= s.
If you just want to run integration tests for SFC, you can us= e the following commands to do so:
Note that the SFC controller is running and mininet is instal= led in the system.
It is possible to run verifying jobs using Jenkins on every p= atch you rise to test everything is correct before merging the patch, those= test are known as CSIT. This can be done by clicking the Gerrit's "reply..= ." button and typing one of the following keywords as any other comment:
You can see an example of "test-sfc-full" usage in:
SFC 104 - BETA, being improved
ODL Summit 2015 Presen= tation
You can use the SFC start-up configuration file feature. SFC = allows you to create your own start-up configuration files that are loaded = when SFC is started. Therefore testing and recovery is very easy. The boots= trap configuration files are found in the directory below. Feel free to mod= ify them for your deployment.
repenno$ ls sfc-jsonconfig/src/main/resources/bootstrap/
service-function-chains.json
service-functions.json
service-function-forwarders.json
service-nodes.json
After running SFC distribution you can access the SFC-UI at http://loc=
alhost:8181/sfc/index.html
SFC VXLAN-GPE push/pop OpenFlow proposal
Meeting minutes are now sent to the sfc-dev mailing list.