Skip to content
Mirror of the OpenDaylight ovsdb gerrit project
Branch: master
Clone or download
rovarga Upgrade powermock to 2.0.0
This upgrades powermock to version 2.0.0, also updating tests to
match nulls being returned through mocks.

JIRA: OVSDB-476
Change-Id: I54beb2db411cff0e126c8e8208ff9ee1530437ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Latest commit f4bd246 Mar 11, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
commons
docs
hwvtepsouthbound
library
resources Bug 7757 -Removing qos deprecations in carbon May 4, 2017
schemas Bump versions by x.y.(z+1) Feb 1, 2019
southbound
utils
.gitignore Fix findbugs violations in library Mar 12, 2018
.gitreview Explicitly set git-review branch to master Jul 22, 2015
CONTRIBUTORS
LICENSE Add License to OVSDB Repo May 13, 2014
README Remove the remaining netvirt code from ovsdb May 6, 2016
README.Vagrant
Vagrantfile Add libvirt support Jul 21, 2015
docker-compose.yml
pom.xml
tox.ini Add specs folder and design spec template Jun 12, 2018

README

DIRECTORY ORGANIZATION
======================

- commons
  +-- parent : Contains Parent pom.xml for all the ovsdb modules.

- hwvtepsouthbound : Contains the hw_vtep southbound plugin.

- 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.

- 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

- southbound : contains the plugin for converting from the OVSDB protocol to mdsal and vice-versa.

- utils : 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
You can’t perform that action at this time.