+++ /dev/null
-=== OpenStack Support Developer Guide
-The implementation describes ODL controller with VTN manager feature provides the network service for OpenStack. VTN manager utilizes the OVSDB southbound service and the neutron for this implementation.The below diagram depicts the communication of ODL Controller and two virtual network connected by a OpenFlow switch using this implementation.
-
-.OpenStack Architecture
-image::vtn/OpenStackDeveloperGuide.png["OpenStack Architecture",width=500]
-
-==== Configuration
-Please refer https://wiki.opendaylight.org/view/Release/Helium/VTN/User_Guide/OpenStack_Support for the use and configuration.
-
-===== OpenStack Configuration Details
-Follow the below steps to configure devstack with ODL controller:
-
-.Control Node
-* Disable nova network and enable neutron.
-* Enable service odl-compute (Optionally you can enable odl-server also, which will download and deploy ODL in the particular node).
-* Set ODL_MGR_IP with IP Address of ODL.
-* Make all network types as local, as there is no support for vlan in Helium.
-* Add the ODL neutron URL for devstack to post requests.
-
-.Compute Node
-* To configure Compute node follows the steps b,c and d of Control Node.
-* Very few services are enabled like neutron,n-cpu and rabbit.
-* The neutron URL is not needed to be set in compute node.
-* The Controller node services are added as the service hosts for various services.
-
-For more details: Please refer to https://wiki.openstack.org/wiki/NeutronDevstack
-
-==== Implementation details
-
-===== VTN Manager:
-Install *odl-vtn-manager-neutron* feature which provides the integration with Neutron interface.
-
- install odl-vtn-manager-neutron
-
-It subscribes to the events from OVS and also implements the neutron requests received by ODL Controller.
-
-===== Functional Behavior
-
-.StartUp:
-* The ML2 implementation for ODL Controller will ensure that when OVS is started, the ODL_IP_ADDRESS configured will be set as manager.
-* When ODL Controller receives the update of the OVS in the port:6640, (Manager port) VTN Manager handles the event and adds a bridge with required port mappings to the Open-V-Switch at openstack node.
-* When neutron starts up, a New Network create is POSTED to ODL, for which VTN Manager creates a VTN.
-* Network and Sub-Network Create:
- Whenever a new sub network is created, VTN Manager will handle the same and create a vbridge under the VTN.
-* VM Creation in openstack:
- The interface mentioned as integration bridge in the configuration file, will be added with more interfaces on creation of a new VM in OpenStack and network is provisioned for it by VTN neutron bundle. The addition of new PORT is captured by VTN Manager and it creates a vbridge interface with port mapping for the particular port.Now, when the VM starts to communicate with other VM's created, VTN Manger will install flows in the OVS and other OpenFlow switches to facilitate communication between VM(s).
-
-NOTE:
- To use this feature, VTN feature should be installed
-
-==== Reference
-
-https://wiki.opendaylight.org/images/5/5c/Integration_of_vtn_and_ovsdb_for_helium.pdf
The VTN Coordinator is an external application that provides a REST interface for a user to use the VTN Virtualization. It interacts with VTN Manager plugin to implement the user configuration. It is also capable of multiple controller orchestration. It realizes Virtual Tenant Network (VTN) provisioning in OpenDaylight Controllers (ODC). In the OpenDaylight architecture VTN Coordinator is part of the network application, orchestration and services layer. VTN Coordinator has been implemented as an external application to the OpenDaylight controller. This component is responsible for the VTN virtualization. VTN Coordinator will use the REST interface exposed by the VTN Manger to realize the virtual network using the OpenDaylight controller. It uses OpenDaylight APIs (REST) to construct the virtual network in ODCs. It provides REST APIs for northbound VTN applications and supports virtual networks spanning across multiple ODCs by coordinating across ODCs.
-===== OpenDaylight Virtual Tenant Network (VTN) API Overview
-
-The VTN API module is a sub component of the VTN Coordinator and provides the north bound REST API interface for VTN applications. It consists of two subcomponents:
-
-* <<_web_server,Web Server>>
-* <<_vtn_service_java_api_library,VTN Service Java API Library>>
-
-.VTN Coordinator API Architecture
-image::vtn/vtn-coordinator-api-architecture.png[]
-
-====== Web Server
-
-The Web Server module handles the REST APIs received from the VTN applications. It translates the REST APIs to the appropriate Java APIs.
-
-The main functions of this module are:
-
-* Starts via the startup script catalina.sh.
-* VTN Application sends HTTP request to Web server in XML or JSON format.
-* Creates a session and acquire a read/write lock.
-* Invokes the <<_vtn_service_java_api_library,VTN Service Java API Library>> corresponding to the specified URI.
-* Returns the response to the VTN Application.
-
-*WebServer Class Details*
-
-The table below lists the classes available for Web Server module and its descriptions:
-
-[options="header",cols="30%,70%"]
-|===
-| Class Name | Description
-| InitManager |It is a singleton class for executing the acquisition of configuration information from properties file, log initialization, initialization of <<_vtn_service_java_api_library,VTN Service Java API Library>>. +
-Executed by init() of VtnServiceWebAPIServlet.
-| ConfigurationManager | Maintains the configuration information acquired from properties file.
-| VtnServiceCommonUtil | Utility class
-| VtnServiceWebUtil | Utility class
-| VtnServiceWebAPIServlet | Receives HTTP request from VTN Application and calls the method of corresponding VtnServiceWebAPIHandler. +
-Inherits class HttpServlet, and overrides doGet(), doPut(), doDelete(), doPost().
-| VtnServiceWebAPIHandler | Creates JsonObject(com.google.gson) from HTTP request, and calls method of corresponding VtnServiceWebAPIController.
-| VtnServiceWebAPIController | Creates RestResource() class and calls UPLL API/UPPL API through Java API.
-At the time of calling UPLL API/UPPL API, performs the creation/deletion of session, acquisition/release of configuration mode, acquisition/release of read lock by TC API through Java API.
-| DataConverter | Converts HTTP request to JsonObject and JsonXML to JSON. |
-|===
-
-====== VTN Service Java API Library
-
-It provides the Java API library to communicate with the lower layer modules in the VTN Coordinator.
-
-The main functions of this library are: +
-
-* Creates an IPC client session to the lower layer.
-* Converts the request to IPC framework format.
-* Invokes the lower layer API (i.e. UPPL API, UPLL API, TC API).
-* Returns the response from the lower layer to the web server
-
-* VTN Service Java API Library Class Details
-
===== Feature Overview
-VTN Coordinator doesn't have Karaf features.
+VTN Coordinator doesn't have Karaf features.
For VTN Coordinator REST API, please refer: https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_%28VTN%29:VTN_Coordinator:RestApi
* *odl-vtn-manager-rest* provides VTN Manager's REST API.
* *odl-vtn-manager-neutron* provides the integration with Neutron interface.
-REST API documentation for VTN Manager, please refer: https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-merge-master/lastSuccessfulBuild/artifact/manager/northbound/target/site/wsdocs/rest.html
+REST API documentation for VTN Manager, please refer:
+https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-merge-stable-lithium/lastSuccessfulBuild/artifact/manager/northbound/target/site/wsdocs/rest.html
For VTN Java API documentation, please visit: https://jenkins.opendaylight.org/releng/view/vtn/job/vtn-merge-master/lastSuccessfulBuild/artifact/manager/api/target/apidocs/index.html
VTN Manager API: https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_%28VTN%29:VTN_Manager:RestApi
=== Usage Examples
-* https://wiki.OpenDaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):VTN_Coordinator:RestApi:How_to_configure_L2_Network_with_Single_Controller[L2 Network using Single Controller]
+* https://wiki.OpenDaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):VTN_Coordinator:RestApi:How_to_configure_L2_Network_with_Single_Controller[L2 Network using Single Controller]
\ No newline at end of file