Migrate OCP Plugin user docs to rst 45/44345/1
authorColin Dixon <colin@colindixon.com>
Fri, 19 Aug 2016 00:52:54 +0000 (20:52 -0400)
committerColin Dixon <colin@colindixon.com>
Fri, 19 Aug 2016 00:53:15 +0000 (20:53 -0400)
Change-Id: Ib3899418a8e0e3358d92c39ad25b1a7f16225c78
Signed-off-by: Colin Dixon <colin@colindixon.com>
docs/user-guide/images/ocpplugin/dlux-ocp-apis.jpg [new file with mode: 0644]
docs/user-guide/images/ocpplugin/dlux-ocp-nodes.jpg [new file with mode: 0644]
docs/user-guide/images/ocpplugin/message_flow.jpg [new file with mode: 0644]
docs/user-guide/images/ocpplugin/ocp-sb-plugin.jpg [new file with mode: 0644]
docs/user-guide/images/ocpplugin/plugin-config.jpg [new file with mode: 0644]
docs/user-guide/images/ocpplugin/plugin-design.jpg [new file with mode: 0644]
docs/user-guide/ocp-plugin-user-guide.rst [new file with mode: 0644]
manuals/user-guide/src/main/asciidoc/ocpplugin/ocp-user-guide.adoc

diff --git a/docs/user-guide/images/ocpplugin/dlux-ocp-apis.jpg b/docs/user-guide/images/ocpplugin/dlux-ocp-apis.jpg
new file mode 100644 (file)
index 0000000..820583d
Binary files /dev/null and b/docs/user-guide/images/ocpplugin/dlux-ocp-apis.jpg differ
diff --git a/docs/user-guide/images/ocpplugin/dlux-ocp-nodes.jpg b/docs/user-guide/images/ocpplugin/dlux-ocp-nodes.jpg
new file mode 100644 (file)
index 0000000..949474a
Binary files /dev/null and b/docs/user-guide/images/ocpplugin/dlux-ocp-nodes.jpg differ
diff --git a/docs/user-guide/images/ocpplugin/message_flow.jpg b/docs/user-guide/images/ocpplugin/message_flow.jpg
new file mode 100644 (file)
index 0000000..323cefc
Binary files /dev/null and b/docs/user-guide/images/ocpplugin/message_flow.jpg differ
diff --git a/docs/user-guide/images/ocpplugin/ocp-sb-plugin.jpg b/docs/user-guide/images/ocpplugin/ocp-sb-plugin.jpg
new file mode 100644 (file)
index 0000000..23cf919
Binary files /dev/null and b/docs/user-guide/images/ocpplugin/ocp-sb-plugin.jpg differ
diff --git a/docs/user-guide/images/ocpplugin/plugin-config.jpg b/docs/user-guide/images/ocpplugin/plugin-config.jpg
new file mode 100644 (file)
index 0000000..d3ecb74
Binary files /dev/null and b/docs/user-guide/images/ocpplugin/plugin-config.jpg differ
diff --git a/docs/user-guide/images/ocpplugin/plugin-design.jpg b/docs/user-guide/images/ocpplugin/plugin-design.jpg
new file mode 100644 (file)
index 0000000..03f5fd3
Binary files /dev/null and b/docs/user-guide/images/ocpplugin/plugin-design.jpg differ
diff --git a/docs/user-guide/ocp-plugin-user-guide.rst b/docs/user-guide/ocp-plugin-user-guide.rst
new file mode 100644 (file)
index 0000000..a9b4fb4
--- /dev/null
@@ -0,0 +1,298 @@
+OCP Plugin User Guide
+=====================
+
+This document describes how to use the ORI Control & Management Protocol
+(OCP) feature in OpenDaylight. This document contains overview, scope,
+architecture and design, installation, configuration and tutorial
+sections for the feature.
+
+Overview
+--------
+
+OCP is an ETSI standard protocol for control and management of Remote
+Radio Head (RRH) equipment. The OCP Project addresses the need for a
+southbound plugin that allows applications and controller services to
+interact with RRHs using OCP. The OCP southbound plugin will allow
+applications acting as a Radio Equipment Control (REC) to interact with
+RRHs that support an OCP agent.
+
+.. figure:: ./images/ocpplugin/ocp-sb-plugin.jpg
+   :alt: OCP southbound plugin
+
+   OCP southbound plugin
+
+It is foreseen that, in 5G, C-RAN will use the packet-based
+Transport-SDN (T-SDN) as the fronthaul network to transport both control
+plane and user plane data between RRHs and BBUs. As a result, the
+addition of the OCP plugin to OpenDaylight will make it possible to
+build an RRH controller on top of OpenDaylight to centrally manage
+deployed RRHs, as well as integrating the RRH controller with T-SDN on
+one single platform, achieving the joint RRH and fronthaul network
+provisioning in C-RAN.
+
+Scope
+-----
+
+The OCP Plugin project includes:
+
+-  OCP v4.1.1 support
+
+-  Integration of OCP protocol library
+
+-  Simple API invoked as a RPC
+
+-  Simple API that allows applications to perform elementary functions
+   of the following categories:
+
+   -  Device management
+
+   -  Config management
+
+   -  Object lifecycle
+
+   -  Object state management
+
+   -  Fault management
+
+   -  Software management (not implemented as of Boron)
+
+-  Indication processing
+
+-  Logging (not implemented as of Boron)
+
+-  AISG/Iuant interface message tunnelling (not implemented as of Boron)
+
+-  ALD connection management (not implemented as of Boron)
+
+Architecture and Design
+-----------------------
+
+OCP is a vendor-neutral standard communications interface defined to
+enable control and management between RE and REC of an ORI architecture.
+The OCP Plugin supports the implementation of the OCP specification; it
+is based on the Model Driven Service Abstraction Layer (MD-SAL)
+architecture.
+
+OCP Plugin will support the following functionality:
+
+-  Connection handling
+
+-  Session management
+
+-  State management
+
+-  Error handling
+
+-  Connection establishment will be handled by OCP library using
+   opensource netty.io library
+
+-  Message handling
+
+-  Event/indication handling and propagation to upper layers
+
+**Activities in OCP plugin module**
+
+-  Integration with OCP protocol library
+
+-  Integration with corresponding MD-SAL infrastructure
+
+OCP protocol library is a component in OpenDaylight that mediates
+communication between OpenDaylight controller and RRHs supporting OCP
+protocol. Its primary goal is to provide the OCP Plugin with
+communication channel that can be used for managing RRHs.
+
+Key objectives:
+
+-  Immutable transfer objects generation (transformation of OCP protocol
+   library’s POJO objects into OpenDaylight DTO objects)
+
+-  Scalable non-blocking implementation
+
+-  Pipeline processing
+
+-  Scatter buffer
+
+-  TLS support
+
+OCP Service addresses the need for a northbound interface that allows
+applications and other controller services to interact with RRHs using
+OCP, by providing API for abstracting OCP operations.
+
+.. figure:: ./images/ocpplugin/plugin-design.jpg
+   :alt: Overall architecture
+
+   Overall architecture
+
+Message Flow
+------------
+
+.. figure:: ./images/ocpplugin/message_flow.jpg
+   :alt: Message flow example
+
+   Message flow example
+
+Installation
+------------
+
+The OCP Plugin project has two top level Karaf features,
+odl-ocpplugin-all and odl-ocpjava-all, which contain the following
+sub-features:
+
+-  odl-ocpplugin-southbound
+
+-  odl-ocpplugin-app-ocp-service
+
+-  odl-ocpjava-protocol
+
+The OCP service (odl-ocpplugin-app-ocp-service), together with the OCP
+southbound (odl-ocpplugin-southbound) and OCP protocol library
+(odl-ocpjava-protocol), provides OpenDaylight with basic OCP v4.1.1
+functionality.
+
+There are two ways to interact with OCP service: one is via RESTCONF
+(programmatic) and the other is using DLUX web interface (manual), so
+you have to install the following features to enable RESTCONF and DLUX.
+
+::
+
+    karaf#>feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core odl-dlux-all
+
+Then install the odl-ocpplugin-all feature which includes the
+odl-ocpplugin-southbound and odl-ocpplugin-app-ocp-service features.
+Note that the odl-ocpjava-all feature will be installed automatically as
+the odl-ocpplugin-southbound feature is dependent on the
+odl-ocpjava-protocol feature.
+
+::
+
+    karaf#>feature:install odl-ocpplugin-all
+
+After all required features are installed, use following command from
+karaf console to check and make sure features are correctly installed
+and initialized.
+
+::
+
+    karaf#>feature:list | grep ocp
+
+Configuration
+-------------
+
+Configuring the OCP plugin can be done via its configuration file,
+62-ocpplugin.xml, which can be found in the
+<odl-install-dir>/etc/opendaylight/karaf/ directory.
+
+As of Boron, there are the following settings that are configurable:
+
+1. **port** specifies the port number on which the OCP plugin listens
+   for connection requests
+
+2. **radioHead-idle-timeout** determines the time duration (unit:
+   milliseconds) for which a radio head has been idle before the idle
+   event is triggered to perform health check
+
+3. **ocp-version** specifies the OCP protocol version supported by the
+   OCP plugin
+
+4. **rpc-requests-quota** sets the maximum number of concurrent rpc
+   requests allowed
+
+5. **global-notification-quota** sets the maximum number of concurrent
+   notifications allowed
+
+.. figure:: ./images/ocpplugin/plugin-config.jpg
+   :alt: OCP plugin configuration
+
+   OCP plugin configuration
+
+Test Environment
+----------------
+
+The OCP Plugin project contains a simple OCP agent for testing purposes;
+the agent has been designed specifically to act as a fake radio head
+device, giving you an idea of what it would look like during the OCP
+handshake taking place between the OCP agent and OpenDaylight (OCP
+plugin).
+
+To run the simple OCP agent, you have to first download its JAR file
+from OpenDaylight Nexus Repository.
+
+::
+
+    wget https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/ocpplugin/simple-agent/0.1.0-Boron/simple-agent-0.1.0-Boron.jar
+
+Then run the agent with no arguments (assuming you already have JDK 1.8
+or above installed) and it should display the usage that lists the
+expected arguments.
+
+::
+
+    java -classpath simple-agent-0.1.0-Boron.jar org.opendaylight.ocpplugin.OcpAgent
+
+    Usage: java org.opendaylight.ocpplugin.OcpAgent <controller's ip address> <port number> <vendor id> <serial number>
+
+Here is an example:
+
+::
+
+    java -classpath simple-agent-0.1.0-Boron.jar org.opendaylight.ocpplugin.OcpAgent 127.0.0.1 1033 XYZ 123
+
+Web / Graphical Interface
+-------------------------
+
+Once you enable the DLUX feature, you can access the Controller GUI
+using following URL.
+
+::
+
+    http://<controller-ip>:8080/index.html
+
+Expand Nodes. You should see all the radio head devices that are
+connected to the controller running at <controller-ip>.
+
+.. figure:: ./images/ocpplugin/dlux-ocp-nodes.jpg
+   :alt: DLUX Nodes
+
+   DLUX Nodes
+
+And expand Yang UI if you want to browse the various northbound APIs
+exposed by the OCP service.
+
+.. figure:: ./images/ocpplugin/dlux-ocp-apis.jpg
+   :alt: DLUX Yang UI
+
+   DLUX Yang UI
+
+For information on how to use these northbound APIs, please refer to the
+OCP Plugin Developer Guide.
+
+Programmatic Interface
+----------------------
+
+The OCP Plugin project has implemented a complete set of the C&M
+operations (elementary functions) defined in the OCP specification, in
+the form of both northbound and southbound APIs, including:
+
+-  health-check
+
+-  set-time
+
+-  re-reset
+
+-  get-param
+
+-  modify-param
+
+-  create-obj
+
+-  delete-obj
+
+-  get-state
+
+-  modify-state
+
+-  get-fault
+
+The API is documented in the OCP Plugin Developer Guide under the
+section Southbound API and Northbound API, respectively.
+
index dbced3ebe8b456c68457100d9662453875d26b4e..eb4873d432cef86d86c8924cac9140d4d3ae980a 100644 (file)
@@ -1,170 +1,3 @@
 == OCP Plugin User Guide
-This document describes how to use the ORI Control & Management Protocol (OCP)
-feature in OpenDaylight. This document contains overview, scope, architecture and
-design, installation, configuration and tutorial sections for the feature.
 
-=== Overview
-OCP is an ETSI standard protocol for control and management of Remote Radio Head (RRH)
-equipment. The OCP Project addresses the need for a southbound plugin that allows
-applications and controller services to interact with RRHs using OCP. The OCP southbound
-plugin will allow applications acting as a Radio Equipment Control (REC) to interact
-with RRHs that support an OCP agent.
-
-.OCP southbound plugin
-image::ocpplugin/ocp-sb-plugin.jpg[OCP southbound plugin, 550, 350]
-
-It is foreseen that, in 5G, C-RAN will use the packet-based Transport-SDN (T-SDN) as the
-fronthaul network to transport both control plane and user plane data between RRHs and
-BBUs. As a result, the addition of the OCP plugin to OpenDaylight will make it
-possible to build an RRH controller on top of OpenDaylight to centrally manage deployed RRHs,
-as well as integrating the RRH controller with T-SDN on one single platform, achieving
-the joint RRH and fronthaul network provisioning in C-RAN.
-
-=== Scope
-The OCP Plugin project includes:
-
-* OCP v4.1.1 support
-* Integration of OCP protocol library
-* Simple API invoked as a RPC
-* Simple API that allows applications to perform elementary functions of the following categories:
-  - Device management
-  - Config management
-  - Object lifecycle
-  - Object state management
-  - Fault management
-  - Software management (not implemented as of Boron)
-* Indication processing
-* Logging (not implemented as of Boron)
-* AISG/Iuant interface message tunnelling (not implemented as of Boron)
-* ALD connection management (not implemented as of Boron)
-
-=== Architecture and Design
-OCP is a vendor-neutral standard communications interface defined to enable control and management
-between RE and REC of an ORI architecture. The OCP Plugin supports the implementation of the OCP
-specification; it is based on the Model Driven Service Abstraction Layer (MD-SAL) architecture.
-
-OCP Plugin will support the following functionality:
-
-* Connection handling
-* Session management
-* State management
-* Error handling
-* Connection establishment will be handled by OCP library using opensource netty.io library
-* Message handling
-* Event/indication handling and propagation to upper layers
-
-*Activities in OCP plugin module*
-
-* Integration with OCP protocol library
-* Integration with corresponding MD-SAL infrastructure
-
-OCP protocol library is a component in OpenDaylight that mediates communication between
-OpenDaylight controller and RRHs supporting OCP protocol. Its primary goal is to provide
-the OCP Plugin with communication channel that can be used for managing RRHs.
-
-Key objectives:
-
-* Immutable transfer objects generation (transformation of OCP protocol library's POJO
-objects into OpenDaylight DTO objects)
-* Scalable non-blocking implementation
-* Pipeline processing
-* Scatter buffer
-* TLS support
-
-OCP Service addresses the need for a northbound interface that allows applications and other
-controller services to interact with RRHs using OCP, by providing API for abstracting OCP operations.
-
-.Overall architecture
-image::ocpplugin/plugin-design.jpg[Overall architecture, 550, 284]
-
-=== Message Flow
-.Message flow example
-image::ocpplugin/message_flow.jpg[Message flow example, 550, 335]
-
-=== Installation
-The OCP Plugin project has two top level Karaf features, odl-ocpplugin-all and odl-ocpjava-all, which contain the following sub-features:
-
-* odl-ocpplugin-southbound
-* odl-ocpplugin-app-ocp-service
-* odl-ocpjava-protocol
-
-The OCP service (odl-ocpplugin-app-ocp-service), together with the OCP southbound (odl-ocpplugin-southbound) and OCP protocol library (odl-ocpjava-protocol), provides OpenDaylight with basic OCP v4.1.1 functionality.
-
-There are two ways to interact with OCP service: one is via RESTCONF (programmatic) and the other is using DLUX web interface (manual), so you have to install the following features to enable RESTCONF and DLUX.
-----
-karaf#>feature:install odl-restconf odl-l2switch-switch odl-mdsal-apidocs odl-dlux-core odl-dlux-all
-----
-Then install the odl-ocpplugin-all feature which includes the odl-ocpplugin-southbound and odl-ocpplugin-app-ocp-service features. Note that the odl-ocpjava-all feature will be installed automatically as the odl-ocpplugin-southbound feature is dependent on the odl-ocpjava-protocol feature.
-----
-karaf#>feature:install odl-ocpplugin-all
-----
-After all required features are installed, use following command from karaf console to check and make sure features are correctly installed and initialized.
-----
-karaf#>feature:list | grep ocp
-----
-
-=== Configuration
-Configuring the OCP plugin can be done via its configuration file, 62-ocpplugin.xml, which can be found in the <odl-install-dir>/etc/opendaylight/karaf/ directory.
-
-As of Boron, there are the following settings that are configurable:
-
-. **port** specifies the port number on which the OCP plugin listens for connection requests
-. **radioHead-idle-timeout** determines the time duration (unit: milliseconds) for which a radio head has been idle before the idle event is triggered to perform health check
-. **ocp-version** specifies the OCP protocol version supported by the OCP plugin
-. **rpc-requests-quota** sets the maximum number of concurrent rpc requests allowed
-. **global-notification-quota** sets the maximum number of concurrent notifications allowed
-
-.OCP plugin configuration
-image::ocpplugin/plugin-config.jpg[OCP plugin configuration, 550, 449]
-
-=== Test Environment
-The OCP Plugin project contains a simple OCP agent for testing purposes; the agent has been designed specifically to act as a fake radio head device, giving you an idea of what it would look like during the OCP handshake taking place between the OCP agent and OpenDaylight (OCP plugin).
-
-To run the simple OCP agent, you have to first download its JAR file from OpenDaylight Nexus Repository.
-----
-wget https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/ocpplugin/simple-agent/0.1.0-Boron/simple-agent-0.1.0-Boron.jar
-----
-Then run the agent with no arguments (assuming you already have JDK 1.8 or above installed) and it should display the usage that lists the expected arguments.
-----
-java -classpath simple-agent-0.1.0-Boron.jar org.opendaylight.ocpplugin.OcpAgent
-
-Usage: java org.opendaylight.ocpplugin.OcpAgent <controller's ip address> <port number> <vendor id> <serial number>
-----
-Here is an example:
-----
-java -classpath simple-agent-0.1.0-Boron.jar org.opendaylight.ocpplugin.OcpAgent 127.0.0.1 1033 XYZ 123
-----
-
-=== Web / Graphical Interface
-Once you enable the DLUX feature, you can access the Controller GUI using following URL.
-----
-http://<controller-ip>:8080/index.html
-----
-Expand Nodes. You should see all the radio head devices that are connected to the controller running at <controller-ip>.
-
-.DLUX Nodes
-image::ocpplugin/dlux-ocp-nodes.jpg[DLUX Nodes, 550, 312]
-
-And expand Yang UI if you want to browse the various northbound APIs exposed by the OCP service.
-
-.DLUX Yang UI
-image::ocpplugin/dlux-ocp-apis.jpg[DLUX Yang UI, 550, 468]
-
-For information on how to use these northbound APIs, please refer to the OCP Plugin Developer Guide.
-
-=== Programmatic Interface
-The OCP Plugin project has implemented a complete set of the C&M operations (elementary functions) defined
-in the OCP specification, in the form of both northbound and southbound APIs, including:
-
-* health-check
-* set-time
-* re-reset
-* get-param
-* modify-param
-* create-obj
-* delete-obj
-* get-state
-* modify-state
-* get-fault
-
-The API is documented in the OCP Plugin Developer Guide under the section Southbound API and Northbound API, respectively.
+This content has been migrated to: http://docs.opendaylight.org/en/stable-boron/user-guide/ocp-plugin-user-guide.html