unforce lighty use in tox
[transportpce.git] / docs / user-guide.rst
1 .. _transportpce-user-guide:
2
3 TransportPCE User Guide
4 =======================
5
6 Overview
7 --------
8
9 TransportPCE describes an application running on top of the OpenDaylight
10 controller. Its primary function is to control an optical transport
11 infrastructure using a non-proprietary South Bound Interface (SBI). It may be
12 interconnected with Controllers of different layers (L2, L3 Controller…),
13 a higher layer Controller and/or an Orchestrator through non-proprietary
14 Application Programing Interfaces (APIs). Control includes the capability to
15 configure the optical equipment, and to provision services according to a
16 request coming from a higher layer controller and/or an orchestrator.
17 This capability may rely on the controller only or it may be delegated to
18 distributed (standardized) protocols.
19
20 It provides basic alarm/fault and performance monitoring,
21 but this function might be externalized to improve the scalability.
22 A Graphical User Interface has been developped separately and is not proposed
23 here since automated control does not imply user interactions at the transport
24 controller level.
25
26 TransportPCE modular architecture is described on the next diagram. Each main
27 function such as Topology management, Path Calculation Engine (PCE), Service
28 handler, Renderer responsible for the path configuration through optical
29 equipment and Optical Line Management (OLM) is associated with a generic block
30 relying on open models, each of them communicating through published APIs.
31
32 .. figure:: ./images/TransportPCE-Diagramm-Magnesium.jpg
33    :alt: TransportPCE architecture
34
35    TransportPCE architecture
36
37 TransportPCE User-Facing Features
38 ---------------------------------
39 -  **odl-transportpce**
40
41    -  This feature contains all other features/bundles of TransportPCE project.
42       If you install it, it provides all functions that the TransportPCE project
43       can support.
44       It exposes all Transportpce project specific models defined in "Service-path".
45       These models complement OpenROADM models describing South and Northbound APIs, and define the
46       data structure used to interconnect the generic blocks/functions described on the previous
47       diagram.
48
49 -  **feature odl-transportpce-tapi**
50
51    -  This feature provides transportPCE a limited support of TAPI version 2.1.2 Northbound interface.
52
53 -  **feature odl-transportpce-inventory**
54
55    -  This feature is considered experimental. It provides transportPCE with an external connector to
56       a MariaDB inventory currently limited to OpenROADM 1.2.1 devices.
57
58 How To Start
59 ------------
60
61 Preparing for Installation
62 ~~~~~~~~~~~~~~~~~~~~~~~~~~
63
64 1. Devices must support the standard OpenROADM Models more precisely versions 1.2.1 and 2.2.1.
65    Since Magnesium SR0, an OTN experimental support is provided for OpenROADM devices 2.2.1.
66    Magnesium SR2 is the first release managing end-to-end OTN services, as OCH-OTU4,
67    structured ODU4 or again 10GE-ODU2e services.
68
69 2. Devices must support configuration through NETCONF protocol/API.
70
71
72
73 Installation Feature
74 ~~~~~~~~~~~~~~~~~~~~
75
76 Run OpenDaylight and install TransportPCE Service *odl-transportpce* as below::
77
78    feature:install odl-transportpce
79
80 if you need TAPI limited support, then run::
81
82    feature:install odl-transportpce-tapi
83
84 When installing the TAPI feature, you might encounter a heap memory size problem in Karaf.
85 In that case, consider increasing Karaf heap memory size.
86 For example by modifying the environment variables JAVA_MIN_MEM and JAVA_MAX_MEM before starting Karaf::
87
88    export JAVA_MIN_MEM=1024M
89    export JAVA_MAX_MEM=4069M
90
91 if you need the inventory external connector support limited to 1.2.1 OpenROADM devices, then run::
92
93    feature:install odl-transportpce-inventory
94
95 For a more detailed overview of the TransportPCE, see the :ref:`transportpce-dev-guide`.