Skip to content

Commit fa58729

Browse files
Gabriel Robitaille-Montpetitnilok
authored andcommitted
Added OVSDB M4 draft
Change-Id: I47ff08439b0f112d4351a1675ad0a8a81bffefe6 Signed-off-by: Gabriel Robitaille-Montpetit <[email protected]>
1 parent cccae2b commit fa58729

File tree

5 files changed

+96
-26
lines changed

5 files changed

+96
-26
lines changed
Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,31 @@
11
== OVSDB Northbound Developer Guide
22

33
=== Overview
4-
TBD
4+
The OVSDB Northbound feature's goal is to give low level access to
5+
an OVS instance. For instance, one would like to be able to directly create, read, update and delete rows into an OVS instance by using RESTCONF.
6+
7+
The target audience for this feature is one that needs low level
8+
access to an OVS instance from inside OpenDaylight
59

610
=== OVSDB Northbound Developer Architecture
7-
TBD
11+
The northbound bundle architecture is as follow:
812

9-
=== Key APIs and Interfaces
10-
TBD
13+
- mdsal-northbound-aggregator
14+
15+
- mdsal-northbound-api
1116

12-
==== API Group 1
13-
TBD
17+
- mdsal-northbound-impl
1418

15-
==== API Group 2
16-
TBD
19+
- mdsal-northbound-features
1720

18-
=== API Reference Documentation
19-
TBD
21+
22+
=== Key APIs and Interfaces
23+
[width="80%",cols="10%,10%,10%,70%"]
24+
|=======
25+
|Type | Action | Input | URL
26+
|PUT | Insert Row |Row Data | restconf/config/network-topology:network-topology/topology/ovsdb:1/\{nodeId\}/tables/\{tableName\}/rows
27+
|GET | Show Row |N/A | restconf/config/network-topology:network-topology/topology/ovsdb:1/\{nodeId\}/tables/\{tableName\}/rows/\{rowUuid\}
28+
|GET | Show All Row |N/A | restconf/config/network-topology:network-topology/topology/ovsdb:1/\{nodeId\}/tables/\{tableName\}/rows
29+
|PUT | Update Row |Row Data | restconf/config/network-topology:network-topology/topology/ovsdb:1/\{nodeId\}/tables/\{tableName\}/rows/\{rowUuid\}
30+
|DELETE | Delete Row |N/A | restconf/config/network-topology:network-topology/topology/ovsdb:1/\{nodeId\}/tables/\{tableName\}/rows/\{rowUuid\}
31+
|=======

manuals/developer-guide/src/main/asciidoc/ovsdb/ovsdb-openstack-developer.adoc

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,32 @@
11
== OVSDB Openstack Developer Guide
22

33
=== Overview
4-
TBD
4+
The Open vSwitch database (OVSDB) Plugin component for OpenDaylight implements
5+
the OVSDB https://tools.ietf.org/html/rfc7047[RFC 7047] management protocol
6+
that allows the southbound configuration of switches that support OVSDB.The
7+
component comprises a library and a plugin usages. The OVSDB protocol
8+
uses JSON-RPC calls to manipulate a physical or virtual switch that supports OVSDB.
9+
Many vendors support OVSDB on various hardware platforms.
10+
The OpenDaylight controller uses the library project to interact with an OVS
11+
instance.
12+
13+
http://www.openstack.org[OpenStack] is a popular open source infrastructure
14+
as a service project, covering compute, storage and network management.
15+
OpenStack can use OpenDaylight as its network management provider through the
16+
Neutron API, which acts as a northbound for OpenStack. The providers for
17+
the Neutron API are in the OVSDB Net-virt piece of OVSDB.
18+
OpenDaylight manages the network flows for the OpenStack compute nodes via
19+
the OVSDB project, with the south-bound plugin. This section describes how to
20+
set that up, and how to tell when everything is working.
521

622
=== OVSDB Openstack Architecture
7-
TBD
23+
The OpenStack integration architecture uses the following technologies: +
24+
25+
* https://tools.ietf.org/html/rfc7047[RFC 7047] and http://datatracker.ietf.org/doc/rfc7047/[The Open vSwitch Database Management Protocol]
26+
* https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf[OpenFlow v1.3]
27+
* https://wiki.openstack.org/wiki/Neutron/ML2[OpenStack Neutron ML2 Plugin]
28+
29+
image:openstack_integration.png[Openstack Integration]
830

931
=== Key APIs and Interfaces
1032
TBD
32.1 KB
Loading
Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11

2-
include::ovsdb-northbound-install.adoc[]
3-
42
include::ovsdb-openstack-install.adoc[]
Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,67 @@
11
== OVSDB Openstack Installation Guide
2-
TBD
32

43
=== Overview
5-
TBD
4+
This guide is geared towards installing OpenDaylight to use the OVSDB project to provide Neutron support for OpenStack.
5+
6+
Open vSwitch (OVS) is generally accepted as the unofficial standard for Virtual Switching in the Open hypervisor based solutions.
7+
For information on OVS, see http://openvswitch.org/[Open vSwitch].
8+
9+
With OpenStack within the SDN context, controllers and applications interact using two channels: OpenFlow and OVSDB. OpenFlow addresses the forwarding-side of the OVS functionality. OVSDB, on the other hand, addresses the management-plane.
10+
A simple and concise overview of Open Virtual Switch Database (OVSDB) is available at: http://networkstatic.net/getting-started-ovsdb/
611

712
=== Pre Requisites for Installing OVSDB Openstack
8-
TBD
13+
* JRE 1.7+
14+
* A distribution of OpenDaylight
915

1016
=== Preparing for Installation
11-
TBD
17+
. Download a copy of the latest OpenDaylight release in a Pre-Build archive of your choosing.
18+
http://www.opendaylight.org/software/downloads[Download OpenDaylight]
19+
1220

1321
=== Installing OVSDB Openstack
14-
TBD
22+
. Extract the OpenDaylight distribution somewhere.
23+
. Navigate to the /bin/ directory
24+
. Execute the karaf binary file, that should bring up the OpenDaylight console
25+
. Install the required features with these commands:
26+
feature:install odl-ovsdb-openstack
27+
28+
===== Sample output from the Karaf console
29+
----
30+
opendaylight-user@root>feature:list | grep -i ovsdb
31+
odl-ovsdb-all | 1.0.0-SNAPSHOT | | ovsdb-1.0.0-SNAPSHOT
32+
OpenDaylight :: OVSDB :: all
33+
odl-ovsdb-library | 1.0.0-SNAPSHOT | x | ovsdb-1.0.0-SNAPSHOT
34+
OVSDB :: Library
35+
odl-ovsdb-schema-openvswitch | 1.0.0-SNAPSHOT | x | ovsdb-1.0.0-SNAPSHOT
36+
OVSDB :: Schema :: Open_vSwitch
37+
odl-ovsdb-schema-hardwarevtep | 1.0.0-SNAPSHOT | x | ovsdb-1.0.0-SNAPSHOT
38+
OVSDB :: Schema :: hardware_vtep
39+
odl-ovsdb-plugin | 1.0.0-SNAPSHOT | x | ovsdb-1.0.0-SNAPSHOT
40+
OpenDaylight :: OVSDB :: Plugin
41+
odl-ovsdb-northbound | 0.6.0-SNAPSHOT | | ovsdb-1.0.0-SNAPSHOT
42+
OpenDaylight :: OVSDB :: Northbound
43+
odl-ovsdb-openstack | 1.0.0-SNAPSHOT | x | ovsdb-1.0.0-SNAPSHOT
44+
OpenDaylight :: OVSDB :: OpenStack Network Virtual
45+
odl-ovsdb-ovssfc | 0.0.1-SNAPSHOT | | ovsdb-0.0.1-SNAPSHOT
46+
OpenDaylight :: OVSDB :: OVS Service Function Chai
47+
odl-openflow-nxm-extensions | 0.0.3-SNAPSHOT | x | ovsdb-0.0.3-SNAPSHOT
48+
OpenDaylight :: Openflow :: Nicira Extensions
49+
----
1550

1651
=== Verifying your Installation
17-
TBD
52+
To verify that the installation was successful, use the log:display command in karaf and check that there are no errors
53+
logs relating to odl-ovsdb-openstack.
1854

1955
==== Troubleshooting
20-
TBD
21-
22-
=== Post Installation Configuration
23-
TBD
56+
There are no easy way to troubleshoot an installation of odl-ovsdb-openstack. Perhaps a combination of
57+
log:display | grep -i ovsdb in karaf, Open vSwitch commands (ovs-vsdctl) and openstack logs will be useful but will not
58+
explain everything.
2459

2560
=== Upgrading From a Previous Release
26-
TBD
61+
Upgrading from upstream
62+
63+
Upgrading from release
2764

2865
=== Uninstalling OVSDB Openstack
29-
TBD
66+
. Shutdown the karaf instance: system:shutdown
67+
. Remove what is in the /data folder of the OpenDaylight Distribution.

0 commit comments

Comments
 (0)