From 53c4f5781ea22dca2e149c86f9bacd4210027475 Mon Sep 17 00:00:00 2001 From: demx8as6 Date: Sun, 14 Jun 2020 10:22:57 +0200 Subject: [PATCH] Update documentation Add more documentation for the Web application. Issue-ID: OAM-18 Signed-off-by: demx8as6 Change-Id: I928ab076b3144c6b01647fedaaf8b23a551173f5 --- docs/_static/o-ran-architecture.png | Bin 0 -> 95702 bytes docs/abbreviations.rst | 352 ++++++++++++++++++++++ docs/applications.rst | 18 ++ docs/config.rst | 26 ++ docs/connect.rst | 45 +++ docs/faq.rst | 88 ++++++ docs/fault.rst | 58 ++++ docs/general.rst | 59 ++++ docs/installation.rst | 14 + docs/inventory.rst | 36 +++ docs/maintenance.rst | 22 ++ docs/mediator.rst | 19 ++ docs/overview.rst | 11 +- docs/performance.rst | 26 ++ docs/sdnr_Docker_Image_configuration.rst | 52 ++++ docs/sdnr_WT_Service_Configuration_parameters.rst | 118 ++++++++ docs/user-guide.rst | 11 +- 17 files changed, 952 insertions(+), 3 deletions(-) create mode 100644 docs/_static/o-ran-architecture.png create mode 100644 docs/abbreviations.rst create mode 100644 docs/applications.rst create mode 100644 docs/config.rst create mode 100644 docs/connect.rst create mode 100644 docs/faq.rst create mode 100644 docs/fault.rst create mode 100644 docs/general.rst create mode 100644 docs/installation.rst create mode 100644 docs/inventory.rst create mode 100644 docs/maintenance.rst create mode 100644 docs/mediator.rst create mode 100644 docs/performance.rst create mode 100644 docs/sdnr_Docker_Image_configuration.rst create mode 100644 docs/sdnr_WT_Service_Configuration_parameters.rst diff --git a/docs/_static/o-ran-architecture.png b/docs/_static/o-ran-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..9642d0d9f754badf710411e28bebc1db33252734 GIT binary patch literal 95702 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

Kpp p7@J@^oq?Wk9l+k$YS~hO1 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 F{{>*T&0_!n literal 0 HcmV?d00001 diff --git a/docs/abbreviations.rst b/docs/abbreviations.rst new file mode 100644 index 0000000..0f59b36 --- /dev/null +++ b/docs/abbreviations.rst @@ -0,0 +1,352 @@ +.. contents:: + :depth: 3 +.. + +Abbreviations +============= + ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **Abbreviation** | **Description** | ++==================+==============================================================================================================================================================================+ +| AAF | `Application Authorization Framework `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| A&AI | `Active & Available Inventory `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| AAA | `Authentication,Authorization and Accounting `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| AID | Architecture Integration Document | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| APPC | `ApplicationController `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| BPEL | Business Process Execution Language | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| BPMN | `Business Process Model and Notation or Business Process Management Notation `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| BRMS | Business Rules Management System | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| BSS | Business Support System | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CCSDK | Common Controller SDK project | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CDAP | `Cask Data Application Platform `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CDS | Controller Design Studio | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CI/CD | Continuous Integration / Continuous Delivery | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CL | Control Loop | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CLAMP | Closed Loop Automation Management Platform (project) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CLI | `Command Line Interface (project) `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CMA | Change Management Application (within ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CNF | Cloud Native network Function. | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| COE | Container Orchestration Engine | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CPE | Customer Premise Equipment | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| CSAR | `Cloud Service ARchive (link) `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DAO | `Data Access Object `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DCAE | `Data Collection Analytics & Events `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DDoS | Distributed Denial-of-Service attack | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DG | Directed Graph | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DG Builder | Directed Graph Builder | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DMaaP | `Data Movement as a Platform `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DME | `Direct Messaging Engine (common service within ONAP) `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DNS | Domain Name System | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| DPDK | Data Plane Development Kit | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EELF | `Event and Error-Logging Framework `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EMS | `Element Management System `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| ESR | `External System Register `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| ETSI | `European Telecommunications Standards Institute `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| EUAG | `ONAP End User Advisory Group `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| FCAPS | Fault Configuration Accounting Performance Security | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| GBP | `Group-Based Policy `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| GNFC | `Genric Network Function Controller `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| GUI | `Graphical User Interface `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| HAS | `Homing and Allocation Service `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| HDFS | Hadoop Distributed File System | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| HPA | Hardware Platform Awareness | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| HTTP | HyperText Transfer Protococol | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| HV VES | `High Volume Virtual function Event Stream `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IAM/IDAM | Identity and Access Management | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| ICE | Incubation and Certification Environment | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IDS | `Intrusion Detection System `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IETF | `Internet Engineering Task Force `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IKE | `Internet Key Exchange `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IPS | `Intrusion Prevention System `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| IPSEC | `Internet Protocol Security `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| JAR | `Java Archive `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| JSC | `Java Service Container `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| JSON | JavaScript Object Notation | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| LCM | Life Cycle Management | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| LFN CVC | `Linux Foundation Networking Compliance/Verification Committee `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| LFN CVP | `Linux Foundation Networking Compliance/Verification Program `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| LRM | Local Resource Monitor | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| M0 | Release Kick-off milestone. See also Release Lifecycle | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| M1 | Release Planning milestone. See also Release Lifecycle | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| M2 | Release Functionality Freeze milestone. See also Release Lifecycle | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| M3 | Release API Freeze milestone. See also Release Lifecycle | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| M4 | Release Code Freeze milestone. See also Release Lifecycle | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MACD | (Vendor specific) Move Add Change Delete/Disconnect | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MANO | MANagement and Organization of NFV | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MD-SAL | Model Driven Service Abstraction Layer | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MR | Message Router (a Common Service of ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MOP | Method of Procedure | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MOTS | Mechanized Operations Tracking System | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MSB | Microservice Bus | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MSO | `Master Service Orchestrator `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| MVP | `Minimum Viable Product `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NAI | Network Artificial Intelligence | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NANCSP | Network Cloud Service Provider | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NBI | North Bound Interface | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NEP | Network Equipment Provider | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NETCONF | `Network Configuration Protocol `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NFV | `Network Function Virtualization `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NFVI | Network Functions Virtualization Infrastructure | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NOD | Network On Demand | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NS | Network Services | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| NS | (Vendor Specific) New Start | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| O-CU | O-RAN Centralized Unit | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| O-DU | O-RAN Distributed Unit | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| O-RAN | `O-RAN Alliance, Operator Defined Next Generation Radio Access Networks Alliance `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| O-RAN-SC | `O-RAN Software Community `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| O-RU | O-RAN Radio Unit | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OAM | Operation and Maintenance | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OA&M | Operations, Administration and Management | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OMF | Operational Management Framework (of ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OMSA | ONAP Microservice Architecture | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| ONAP | `Open Network Automation Platform `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OOF | ONAP Optimization Framework | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| ODL | `OpenDaylight `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OOM | `ONAP Operations Manager `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OPNFV | `Open Platform for NFV Project `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OSAM | `Open Source Access Manager `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OSC | O-RAN Software Community or Optical Supervisory Channel | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| OSS | Operations Support System | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PAP | Policy Administration Point (ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PCE | Path Computation and Element (ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PCI | Physical Cell ID | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| pCPE | physical Customer Premise Equipment | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PDP-x | Policy Decision Point - XACML (ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PDP-d | Policy Decision Point - Drools (ONAP) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PO | Platform Orchestrator | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PoC | Proof of Concept | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| POMBA | `Post Orchestration Model Based Audit `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PNDA | `Open source Platform for Network Data Analytics `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| PNF | Physical Network Function | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| RCA | Root Cause Analysis | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| RCT | Reference Connection Tool | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| REST | `Representational State Transfer `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| RESTCONF | A protocol based on HTTP for configuring data defined in YANG | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| RO | Resource Orchestrator | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| RPC | Remote Procedure Call | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| S3P | `Stability, Security, Scalability, Performance `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SDC | Service Design and Creation (component of ONAP for visual modeling and design) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SDN | `Software-defined networking `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SDN-C | `SDN-Controller `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SDN-R | `SDN-Radio ` __ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SDN-GP | Software Defined Network - Global Platform | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SEBA | SDN-Enabled Broadband Access, see also | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SLA | Service Level Agreement | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SLI | Service Logic Interpreter | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SME | Subject Matter Expert | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SMTP | Simple Mail Transfer Protocol | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SNMP | Simple Network Management Protocol | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SO | `Service Orchestrator (project) `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SOT | Source Of Truth | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SR-IOV | `Single-Root Input/Output Virtualization `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SSL | `Secure Sockets Layer `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| SUPP | (Vendor Specific) short for supplement, changing a connection before activation | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| Swagger | legacy name for the OpenAPI Specification | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| TCP | Transmission Control Protocol | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| TEM | Telecom Electronics Manufacturer | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| TLS | `Transport Layer Security `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| TOSCA | `Topology and Orchestration Specification for Cloud Applications `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| TPS | Transactions Per Second | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| TSC | Technical Steering Committee | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| U-UI | `Usecase User Interface `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| UI | `User Interface `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| UX | `User Experience `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vCE | virtual CE (Customer Edge) router (an example VNF) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vCPE | Virtual Customer Premise Equipment | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vDNS | Virtual Domain Name Server (an example VNF) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VDU | `Virtualisation Deployment Unit `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VES | `Virtual function Event Stream `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vF | Virtual Firewall (an example VNF) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VF | Virtual Function | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VFC | `Virtual Function Controller `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VFC | Virtual Function Component (Resource Onboarding) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vfModule | Virtual Function Module | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VID | Virtual Instantiation Deployment | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VID | `Virtual Infrastructure Deployment (Project) `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VIM | Virtualized Infrastructure Manager | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VLAN | Virtual Local Area Network | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VM | Virtual Machine | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VNF | `Virtual Network Function `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VNFC | Virtual Network Function Component | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VNFD | `VNF Descriptor `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VNFM | VNF Manager | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VNO | Virtual Network Operator | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| vPE | virtual PE (Provider Edge) router (an example of a VNF) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VPP | `Vector Packet Processing `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VSP | Vendor Software Product (from SDC Demo Guide) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VTP | `VNF Test Platform `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| VVP | `VNF Validation Program `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| WAR | `Web application Archive `__ | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| xNF | The combination of PNF and VNF; Network Function | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| YANG | Yet Another Next Generation - a Data Modeling Language for the Network Configuration Protocol (NETCONF) | ++------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/applications.rst b/docs/applications.rst new file mode 100644 index 0000000..c9d97e8 --- /dev/null +++ b/docs/applications.rst @@ -0,0 +1,18 @@ +UX Applications +=============== + +This page shortly describes the different web applications integrated into the +ODLUX framework. + + +.. toctree:: + :maxdepth: 1 + + connect + fault + maintenance + config + performance + inventory + mediator + diff --git a/docs/config.rst b/docs/config.rst new file mode 100644 index 0000000..2baa58f --- /dev/null +++ b/docs/config.rst @@ -0,0 +1,26 @@ +.. contents:: + :depth: 3 +.. + +Configuration +============= + +The application shows the actual values of all attributes of the +ONF-TR-532 for a selected physical network function (PNF). Each view of +a functional element is divided into capabilities, configuration, +status, current problem, current performance and history performance +information according to TR-532. + +A separate window is available for modifying the configuration. All +changes made are sent to the device in a single NetConf bulk request. +The operator is notified about successfully configuring the device. + +Implementation +-------------- + +The application is implemented as ODLUX web application using the +RestConf northbound interface of the SDN controller. The key frameworks +are: Typescript, React and material-ui. + +Connection status information is updated automatically using a web +socket for notifications from OpenDaylight to the browser. diff --git a/docs/connect.rst b/docs/connect.rst new file mode 100644 index 0000000..c93c1f9 --- /dev/null +++ b/docs/connect.rst @@ -0,0 +1,45 @@ +.. contents:: + :depth: 3 +.. + +Connect +======= + +The 'Connect' application on OpenDaylight provides up-to-date +connectivity information about the wireless devices in the network. It +automatically displays new Network Elements and their connection status. +Usually, the Network Elements mount themselves. If necessary, they can +be mounted manually by right-clicking on the element and selecting the +'mount' action. For better understanding of alarms and status, a +connection status log lists all the connection status changes of +OpenDaylight mount points. + +Views +----- + +The graphical user interface is divided into two sections. + +Network Elements +~~~~~~~~~~~~~~~~ + +Network Elements are physical network functions (PNFs). A table view +shows all configured and connected NetConf Servers of the SDN-R cluster. +This view also allows to manually configure/mount a device via the '+' +button. The SDN controller will start connecting to the NetConf server. + +Network Elements can be marked as 'required'. If an element is required, +it will stay available even if disconnected. If an element is not +required, it will be deleted once disconnected. + +By right-clicking on an element, an action menu opens. The menu allows +to mount, unmount, view the details, edit and remove the element. +Additionally, it links to several applications like +`Fault <../pnfFault/README.md>`__ and +`Configure <../pnfConfig/README.md>`__, which will be filtered to +display information relevant to the selected element. + +Connection Status Log +~~~~~~~~~~~~~~~~~~~~~ + +The log lists the connection status changes between SDN Controller and +NetConf servers (devices). diff --git a/docs/faq.rst b/docs/faq.rst new file mode 100644 index 0000000..973eef6 --- /dev/null +++ b/docs/faq.rst @@ -0,0 +1,88 @@ +.. contents:: + :depth: 3 +.. + +Frequently asked questions +========================== + +Which browser should I use to operate Opendaylight SDN-R User interface? +------------------------------------------------------------------------ + +An actual version of `Google +Chromium `__ +or `Google +Chrome `__ +is recommended. + +-------------- + +How to enable detailed logs in karaf for SDN-R applications +----------------------------------------------------------- + +If you like to see more details in karaf logs for the NetConf +communication between ODL and NetConf servers (mediators/devices) please +invoke the following commands in the karaf console. + +:: + + # Logging settings (on) + log:set DEBUG org.onap.ccsdk.features.sdnr + log:set TRACE org.opendaylight.netconf + log:set TRACE com.highstreet.technologies.odl.app + +Please note, setting the debug level to 'TRACE' may impact the +performance on the controller. In production environment make sure to +set back the debug level to 'INFO' as soon possible. + +:: + + # Logging settings (off) + log:set INFO org.onap.ccsdk.features.sdnr + log:set INFO org.opendaylight.netconf + log:set INFO com.highstreet.technologies.odl.app + +-------------- + +Which commands should be used to analyse karaf logs? +---------------------------------------------------- + +:: + + cd $ODL_KARAF_HOME/data/log + rm *.txt + grep -anr --include=*.log* "| ERROR |" . | grep 2018 >> 01-error.txt + grep -anr --include=*.log* "RemoteDevice{" . | grep 2018 >> 02-devices.txt + grep -anr --include=*.log* "RemoteDevice{" . | grep "Unable to build schema context, unsatisfied imports" | grep 2018 >> 03-schema-issue.txt + grep -anr --include=*.log* "Matched request:" . | grep 2018 >> 04-matched-request.txt + grep -anr --include=*.log* "network-element" . | grep 2018 >> 05-network-element.txt + grep -anr --include=*.log* "urn:onf:params:xml:ns:yang:core-model" . | grep 2018 >> 06-core-module.txt + grep -anr --include=*.log* "PerformanceManagerTask" . | grep 2018 >> 07-pm-tick.txt + grep -anr --include=*.log* "Unable to read NE data for mountpoint" . | grep 2018 >> 08-unable-to-read.txt + grep -anr --include=*.log* "LKCYFL79Q01M01MSS801" . | grep 2018 >> 09-LKCYFL79Q01M01MSS801.txt + +How to report an odlux issue +---------------------------- + +If you would like to report an odlux issue which you have noticed in the +Graphical User Interface, please provide the following information: + +1. **Description**: In which application you have noticed the issue? + +2. **Environment**: + + - Which browser is used and the version of the browser. eg: *Google + chrome - version 71.0.3578.80 / Mozilla Firefox.* + - Which Operating system and version. eg: *Linux/ Windows 10 - + version 1803.* + - In which language you are using the application. + - The application URL which is available on the browser address bar. + eg: *http://hostname/odlux/index.html#/connectApp* + +3. **Expected Result**: What is the expected result you are looking for? + +4. **Actual Result**: What is the actual result you got? + +5. **Steps to reproduce**: Describe the steps to reproduce the scenario. + If possible, please provide the screenshots + +The above information helps us to analyze the problem quicker. diff --git a/docs/fault.rst b/docs/fault.rst new file mode 100644 index 0000000..4e3c9f5 --- /dev/null +++ b/docs/fault.rst @@ -0,0 +1,58 @@ +.. contents:: + :depth: 3 +.. + +Fault Management +================ + +To operate a network, it is important to get an overview about the +currently raised alarms. The application offers basic fault management +of devices supporting ONF-TR-532. The alarms are classified according to +the severity level (warning, minor, major, critical). + +Views +----- + +The graphical user interface is separated into three views. + +Current Problem List +~~~~~~~~~~~~~~~~~~~~ + +Lists all current active faults in the network. In addition, it also +lists alarms sent by the SDN controller itself, which detects connection +losses to the NetConf server (connectionLossOAM) or to a device via a +mediator to a device (connectionLossNeOAM). + +Alarm Notifications +~~~~~~~~~~~~~~~~~~~ + +As long as the view is open, all alarm notifications received by the SDN +Controller are listed. Please note that refreshing the view will start +the collection again. Previous alarm notification can be viewed in the +alarm log. + +Alarm Log +~~~~~~~~~ + +Next to the current active alarms an alarm log lists all alarm +notifications of the past. + +Implementation +-------------- + +The application has two parts. While the server is listening for NetConf +notifications to store them in the database, the client retrieves the +information from the database and displays them in a table. + +The server synchronizes with the current alarm lists of the devices. +Based on raised and cleared notifications, the current alarm status of +the network is calculated. The current alarms are stored in a database. +In addition, all Problem Notifications received by the SDN controller +are stored. There is no logic implemented on the client side. + +An alarm status bar in the header of the web application informs the +operator about the health status of the network. + +The ODLUX web application uses web sockets to update the graphical user +interface of the Alarm Notifications (devices) and Connection Status +Notifications in real-time. diff --git a/docs/general.rst b/docs/general.rst new file mode 100644 index 0000000..85814d5 --- /dev/null +++ b/docs/general.rst @@ -0,0 +1,59 @@ +.. contents:: + :depth: 3 +.. + +General functionality +===================== + +The following functionality is common to all applications. + +Table data export +----------------- + +Every table can export its data via the '︙' button. The data, which +gets exported is the currently viewed data in the table. As the default +pagination is set to 10, only the first 10 rows or filtered rows will be +exported. To increase the number of exported rows, change the +pagination. + +The behavior of the export can vary based on the browser: + +a) Some browsers allow you to save the file with the predefined name + export.csv. In case your browser does not offer this function please + use the 'Save as...' option and define the filename with extension + csv. + +b) Some browsers save the file automatically with the alphanumeric name + but without an extension. In such a case navigate to the downloaded + file location and rename the file. The extension (csv) must be + appended to the name. The result should look like 'export\_file.csv'. + +Table filters +------------- + +The following filters are supported by all tables based on the data type +of the column. + ++------------+------------------+------------+ +| Data type | Possible Filter | Example | ++============+==================+============+ +| Text | Any characters | Test, | +| | or numbers, | Tes\ \*, | +| | matches exactly | \*\ t | +| | unless a \* is | | +| | used. The \* | | +| | acts as a | | +| | wildcard and can | | +| | be used for | | +| | contains, ends | | +| | with and begins | | +| | with queries. | | ++------------+------------------+------------+ +| Numeric | < or <= or > or | >5000, 20, | +| | >= or exact | <=82 | +| | number | | ++------------+------------------+------------+ +| Boolean | None (no filter | true, | +| | set), true or | false | +| | false | | ++------------+------------------+------------+ diff --git a/docs/installation.rst b/docs/installation.rst new file mode 100644 index 0000000..7fe4daf --- /dev/null +++ b/docs/installation.rst @@ -0,0 +1,14 @@ +Installation +============ + +Below is the installation procedure for SDN-R Images and Configuration parameters + + +.. toctree:: + :maxdepth: 1 + + sdnr_WT_Service_Configuration_parameters + sdnr_Docker_Image_configuration + + + diff --git a/docs/inventory.rst b/docs/inventory.rst new file mode 100644 index 0000000..1acee6d --- /dev/null +++ b/docs/inventory.rst @@ -0,0 +1,36 @@ +.. contents:: + :depth: 3 +.. + +Inventory +========= + +The application offers basic inventory management of devices supporting +ONF-TR-512 and ietf-hardware. + +The view displays the inventory data of the network element – for +example, serial-numbers and part-numbers according to the containment of +the equipment. + +Inventory Export: +----------------- + +The '︙' button in the upper right corner of the table allows exporting +the inventory data as a CSV file. + +Only the currently viewed table data is exported. As the default +pagination is set to 10, only the first 10 rows or filtered rows would +be exported. To increase the number of exported rows change the +pagination. + +The behavior of the export can vary based on different browsers: + +a) Some browsers allow you to save the file with the predefined name + export.csv. In case your browser does not offer this function please + use the 'Save as...' option and define the filename with extension + csv. + +b) Some browsers save the file automatically with the alphanumeric name + but without an extension. In such a case navigate to the downloaded + file location and rename the file. The extension (csv) must be + appended to the name. The result should look like export\_file.csv. diff --git a/docs/maintenance.rst b/docs/maintenance.rst new file mode 100644 index 0000000..592cb49 --- /dev/null +++ b/docs/maintenance.rst @@ -0,0 +1,22 @@ +.. contents:: + :depth: 3 +.. + +Maintenance +=========== + +The 'Maintenance' application on OpenDaylight provides information about +planned maintenances of Network Elements, currently or in the future. +Users can manage devices to set the maintenance mode so that no +unnecessary alarms are created. When the device is in maintenance mode, +alarms are not forwarded to DCAE. As soon as the maintenance is +finished, the alarms will start flowing again. + +The 'active' field in the table shows if the Network Element is +currently in maintenance mode or not. If it is 'active' it means the +Network Element is currently undergoing maintenance, if 'not active' it +means maintenance might have been set for a future date or is already +completed. + +Users can disable the maintenance mode or change its start and end dates +by using the available options in the actions column. diff --git a/docs/mediator.rst b/docs/mediator.rst new file mode 100644 index 0000000..1dad777 --- /dev/null +++ b/docs/mediator.rst @@ -0,0 +1,19 @@ +.. contents:: + :depth: 3 +.. + +Mediator +======== + +Some device vendors (Altiostar, CommScope, Dragonwave-X) use the +`generic mediator +framework `__. Such mediators +offer an API to create, delete, start and stop mediator instances. + +New mediator servers can be added via the '+' button. Afterward, a +server can be selected to view all available mediator instances. + +A mediator instance can be started, stopped and deleted using the +available actions. Additionally, its details can be viewed. The '+' +button allows the user to add a new instance. During the creation, at +least one 'ODL auto connect' configuration must be added. diff --git a/docs/overview.rst b/docs/overview.rst index d01358d..d0bb5b3 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -5,13 +5,22 @@ OAM Operation and Maintenance Overview ====================================== -The O-RAN SC OAM provides administrative and operator +The O-RAN SC OAM project provides administrative and operator functions for O-RAN components, such as Near-Realtime-RAN-Inelegent-Controller, O-RAN Centralized Unit, O-RAN Distributed Unit and O-RAN Radio Unit. The project follows the specifications for the O1 interface as provided by O-RAN Working Group1. +The O-RAN-SC OAM project adds features and functions to the OpenDaylight-based ONAP +controller 'CCSDK/SDNC'. It is built on the Common Controller Framework +to control and manage O-RAN managed elements and O-RAN managed functions. + +.. figure:: ./_static/o-ran-architecture.png + :alt: SDN-R in ONAP + + SDN-R in ONAP + Project Resources ----------------- diff --git a/docs/performance.rst b/docs/performance.rst new file mode 100644 index 0000000..17e4a51 --- /dev/null +++ b/docs/performance.rst @@ -0,0 +1,26 @@ +.. contents:: + :depth: 3 +.. + +Performance +=========== + +Performance Monitoring values measured by the devices are necessary to +analyze and optimize the network. Therefore the application +automatically retrieves all historical performance values from the +devices and stores them in a database. The client retrieves the values +from the database and displays them in a graphical user interface. + +Performance history values +-------------------------- + +After selecting a connected PNF supporting ONF-TR-532 and a physical +interface, the application collects the received and centralized stored +performance values for this interface. + +The values are visualized using two views: a line chart and a table, +with the chart always shown first. To switch between them, toggle +buttons can be used. The chart view offers a filter to quickly limit the +shown values. To keep both views in sync, the filters of the chart and +the table are connected. If one view is filtered, the other one gets +updated in the background. diff --git a/docs/sdnr_Docker_Image_configuration.rst b/docs/sdnr_Docker_Image_configuration.rst new file mode 100644 index 0000000..5297a09 --- /dev/null +++ b/docs/sdnr_Docker_Image_configuration.rst @@ -0,0 +1,52 @@ +.. contents:: + :depth: 3 +.. + +SDN-R Docker Image configuration +================================ + +Introduction +~~~~~~~~~~~~ + +ONAP SDN-R is running in a docker container using ONAP/SDN-C image +"onap/sdnc". + +The container is available as Alpine and Ubuntu version. The description +uses examples for the Alpine version. + +The alpine based sdnc docker imanges are stored in \ `ONAP Nexus sdnc +image `__. + +The docker image contains a Opendaylight distribution in a standard +configuration and ONAP/SDN-R specific microservices. + +The Root location of ODL Karaf directory structure +is \ *ODL\_HOME=/opt/opendaylight.* + +During container provisioning the installation of the feature is done, +according to the provided configuration setting. + +The docker image configuration is done by + +- Specific Environment variables settings + +- Files that are provided + +Container startup parameters +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The SDN-R specific configurations are provided during container start.  + +Different SDN-R services are using different parameter to be installed. + ++------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------+ +| **Parameter** | **Content** | **Description** | ++==================+=====================+=========================================================================================================================+ +| SDNRWT | true\|\ **false** | Set true to activate sdnr wt featureset. Set this during container start. | +| | | | +| | | Devicemanager configuration is provided via *$ODL\_HOME/etc/devicemanager.properties* | +| | | | +| | | See  `SDN-R WT Service Configuration parameters `__ | ++------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------+ +| SDNRNORTHBOUND | true\|\ **false** | Set true to activate sdnr oofpci service. | ++------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------+ diff --git a/docs/sdnr_WT_Service_Configuration_parameters.rst b/docs/sdnr_WT_Service_Configuration_parameters.rst new file mode 100644 index 0000000..a27e511 --- /dev/null +++ b/docs/sdnr_WT_Service_Configuration_parameters.rst @@ -0,0 +1,118 @@ +.. contents:: + :depth: 3 +.. + +SDN-R WT Service Configuration parameters +========================================= + +ODL is operated as a cluster. The configuration settings must be the +same for each cluster node. + +- `Sections <#SDN-RWTServiceConfigurationparameters-S>`__ + + - `toggleAlarmFilter <#SDN-RWTServiceConfigurationparameters-t>`__ + - `devicemonitor <#SDN-RWTServiceConfigurationparameters-d>`__ + +Backgrounds regarding the container inter structure is described +in \ `SDN-R Docker Image configuration `__. + +The configuration information of sdnr wireless transport parameters are +in a single file. + +For different devicemanager services, like DeviceMonitor there  are +individual sections in the configuration file available. + +Configuration file location:  +***$ODL\_HOME/etc/devicemanager.properties*** + +If SDN-R WT is starting + +- and the file exists, the configuration is used.  +- if it does not exist it will be created with the default parameters. + +Below an example of the content. + +- Example + :: + + [toggleAlarmFilter] + taEnabled=true + taDelay=3000 + + [es] + esCluster=sdnr + esArchiveCheckIntervalSeconds=0 + esArchiveLifetimeSeconds=2592000 + + [dcae] + dcaeUrl=off + dcaeUserCredentials=admin:admin + dcaeHeartbeatPeriodSeconds=120 + + [aai] + aaiUrl=off + aaiUserCredentials= + aaiHeaders=["X-TransactionId: 9999"] + aaiDeleteOnMountpointRemove=false + aaiTrustAllCerts=false + aaiPropertiesFile= + aaiApiVersion=aai/v13 + aaiApplicationId=SDNR + aaiClientConnectionTimeout=30000 + aaiPcks12ClientCertFile= + aaiPcks12ClientCertPassphrase= + + [pm] + pmEnabled=true + pmCluster=sdnr + + [devicemonitor] + SeverityconnectionLossOAM=Major + SeverityconnectionLossMediator=Major + SeverityconnectionLossNeOAM=Major + +Sections +-------- + +toggleAlarmFilter +~~~~~~~~~~~~~~~~~ + +Configure toggle alarm filter. + +taEnabled=true taDelay=3000 + ++-----------------+---------------+---------------+----------------+------------------------------------------------------+ +| **Parameter** | **Values** | **Default** | **Unit** | **Description** | ++=================+===============+===============+================+======================================================+ +| taEnabled | true, false | false | | Enable or disable this service | ++-----------------+---------------+---------------+----------------+------------------------------------------------------+ +| taDelay | number | | milliseconds | Integration time to take over the new alarm status | ++-----------------+---------------+---------------+----------------+------------------------------------------------------+ + +devicemonitor +~~~~~~~~~~~~~ + +Configure alarm severity of related alarms, generated by Device Monitor. + +`SDNC-616 `__ - SDN-R WT app need to change alarm severity "Configurable" for ConnectionLossxxx alarm family (received from Mediator) , when it passed to DCAE VES collector. + + +Syntax: Parameter=Value + +Example: SeverityconnectionLossOAM=Major + ++----------------------------------+-----------------------------------------------+---------------+------------+--------------------------------------------------------------+ +| | **Values** | **Default** | **Unit** | **Description** | ++==================================+===============================================+===============+============+==============================================================+ +| SeverityconnectionLossOAM | NonAlarmed, Warning, Minor, Major, Critical | Major | | SDN-Controller <> Mediator | +| | | | | | +| | | | | Mountpoint monitoring. Indicates a not connected mounpoint | ++----------------------------------+-----------------------------------------------+---------------+------------+--------------------------------------------------------------+ +| SeverityconnectionLossMediator | NonAlarmed, Warning, Minor, Major, Critical | Major | | SDN-Controller <> NetworkElement | +| | | | | | +| | | | | Device monitoring. No LTPs provided | ++----------------------------------+-----------------------------------------------+---------------+------------+--------------------------------------------------------------+ +| SeverityconnectionLossNeOAM | NonAlarmed, Warning, Minor, Major, Critical | Major | | SDN-Controller <> NetworkElement | +| | | | | | +| | | | | Device monitoring. SSH Connetion, Core model not answering | ++----------------------------------+-----------------------------------------------+---------------+------------+--------------------------------------------------------------+ diff --git a/docs/user-guide.rst b/docs/user-guide.rst index 5e11de1..717674a 100644 --- a/docs/user-guide.rst +++ b/docs/user-guide.rst @@ -5,6 +5,13 @@ OAM User Guide ============== -This document provides a quickstart for users of the O-RAN SC O1 web application. +This document provides a quickstart for users of the O-RAN SC OAM web application. -Please see documentation of ODLUX Applications in ONAP: docs.onap.org/en/frankfurt/submodules/ccsdk/features.git/docs/guides/onap-user/applications.html \ No newline at end of file +.. toctree:: + :maxdepth: 1 + + general + applications + installation + faq + abbreviations \ No newline at end of file -- 2.16.6