From 094373650f9c7ed2c4ff599b9fd0351661456bed Mon Sep 17 00:00:00 2001 From: Guangrong Fu Date: Tue, 10 Oct 2017 10:14:05 +0800 Subject: [PATCH] Add New Documents Change-Id: I7f5eb4b89414957cc353da37d1d342ebdfd5d43a Issue-ID: HOLMES-66 Signed-off-by: Guangrong Fu --- docs/index.rst | 12 ++------ 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/holmes-architecture.png | Bin 0 -> 17965 bytes .../images/overall-architecture-in-onap.png | Bin 0 -> 43459 bytes docs/platform/index.rst | 18 ++++++++++++ docs/platform/installation.rst | 5 ++++ docs/platform/log-and-diagnostic-info.rst | 14 +++++++++ docs/{ => platform}/offeredapis.rst | 0 docs/release-notes/bug-fixes.rst | 4 +++ 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, 146 insertions(+), 9 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/holmes-architecture.png create mode 100644 docs/platform/images/overall-architecture-in-onap.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 (100%) create mode 100644 docs/release-notes/bug-fixes.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 c7887dd..692003c 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,18 +3,12 @@ Holmes ------------------------------------------------ -Holmes provides alarm correlation and analysis for Telecom cloud infrastructure and services, including hosts, vims, VNFs and NSs. Holmes aims to find the root reason which causes the failure or degradation of services by digging into the ocean of events collected from different levels of the Telecom cloud. - -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 +This document is aimed to give the users some brief introductions on Holmes 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 Holmes in this document. .. 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..a32790f --- /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 \ No newline at end of file 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..f6eebb0 --- /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 +------------- + +References to APIs offered by other components \ No newline at end of file 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/holmes-architecture.png b/docs/platform/images/holmes-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..b2bd2a976f1ad56d0057b6f785de9b0b7b81aaf4 GIT binary patch literal 17965 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 SSQVfH^tFx8=l$t;^M3%f17v#u literal 0 HcmV?d00001 diff --git a/docs/platform/index.rst b/docs/platform/index.rst new file mode 100644 index 0000000..19742bb --- /dev/null +++ b/docs/platform/index.rst @@ -0,0 +1,18 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Holmes +------------------------------------------------ + +Holmes provides alarm correlation and analysis for Telecom cloud infrastructure and services, including hosts, vims, VNFs and NSs. Holmes aims to find the root reason which causes the failure or degradation of services by digging into the ocean of events collected from different levels of the Telecom cloud. + +.. toctree:: + :maxdepth: 1 + + architecture.rst + offeredapis.rst + delivery.rst + log-and-diagnostic-info.rst + installation.rst + configuration.rst + administration.rst + human-interfaces.rst \ No newline at end of file diff --git a/docs/platform/installation.rst b/docs/platform/installation.rst new file mode 100644 index 0000000..7926680 --- /dev/null +++ b/docs/platform/installation.rst @@ -0,0 +1,5 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + + +Installation +------------ diff --git a/docs/platform/log-and-diagnostic-info.rst b/docs/platform/log-and-diagnostic-info.rst new file mode 100644 index 0000000..4561eab --- /dev/null +++ b/docs/platform/log-and-diagnostic-info.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Logging & Diagnostic Information + + +Description of how to interact with and diagnose problems with the components as delivered. + +Where to Access Information +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +Error / Warning Messages +^^^^^^^^^^^^^^^^^^^^^^^^ \ No newline at end of file diff --git a/docs/offeredapis.rst b/docs/platform/offeredapis.rst similarity index 100% rename from docs/offeredapis.rst rename to docs/platform/offeredapis.rst diff --git a/docs/release-notes/bug-fixes.rst b/docs/release-notes/bug-fixes.rst new file mode 100644 index 0000000..4dc09fc --- /dev/null +++ b/docs/release-notes/bug-fixes.rst @@ -0,0 +1,4 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Bug Fixes +--------- diff --git a/docs/release-notes/known-issues.rst b/docs/release-notes/known-issues.rst new file mode 100644 index 0000000..f4341d7 --- /dev/null +++ b/docs/release-notes/known-issues.rst @@ -0,0 +1,4 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Known Issues +------------ diff --git a/docs/release-notes/new-features.rst b/docs/release-notes/new-features.rst new file mode 100644 index 0000000..f548910 --- /dev/null +++ b/docs/release-notes/new-features.rst @@ -0,0 +1,4 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +New Features +------------ diff --git a/docs/release-notes/security-issues.rst b/docs/release-notes/security-issues.rst new file mode 100644 index 0000000..3a6cd9e --- /dev/null +++ b/docs/release-notes/security-issues.rst @@ -0,0 +1,4 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Security Issues +--------------- diff --git a/docs/release-notes/upgrade-notes.rst b/docs/release-notes/upgrade-notes.rst new file mode 100644 index 0000000..29e67e5 --- /dev/null +++ b/docs/release-notes/upgrade-notes.rst @@ -0,0 +1,4 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. + +Upgrade Notes +------------- -- 2.16.6