magic-mirror / netvirt Goto Github PK
View Code? Open in Web Editor NEWLicense: Eclipse Public License 1.0
License: Eclipse Public License 1.0
DIRECTORY ORGANIZATION ====================== - commons +-- parent : Contains Parent pom.xml for all the ovsdb modules. - features : This folder contains all the Karaf related files. - karaf : Builds a working controller distribution based on the controller + ovsdb modules and other dependant modules such as openflowplugin - openstack +-- net-virt : Handles the Openstack Neutron ML2 and Network Service calls and performs all the logic required for Network Virtualization. +-- net-virt-providers : Mostly contains data-path programming functionality via OpenFlow or potentially other protocols. +-- net-virt-sfc : SFC implementation using the OVSDB project. - ovsdb-ui : Contains the DLUX implementation for displaying network virtualization - resources : Contains some useful resources such as scripts, testing utilities and tools used for deployment or testing the binaries generated from the OVSDB project. - utils : MD-SAL OpenFlow and OVSDB common utilities. HOW TO BUILD & RUN ================== Pre-requisites : JDK 1.7+, Maven 3+ 1. Building a Karaf Feature and deploying it in an Opendaylight Karaf distribution : 1. From the root ovsdb/ directory, execute "mvn clean install" 2. Unzip the karaf-<VERSION_NUMBER>-SNAPSHOT.zip file created from step 1 in the directory ovsdb/karaf/target/: "unzip karaf-<VERSION_NUMBER>-SNAPSHOT.zip" 3. Once karaf has started and you see the Opendaylight ascii art in the console, the last step is to start the OVSDB plugin framework with the following command in the karaf console: "feature:install odl-ovsdb-openstack" (without quotation marks). Sample output from Karaf console : opendaylight-user@root>feature:list -i | grep ovsdb odl-ovsdb-southbound-api | 1.2.1-SNAPSHOT | x | odl-ovsdb-southbound-1.2.1-SNAPSHOT | OpenDaylight :: southbound :: api odl-ovsdb-southbound-impl | 1.2.1-SNAPSHOT | x | odl-ovsdb-southbound-1.2.1-SNAPSHOT | OpenDaylight :: southbound :: impl odl-ovsdb-southbound-impl-rest | 1.2.1-SNAPSHOT | x | odl-ovsdb-southbound-1.2.1-SNAPSHOT | OpenDaylight :: southbound :: impl :: REST odl-ovsdb-southbound-impl-ui | 1.2.1-SNAPSHOT | x | odl-ovsdb-southbound-1.2.1-SNAPSHOT | OpenDaylight :: southbound :: impl :: UI odl-ovsdb-library | 1.2.1-SNAPSHOT | x | odl-ovsdb-library-1.2.1-SNAPSHOT | OpenDaylight :: library odl-ovsdb-openstack | 1.2.1-SNAPSHOT | x | ovsdb-1.2.1-SNAPSHOT | OpenDaylight :: OVSDB :: OpenStack Network Virtual 2. Building a bundle and deploying it in an Opendaylight Karaf distribution : This method can be used to update and test new code in a bundle. If the bundle of interest is rebuilt as a snapshot with the same version as what it already defined in a feature repo then that new bundle will be used when the feature is loaded in karaf. If karaf is already running with the feature loaded then follow the steps below to load the new bundle: 1. Find the bundle id of the bundle you are going to rebuild: - bundle:list -s | grep <bundlename>, i.e. bundle:list -s | grep odl-ovsdb-plugin 2. Instruct karaf to watch the new bundle and reload it if it changes: - bundle:watch <id> - The id is the value returned in 1 above. - You can also watch the bundle URL itself: - bundle:watch mvn:org.opendaylight.ovsdb/plugin/1.0.2-SNAPSHOT 3. Rebuild bundle. - cd bundle dir, i.e. cd ovsdb/plugin - mvn clean install. This will install the new bundle into the local mvn repo. 4. karaf will see the changed bundle and reload it. Running The Integration Tests ============================= To run the integration tests locally the following components are required: - Docker - Docker Compose To install docker, follow the installation guide for your platform: http://docs.docker.com/installation/ To install Docker Compose: http://docs.docker.com/compose/install/ To run the integration tests: mvn clean install # The first time you need to set everything up docker-compose up -d # Later runs only need the containers to be started docker-compose start # OSX mvn verify -Pintegrationtest -Dovsdbserver.ipaddress=$(boot2docker ip 2>/dev/null) -Dovsdbserver.port=6640 # Linux mvn verify -Pintegrationtest -Dovsdbserver.ipaddress=127.0.0.1 -Dovsdbserver.port=6640 -Dovsdb.controller.address=<addr of docker interface> -Dovsdb.userspace.enabled=yes docker-compose stop On Linux you'll generally need to run fig as root (sudo fig ...). Running the docker image manually: sudo docker run -itd --cap-add NET_ADMIN -p 6640:6640 jhershbe/centos7-ovs:latest Skipping unit tests and karaf tests ==================== mvn clean install -Dmaven.test.skip=true -Dskip.karaf=true
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.