TAPI topology Service RPCs impl
[transportpce.git] / docs / user-guide.rst
index 3c7994fed0a607ddb9f3d30c1ebe6297f1930f4b..f0d83ce15615e70d131658a219f99021bd8821cd 100644 (file)
@@ -17,11 +17,11 @@ request coming from a higher layer controller and/or an orchestrator.
 This capability may rely on the controller only or it may be delegated to
 distributed (standardized) protocols.
 
 This capability may rely on the controller only or it may be delegated to
 distributed (standardized) protocols.
 
-It provides alarm/fault and performance
-monitoring, but this function might be externalized to improve the scalability.
-A Graphical User Interface could be developed in a later step, but is not
-considered as a priority since automated control does not imply user
-interactions at the transport controller level.
+It provides basic alarm/fault and performance monitoring,
+but this function might be externalized to improve the scalability.
+A Graphical User Interface has been developped separately and is not proposed
+here since automated control does not imply user interactions at the transport
+controller level.
 
 TransportPCE modular architecture is described on the next diagram. Each main
 function such as Topology management, Path Calculation Engine (PCE), Service
 
 TransportPCE modular architecture is described on the next diagram. Each main
 function such as Topology management, Path Calculation Engine (PCE), Service
@@ -29,7 +29,7 @@ handler, Renderer responsible for the path configuration through optical
 equipment and Optical Line Management (OLM) is associated with a generic block
 relying on open models, each of them communicating through published APIs.
 
 equipment and Optical Line Management (OLM) is associated with a generic block
 relying on open models, each of them communicating through published APIs.
 
-.. figure:: ./images/tpce_architecture.jpg
+.. figure:: ./images/TransportPCE-Diagramm-Magnesium.jpg
    :alt: TransportPCE architecture
 
    TransportPCE architecture
    :alt: TransportPCE architecture
 
    TransportPCE architecture
@@ -41,24 +41,29 @@ TransportPCE User-Facing Features
    -  This feature contains all other features/bundles of TransportPCE project.
       If you install it, it provides all functions that the TransportPCE project
       can support.
    -  This feature contains all other features/bundles of TransportPCE project.
       If you install it, it provides all functions that the TransportPCE project
       can support.
-
--  **odl-transportpce-api**
-
-   -  This feature contains all Transportpce project specific models defined in "Service-path".
+      It exposes all Transportpce project specific models defined in "Service-path".
       These models complement OpenROADM models describing South and Northbound APIs, and define the
       data structure used to interconnect the generic blocks/functions described on the previous
       diagram.
 
       These models complement OpenROADM models describing South and Northbound APIs, and define the
       data structure used to interconnect the generic blocks/functions described on the previous
       diagram.
 
--  **odl-transportpce-ordmodels**
+-  **feature odl-transportpce-tapi**
+
+   -  This feature provides transportPCE a limited support of TAPI version 2.1.2 Northbound interface.
 
 
-   -  This feature contains all OpenROADM models : Common, Device, Network and Service models.
+-  **feature odl-transportpce-inventory**
 
 
--  **odl-transportpce-stubmodels**
+   -  This feature is considered experimental. It provides transportPCE with an external connector to
+      a MariaDB inventory currently limited to OpenROADM 1.2.1 devices.
 
 
-   -  This feature provides function to be able to stub some of TransportPCE modules, pce and
-      renderer (Stubpce and Stubrenderer).
-      Stubs are used for development purposes and required for some of the functionnal tests.
+-  **feature odl-transportpce-dmaap-client**
 
 
+   -  This feature is considered experimental. It provides a REST client in order to send TPCE notifications
+      to ONAP Dmaap Message router.
+
+-  **feature odl-transportpce-nbinotifications**
+
+   -  This feature is considered experimental. It provides transportPCE with connectors in order to read/write
+      notifications stored in topics of a Kafka server.
 
 How To Start
 ------------
 
 How To Start
 ------------
@@ -66,8 +71,10 @@ How To Start
 Preparing for Installation
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Preparing for Installation
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-1. Devices must support the standard OpenROADM Models more precisely versions
-   1.2.1 and 2.1.
+1. Devices must support the standard OpenROADM Models more precisely versions 1.2.1 and 2.2.1.
+   Since Magnesium SR0, an OTN experimental support is provided for OpenROADM devices 2.2.1.
+   Magnesium SR2 is the first release managing end-to-end OTN services, as OCH-OTU4,
+   structured ODU4 or again 10GE-ODU2e services.
 
 2. Devices must support configuration through NETCONF protocol/API.
 
 
 2. Devices must support configuration through NETCONF protocol/API.
 
@@ -80,4 +87,52 @@ Run OpenDaylight and install TransportPCE Service *odl-transportpce* as below::
 
    feature:install odl-transportpce
 
 
    feature:install odl-transportpce
 
+if you need TAPI limited support, then run::
+
+   feature:install odl-transportpce-tapi
+
+When installing the TAPI feature, you might encounter a heap memory size problem in Karaf.
+In that case, consider increasing Karaf heap memory size.
+For example by modifying the environment variables JAVA_MIN_MEM and JAVA_MAX_MEM before starting Karaf::
+
+   export JAVA_MIN_MEM=1024M
+   export JAVA_MAX_MEM=4069M
+
+if you need the inventory external connector support limited to 1.2.1 OpenROADM devices, then run::
+
+   feature:install odl-transportpce-inventory
+
+if you need the Dmaap connector support, before running Opendaylight, set DMAAP_BASE_URL as environment variable.
+For example, if the base url of your Dmaap server is "https://dmaap-mr:30226", then::
+
+    export DMAAP_BASE_URL=https://dmaap-mr:30226
+
+if your Dmaap server provides https connection through a self-signed certificate, do not forget to add the certificate
+to the JAVA truststore::
+
+    echo -n | openssl s_client -showcerts -connect dmaap-mr:30226 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/dmaap.crt
+    keytool -import -v -trustcacerts -alias dmaap -file /tmp/dmaap.crt -keystore /etc/ssl/certs/java/cacerts -keypass changeit -storepass changeit -noprompt
+
+where dmaap-mr:30226 is the url of your Dmaap server.
+
+Then run in karaf::
+
+   feature:install odl-transportpce-dmaap-client
+
+If you need the NBI-notifications support, before installing odl-transportpce-nbinotifications feature,
+make sure to run ZooKeeper and then the Kafka server.
+By default, it is considered that the Kafka server is installed in localhost and listens on the 9092 port,
+if it isn't the case then set the KAFKA_SERVER environment variable of your system or
+modify the file *'transportpce/features/odl-transportpce-nbinotifications
+/src/main/resources/org.opendaylight.transportpce.nbinotifications.cfg'*::
+
+   suscriber.server=${env:KAFKA_SERVER:-[IP_ADDRESS]:[PORT]}
+   publisher.server=${env:KAFKA_SERVER:-[IP_ADDRESS]:[PORT]}
+
+*where [IP_ADDRESS] and [PORT] are respectively the IP address and the port that host the Kafka server.*
+
+After that, run in karaf::
+
+   feature:install odl-transportpce-nbinotifications
+
 For a more detailed overview of the TransportPCE, see the :ref:`transportpce-dev-guide`.
 For a more detailed overview of the TransportPCE, see the :ref:`transportpce-dev-guide`.