Advertise prefix info for dhcpv6-stateful subnets
[netvirt.git] / README
diff --git a/README b/README
index 34539ffc98a8597250f163fab641aa3ac05bd014..1cf47ae7b50255f67c4ef7b1e375876c4b0409a3 100644 (file)
--- a/README
+++ b/README
@@ -3,50 +3,24 @@ DIRECTORY ORGANIZATION
 
 - commons
   +-- parent : Contains Parent pom.xml for all the ovsdb modules.
-  +-- integrationtest : Contains the parent pom.xml for all the integrationtest needs.
-
-- distribution : Builds a working controller distribution based on the controller + ovsdb modules and other
-                 dependant modules such as openflowplugin
-  +-- opendaylight : older, OSGi-based distribution
-  +-- opendaylight-karaf : karaf-based distribution
 
 - features : This folder contains all the Karaf related files.
 
-- integrationtest : Contains all the PAX-Exam based integrationTests that covers IT for all the modules.
-
-- library : Contains Schema-independent library that is a reference implementation for RFC 7047.
-            This module doesn't depend on any of the Opendaylight components.
-            This library module can also be used independently in a non-OSGi environment.
-
-- northbound : Provides AD-SAL style Northbound REST APIs.
-               Supports the legacy v2 APIs to provide backward compatibility for Hydrogen Release
-               Also supports the newer v3 APIs to provide schema-independent access to the OVSDB protocol.
+- 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.
 
-- ovs-sfc : SFC implementation using the OVSDB project. Currently it is just a shell.
-
-- plugin : Contains Opendaylight Southbound Plugin APIs and provides a simpler API interface on top of library layer.
-           Ideally, this module should also be schema independent. But due to legacy reasons this layer contains some
-           deprecated functionality that assumes openvswitch schema.
-
-- plugin-mdsal-adapter : Adds an MD-SAL Adapter for the OVSDB Plugin. The adapter updates the MD-SAL with nodes
-                         as they are added and removed from the inventory. The Yang model provides a reference
-                         between OVSDB nodes and the OpenFlow nodes (bridges) that they manage.
-
-- plugin-shell : Contains a Karaf shell framework for OVSDB plugin and printCache command-line.
+- 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.
 
-- schemas :
-  +-- openvswitch : Schema wrapper that represents http://openvswitch.org/ovs-vswitchd.conf.db.5.pdf
-  +-- hardwarevtep: Schema wrapper that represents http://openvswitch.org/docs/vtep.5.pdf
-
 - utils : MD-SAL OpenFlow and OVSDB common utilities.
 
 HOW TO BUILD & RUN
@@ -55,32 +29,24 @@ 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. This is a new method for Opendaylight distribution wherein there is no defined editions such
-      as Base, Virtualization or SP editions. The end-customer can choose to deploy the required feature
-      based on his/her deployment needs.
-
-   2. From the root ovsdb/ directory, execute "mvn clean install"
+   1. From the root ovsdb/ directory, execute "mvn clean install"
 
-   3. Next unzip the distribution-karaf-<VERSION_NUMBER>-SNAPSHOT.zip file created from step #2 in
-      the directory ovsdb/distribution/opendaylight-karaf/target like so:
-      "unzip distribution-karaf-<VERSION_NUMBER>-SNAPSHOT.zip"
+   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"
 
-   4. Once karaf has started and you see the Opendaylight ascii art in the console, the last step
+   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 odl-ovsdb-northbound" (without quotation marks).
+      "feature:install odl-ovsdb-openstack" (without quotation marks).
 
    Sample output from Karaf console :
 
-   opendaylight-user@root>feature:list | grep -i ovsdb
-   odl-ovsdb-all                    | 1.0.0-SNAPSHOT      |           | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: all
-   odl-ovsdb-library                | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OVSDB :: Library
-   odl-ovsdb-schema-openvswitch     | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OVSDB :: Schema :: Open_vSwitch
-   odl-ovsdb-schema-hardwarevtep    | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OVSDB :: Schema :: hardware_vtep
-   odl-ovsdb-plugin                 | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: Plugin
-   odl-ovsdb-northbound             | 0.6.0-SNAPSHOT      |           | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: Northbound
-   odl-ovsdb-openstack              | 1.0.0-SNAPSHOT      | x         | ovsdb-1.0.0-SNAPSHOT                  | OpenDaylight :: OVSDB :: OpenStack Network Virtual
-   odl-ovsdb-ovssfc                 | 0.0.1-SNAPSHOT      |           | ovsdb-0.0.1-SNAPSHOT                  | OpenDaylight :: OVSDB :: OVS Service Function Chai
-
+  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
@@ -103,90 +69,38 @@ Pre-requisites : JDK 1.7+, Maven 3+
 
    4. karaf will see the changed bundle and reload it.
 
-
-3. Building an OVSDB based Opendaylight Virtualization edition:
-   1. This is the legacy way to build and distribute Opendaylight archives. This method was
-      followed in Hydrogen. It might still work in Helium but it is best effort for support.
-      The preferred method for Helium and later is to use karaf.
-
-   2. From the root folder(that hosts this README), execute "mvn clean install"
-      That should build a full distribution archive and distribution directory that will contain
-      Opendaylight Controller + OVSDB bundles + Openflow Plugins under
-      distribution/opendaylight/target/distribution.ovsdb-X.X.X-osgipackage
-
-   3. Upon successful completion of a build, the Controller with OVSDB can be executed by :
-      cd distribution/opendaylight/target/distribution.ovsdb-X.X.X-osgipackage/opendaylight/
-      ./run.sh -virt ovsdb
-
-4. Building a Karaf Feature and deploying it in an Opendaylight Karaf distribution :
-*** This method is deprecated.
-   1. This is a new method for Opendaylight distribution wherein there is no defined editions such
-      as Base, Virtualization or SP editions. Rather each of the projects will generate features in
-      form of .kar files. The end-customer can choose to deploy the required feature based on his/her
-      deployment needs.
-
-   2. From the features/ directory, execute "mvn clean install"
-      This will generate a kar file such as "features/target/ovsdb-features-1.2.1-SNAPSHOT.kar"
-
-   3. Download (or build from controller project) the Karaf distribution :
-      http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/controller/distribution.opendaylight-karaf/
-      Sample zip file :
-      http://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/org/opendaylight/controller/distribution.opendaylight-karaf/1.4.2-SNAPSHOT/distribution.opendaylight-karaf-1.4.2-20140718.075612-407.zip
-
-   4. unzip the downloaded (or built) distribution and copy the ovsdb-features-x.x.x.kar file (from step 2) into
-      the unzipped distribution.opendaylight-karaf-X.X.X/deploy/ directory.
-
-   5. run Karaf from within the distribution.opendaylight-karaf-X.X.X/ directory using "bin/karaf"
-
-   Sample output from Karaf console :
-
-   opendaylight-user@root>kar:list
-   KAR Name
-   -----------------------------
-   ovsdb-features-1.2.1-SNAPSHOT
-
-   opendaylight-user@root>feature:list | grep ovsdb
-   odl-ovsdb-all | 1.2.1-SNAPSHOT | x | ovsdb-1.2.1-SNAPSHOT | OpenDaylight :: OVSDB :: all
-   odl-ovsdb-library | 1.0.0-SNAPSHOT | x | ovsdb-1.2.1-SNAPSHOT | OVSDB :: Library
-   odl-ovsdb-schema-openvswitch | 1.0.0-SNAPSHOT | x | ovsdb-1.2.1-SNAPSHOT | OVSDB :: Schema :: Open_vSwitch
-   odl-ovsdb-schema-hardwarevtep | 1.0.0-SNAPSHOT | x | ovsdb-1.2.1-SNAPSHOT | OVSDB :: Schema :: hardware_vtep
-   odl-ovsdb-plugin | 1.0.0-SNAPSHOT | x | ovsdb-1.2.1-SNAPSHOT | OpenDaylight :: OVSDB :: Plugin
-
-   opendaylight-user@root>bundle:list | grep OVSDB
-   186 | Active | 80 | 1.0.0.SNAPSHOT | OVSDB Library
-   199 | Active | 80 | 1.0.0.SNAPSHOT | OVSDB Open_vSwitch Schema
-   200 | Active | 80 | 1.0.0.SNAPSHOT | OVSDB hardware_vtep Schema
-   201 | Active | 80 | 1.0.0.SNAPSHOT | OpenDaylight OVSDB Plugin
-
 Running The Integration Tests
 =============================
 
 To run the integration tests locally the following components are required:
 
  - Docker
- - Fig
+ - Docker Compose
 
 To install docker, follow the installation guide for your platform:
    http://docs.docker.com/installation/
 
-To install fig:
-   http://www.fig.sh/install.html
+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
-    fig up -d
+    docker-compose up -d
     # Later runs only need the containers to be started
-    fig start
+    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
-    fig stop
+    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
 ====================