From b6d890635786bf4c1937dd69f096984de2695628 Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Wed, 11 Oct 2017 11:59:33 +0800 Subject: [PATCH] Populate documentation for MSB Issue-Id: MSB-80, MSB-81, MSB-82 Change-Id: I97e1eed801c44b3c6906745f4e49c2579b549ace Signed-off-by: HuabingZhao --- docs/index.rst | 11 ++----- docs/platform/administration.rst | 15 +++++++++ docs/platform/architecture.rst | 32 +++++++++++++++++++ docs/platform/configuration.rst | 8 +++++ docs/platform/consumedapis.rst | 7 +++++ docs/platform/delivery.rst | 9 ++++++ docs/platform/human-interfaces.rst | 15 +++++++++ docs/platform/images/msb-architecture.PNG | Bin 0 -> 46033 bytes docs/platform/index.rst | 19 ++++++++++++ docs/platform/installation.rst | 49 ++++++++++++++++++++++++++++++ docs/platform/log-and-diagnostic-info.rst | 14 +++++++++ docs/{ => platform}/offeredapis.rst | 5 +-- docs/release-notes/bug-fixes.rst | 4 +++ docs/release-notes/index.rst | 15 +++++++++ docs/release-notes/known-issues.rst | 4 +++ docs/release-notes/new-features.rst | 4 +++ docs/release-notes/security-issues.rst | 4 +++ docs/release-notes/upgrade-notes.rst | 4 +++ 18 files changed, 209 insertions(+), 10 deletions(-) create mode 100644 docs/platform/administration.rst create mode 100644 docs/platform/architecture.rst create mode 100644 docs/platform/configuration.rst create mode 100644 docs/platform/consumedapis.rst create mode 100644 docs/platform/delivery.rst create mode 100644 docs/platform/human-interfaces.rst create mode 100644 docs/platform/images/msb-architecture.PNG create mode 100644 docs/platform/index.rst create mode 100644 docs/platform/installation.rst create mode 100644 docs/platform/log-and-diagnostic-info.rst rename docs/{ => platform}/offeredapis.rst (86%) create mode 100644 docs/release-notes/bug-fixes.rst create mode 100644 docs/release-notes/index.rst create mode 100644 docs/release-notes/known-issues.rst create mode 100644 docs/release-notes/new-features.rst create mode 100644 docs/release-notes/security-issues.rst create mode 100644 docs/release-notes/upgrade-notes.rst diff --git a/docs/index.rst b/docs/index.rst index 8219c32..453e146 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -5,17 +5,12 @@ MSB(Microservices Bus) Microservices Bus provide key infrastructure functionalities to support ONAP microservice architecture including service registration/discovery, service gateway, service load balancer and service governance. It's a pluggable architecture so it can be extended with plugins to provide value added services such as centralized authentication for APIs. Microservices Platform also provides a GUI portal for service management. -MSB comprises these modules: +This document is aimed to give the users some brief introductions on MSB from different aspects. The users could find useful information, e.g. the architecuture, the APIs and the installation steps, etc. as well as the release notes of MSB in this document. -- MSB - - Discovery - - API Gateway - - MSB SDK - - Swagger SDK .. toctree:: :maxdepth: 1 - offeredapis.rst - + platform/index.rst + release-notes/index.rst diff --git a/docs/platform/administration.rst b/docs/platform/administration.rst new file mode 100644 index 0000000..5213df7 --- /dev/null +++ b/docs/platform/administration.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Administration +-------------- + +Processes +^^^^^^^^^ +* Process 1 +* Process 2 + +Actions +^^^^^^^ +* Action X +* Action Y diff --git a/docs/platform/architecture.rst b/docs/platform/architecture.rst new file mode 100644 index 0000000..2fca78b --- /dev/null +++ b/docs/platform/architecture.rst @@ -0,0 +1,32 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Architecture +------------ + +Holmes comprises three modules: the rule management module, the engine management module and the data source adapter. + +- Holmes + - Rule Management Module + - Engine Management Module + - Data Source Adapter + +ONAP-level Architecture +^^^^^^^^^^^^^^^^^^^^^^^ + +Basically, Holmes itself is an independent component in ONAP, which means it could be deployed as an ONAP-level component. In the Amsterdam release, Holmes is more generally a DCAE analytic application. It is deployed by DCAE and run as an analytic application on top of it. Also, it could be considered as a filter of the Policy component because it reduces the number of the input messages of Policy. + +.. image:: images/overall-architecture-in-onap.png + +Holmes Architecture +^^^^^^^^^^^^^^^^^^^ + +Take a deep dive into Holmes, we could see it mainly consists of three modules, which are the rule management module, the engine management module and the data source adapter module respectively. + +The rule management module provides interfaces for the operations (e.g. creating, updating and deleting) on the rules. + +The data source adapter consists of subscribers and publishers, which are used to convert the data format into the one that could be digested by Holmes and vice versa. + +The engine management module is the core of Holmes. All the rules are deployed here. When alarms gets into Holmes, they will be pushed into the Drools engine and analyzed by the enabled rules one after another. When processing the alarms, a couple of attributes, such as the alarm name, the occurrence time of the alarm and so on, are utilized. Also, the topological information from A&AI is used in combination of the alarm attributes. After the root cause is identified, it will be converted into a control loop event and published to a specific DMaaP topic which is subscribed to by the Policy component. + +.. image:: images/holmes-architecture.png diff --git a/docs/platform/configuration.rst b/docs/platform/configuration.rst new file mode 100644 index 0000000..cedb443 --- /dev/null +++ b/docs/platform/configuration.rst @@ -0,0 +1,8 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Configuration +------------- + +No machanism for customized configurtions is provided in the Amsterdam release. Such functionalities will be provided in the future if necessary. + diff --git a/docs/platform/consumedapis.rst b/docs/platform/consumedapis.rst new file mode 100644 index 0000000..a5700b2 --- /dev/null +++ b/docs/platform/consumedapis.rst @@ -0,0 +1,7 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Consumed APIs +------------- + +In the Amsterdam release, MSB does not consume any APIs provided by other ONAP components. diff --git a/docs/platform/delivery.rst b/docs/platform/delivery.rst new file mode 100644 index 0000000..27b3770 --- /dev/null +++ b/docs/platform/delivery.rst @@ -0,0 +1,9 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Delivery +-------- + +Describe how functions are packaged into run-time components. For some components a block diagram may be useful. + +**TO BE DONE** \ No newline at end of file diff --git a/docs/platform/human-interfaces.rst b/docs/platform/human-interfaces.rst new file mode 100644 index 0000000..e8501d0 --- /dev/null +++ b/docs/platform/human-interfaces.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Human Interfaces +---------------- +Provide info on the targeted user, interface types, ports/protocols to access, etc. + +Target Users +^^^^^^^^^^^^ + +Interface Type +^^^^^^^^^^^^^^ + +Access +^^^^^^ \ No newline at end of file diff --git a/docs/platform/images/msb-architecture.PNG b/docs/platform/images/msb-architecture.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8485372fe47859a263bf511397faf040b854e616 GIT binary patch literal 46033 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