summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/readme.txt4
-rw-r--r--api/swagger.json242
-rw-r--r--docs/platform/architecture.rst2
-rw-r--r--docs/platform/configuration.rst2
-rw-r--r--docs/platform/delivery.rst4
-rw-r--r--docs/platform/human-interfaces.rst2
-rw-r--r--docs/platform/log-and-diagnostic-info.rst2
-rw-r--r--docs/release-notes.rst57
8 files changed, 303 insertions, 12 deletions
diff --git a/api/readme.txt b/api/readme.txt
new file mode 100644
index 0000000..756c360
--- /dev/null
+++ b/api/readme.txt
@@ -0,0 +1,4 @@
+Replace the original swagger.json with the new one.
+
+Repo: holmes/rule-management
+Path: rulemgt/src/main/resources
diff --git a/api/swagger.json b/api/swagger.json
new file mode 100644
index 0000000..ce9a693
--- /dev/null
+++ b/api/swagger.json
@@ -0,0 +1,242 @@
+{
+ "swagger" : "2.0",
+ "info" : {
+ "description" : "This page shows all the APIs available in the Holmes rule management module.",
+ "version" : "v1",
+ "title" : "API Descriptions for Holmes Rule Management",
+ "termsOfService" : "http://www.github.com/kongchen/swagger-maven-plugin",
+ "contact" : {
+ "name" : "Guangrong Fu",
+ "email" : "fu.guangrong@zte.com.cn"
+ },
+ "license" : {
+ "name" : "Apache 2.0",
+ "url" : "http://www.apache.org/licenses/LICENSE-2.0.html"
+ }
+ },
+ "basePath" : "/api/holmes-rule-mgmt/v1/",
+ "tags" : [ {
+ "name" : "Health Check"
+ }, {
+ "name" : "Holmes Rule Management"
+ } ],
+ "paths" : {
+ "/healthcheck" : {
+ "get" : {
+ "tags" : [ "Health Check" ],
+ "summary" : "Interface for the health check of the rule management module for Holmes",
+ "description" : "",
+ "operationId" : "healthCheck",
+ "produces" : [ "text/plain" ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ }
+ }
+ },
+ "/rule" : {
+ "get" : {
+ "tags" : [ "Holmes Rule Management" ],
+ "summary" : "Query rules using certain criteria.",
+ "description" : "",
+ "operationId" : "getCorrelationRules",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "queryrequest",
+ "in" : "query",
+ "description" : "A JSON string used as a query parameter, which comprises \"ruleId\"(optional), \"ruleName\"(optional), \"creator\"(optional), \"modifier\"(optional) and \"enabled\"(optional). E.g. {\"ruleId\":\"rule_1484727187317\"}",
+ "required" : false,
+ "type" : "string"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "$ref" : "#/definitions/RuleQueryListResponse"
+ }
+ }
+ }
+ },
+ "post" : {
+ "tags" : [ "Holmes Rule Management" ],
+ "summary" : "Update an existing rule; deploy it to the Drools engine if it is enabled.",
+ "description" : "",
+ "operationId" : "updateCorrelationRule",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "body",
+ "description" : "The request entity of the HTTP call, which comprises \"ruleId\"(required), \"content\"(required), \"enabled\"(required) and \"description\"(optional)",
+ "required" : true,
+ "schema" : {
+ "$ref" : "#/definitions/RuleUpdateRequest"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "$ref" : "#/definitions/RuleAddAndUpdateResponse"
+ }
+ }
+ }
+ },
+ "put" : {
+ "tags" : [ "Holmes Rule Management" ],
+ "summary" : "Save a rule into the database; deploy it to the Drools engine if it is enabled.",
+ "description" : "",
+ "operationId" : "addCorrelationRule",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "in" : "body",
+ "name" : "body",
+ "description" : "The request entity of the HTTP call, which comprises \"ruleName\"(required), \"loopControlName\"(required), \"content\"(required), \"enabled\"(required) and \"description\"(optional)",
+ "required" : true,
+ "schema" : {
+ "$ref" : "#/definitions/RuleCreateRequest"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "$ref" : "#/definitions/RuleAddAndUpdateResponse"
+ }
+ }
+ }
+ }
+ },
+ "/rule/{ruleId}" : {
+ "delete" : {
+ "tags" : [ "Holmes Rule Management" ],
+ "summary" : "Remove a rule from Holmes.",
+ "description" : "",
+ "operationId" : "deleteCorrelationRule",
+ "produces" : [ "application/json" ],
+ "parameters" : [ {
+ "name" : "ruleId",
+ "in" : "path",
+ "required" : true,
+ "type" : "string"
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "successful operation",
+ "schema" : {
+ "type" : "boolean"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions" : {
+ "RuleAddAndUpdateResponse" : {
+ "type" : "object",
+ "properties" : {
+ "ruleId" : {
+ "type" : "string"
+ }
+ }
+ },
+ "RuleCreateRequest" : {
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string"
+ },
+ "content" : {
+ "type" : "string"
+ },
+ "enabled" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "ruleName" : {
+ "type" : "string"
+ },
+ "loopControlName" : {
+ "type" : "string"
+ }
+ }
+ },
+ "RuleQueryListResponse" : {
+ "type" : "object",
+ "properties" : {
+ "correlationRules" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/definitions/RuleResult4API"
+ }
+ },
+ "totalCount" : {
+ "type" : "integer",
+ "format" : "int32"
+ }
+ }
+ },
+ "RuleResult4API" : {
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string"
+ },
+ "content" : {
+ "type" : "string"
+ },
+ "creator" : {
+ "type" : "string"
+ },
+ "modifier" : {
+ "type" : "string"
+ },
+ "enabled" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "ruleId" : {
+ "type" : "string"
+ },
+ "ruleName" : {
+ "type" : "string"
+ },
+ "createtime" : {
+ "type" : "string",
+ "format" : "date-time"
+ },
+ "updatetime" : {
+ "type" : "string",
+ "format" : "date-time"
+ },
+ "loopControlName" : {
+ "type" : "string"
+ }
+ }
+ },
+ "RuleUpdateRequest" : {
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string"
+ },
+ "content" : {
+ "type" : "string"
+ },
+ "enabled" : {
+ "type" : "integer",
+ "format" : "int32"
+ },
+ "ruleId" : {
+ "type" : "string"
+ },
+ "loopControlName" : {
+ "type" : "string"
+ }
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/docs/platform/architecture.rst b/docs/platform/architecture.rst
index 8a852e9..351f7af 100644
--- a/docs/platform/architecture.rst
+++ b/docs/platform/architecture.rst
@@ -4,7 +4,7 @@
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.
+Basically, Holmes itself is an independent component in ONAP, which means it could be deployed as an ONAP-level component. In the Beijing 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
diff --git a/docs/platform/configuration.rst b/docs/platform/configuration.rst
index cedb443..919b07e 100644
--- a/docs/platform/configuration.rst
+++ b/docs/platform/configuration.rst
@@ -4,5 +4,5 @@
Configuration
-------------
-No machanism for customized configurtions is provided in the Amsterdam release. Such functionalities will be provided in the future if necessary.
+No machanism for customized configurtions is provided in the Beijing release. Such functionalities will be provided in the future if necessary.
diff --git a/docs/platform/delivery.rst b/docs/platform/delivery.rst
index 5b2a0b1..f65b36e 100644
--- a/docs/platform/delivery.rst
+++ b/docs/platform/delivery.rst
@@ -5,11 +5,11 @@ Delivery
--------
Describe how functions are packaged into run-time components. For some components a block diagram may be useful.
-As mentioned in the architecture chapter, Holmes mainly comprises three modules: the rule management module, the engine management module and the data source adapter. But due to the imperfect implemetation of the DCAE platform, the engine management module and the data source adapter are hosted in a single docker. From this point of view, Holmes in the Amsterdam release actually consists of two main modules.
+As mentioned in the architecture chapter, Holmes mainly comprises three modules: the rule management module, the engine management module and the data source adapter. But due to the imperfect implemetation of the DCAE platform, the engine management module and the data source adapter are hosted in a single docker. From this point of view, Holmes in the Beijing release actually consists of two main modules.
* Rule Management Docker: The main operations on the rules are performed in this module. The module provides CRUD operation interfaces and is reponsible of the persistence of the rules as well.
-* Engine Management Docker: The Drools rules are actually deployed into the Drools engine which is embedded within the engine management module. The analysis tasks are excuted in this module as well. Ideally, the data source adapter is supposed to be running as a standalone docker and communicate with the engine management module via MQ (or any other message bus). But in the Amsterdam release, due to the limitation of the DCAE platform. These two modules are merged into one and interact with each other directy in the manner of Java API calls.
+* Engine Management Docker: The Drools rules are actually deployed into the Drools engine which is embedded within the engine management module. The analysis tasks are excuted in this module as well. Ideally, the data source adapter is supposed to be running as a standalone docker and communicate with the engine management module via MQ (or any other message bus). But in the Beijing release, due to the limitation of the DCAE platform. These two modules are merged into one and interact with each other directy in the manner of Java API calls.
* Common Library: The library hosts some supportive tools for both the rule management module and the engine management module. It is not run separately. Instead, it is introduced into the main modules of Holmes during the compile and package phase.
diff --git a/docs/platform/human-interfaces.rst b/docs/platform/human-interfaces.rst
index d73c6cc..4021206 100644
--- a/docs/platform/human-interfaces.rst
+++ b/docs/platform/human-interfaces.rst
@@ -7,7 +7,7 @@ Human Interfaces
Target Users
^^^^^^^^^^^^
-The human interfaces provided in the Amsterdam release by Holmes is intended for the developers rather than the end users.
+The human interfaces provided in the Beijing release by Holmes is intended for the developers rather than the end users.
Interface Type
^^^^^^^^^^^^^^
diff --git a/docs/platform/log-and-diagnostic-info.rst b/docs/platform/log-and-diagnostic-info.rst
index 53527f5..74c53db 100644
--- a/docs/platform/log-and-diagnostic-info.rst
+++ b/docs/platform/log-and-diagnostic-info.rst
@@ -4,7 +4,7 @@
Logging & Diagnostic Information
---------------------------------
-In the Amsterdam release, the logs are kept inside the docekr containers, which means that you can get the log information only when the docker is still running.
+In the Beijing release, the logs are kept inside the docekr containers, which means that you can get the log information only when the docker is still running.
Where to Access Information
^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/docs/release-notes.rst b/docs/release-notes.rst
index 2845e4b..35c1a32 100644
--- a/docs/release-notes.rst
+++ b/docs/release-notes.rst
@@ -14,18 +14,22 @@ ocean of events collected from different levels of the telecom cloud.
Version: 1.1.0
--------------
-:Release Date: 2018-05-24
+:Release Date: 2018-06-07
**New Features**
-In the Amsterdam release, Holmes is mainly intended to support the alarm
-correlation analysis for the VoLTE scenario. To get us there, Holmes provides
-the following features:
+In the Beijing release, Holmes provides no more functionalites than the Amsterdam release. Its main features remains like follows:
- `Rule Management <https://jira.onap.org/browse/HOLMES-4>`_ The feature provides interfaces for the users to create, query, update and delete rules. In this release, they are used along with the DCAE interfaces to accomplish the deployment (creation/update) of the control loop related rules.
- `Engine Management <https://jira.onap.org/browse/HOLMES-5>`_ The feature is not exposed to the end user directly. It's mainly used internally by Holmes as a container for the execution of rules. It provides interface for rule verification and deployment/un-deployment.
+Besides, Holmes has been enhanced to meet the platform maturity requirements. The enhancement mainly covers:
+
+- Scaling: Holmes supports horizontal scale-in/scale-out operations in case it is overloaded by too large amounts of data.
+
+- Security: Holmes has updated all its APIs to support the HTTPS protocol.
+
**Bug Fixes**
N/A
@@ -37,7 +41,14 @@ N/A
**Security Issues**
-Holmes is following the CII Best Practices Badge program. Most of its vulnerability issues have been fixed in Beijing Release except for the issues brought in by jackson-databind which is introduced indirectly by third-party dependencies (namely Dropwizard). The impact analysis can be found at `Holmes Security/Vulnerability Threat Impact Analysis <https://wiki.onap.org/pages/viewpage.action?pageId=28378012>`_
+HOLMES code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and determined to be false positive. The HOLMES open Critical security vulnerabilities and their risk assessment have been documented as part of the `project <https://wiki.onap.org/pages/viewpage.action?pageId=28378012>`_.
+
+Quick Links:
+ - `HOLMES project page <https://wiki.onap.org/display/DW/Holmes+Project>`_
+
+ - `Passing Badge information for HOLMES <https://bestpractices.coreinfrastructure.org/en/projects/1602>`_
+
+ - `Project Vulnerability Review Table for HOLMES <https://wiki.onap.org/pages/viewpage.action?pageId=28378012>`_
**Upgrade Notes**
@@ -51,7 +62,8 @@ Holmes is following the CII Best Practices Badge program. Most of its vulnerabil
**Deprecation Notes**
-N/A
+None of the HTTP APIs provided in the Amsterdam release are available in Beijing anymore.
+
**Other**
@@ -59,4 +71,37 @@ N/A
===========
+Version: 1.0.0
+--------------
+
+:Release Date: 2017-11-16
+
+
+**New Features**
+In the Amsterdam release, Holmes is mainly intended to support the alarm
+correlation analysis for the VoLTE scenario. To get us there, Holmes provides
+the following features:
+
+- `Rule Management <https://jira.onap.org/browse/HOLMES-4>`_ The feature provides interfaces for the users to create, query, update and delete rules. In this release, they are used along with the DCAE interfaces to accomplish the deployment (creation/update) of the control loop related rules.
+
+- `Engine Management <https://jira.onap.org/browse/HOLMES-5>`_ The feature is not exposed to the end user directly. It's mainly used internally by Holmes as a container for the execution of rules. It provides interface for rule verification and deployment/un-deployment.
+
+**Bug Fixes**
+
+This is the initial release.
+
+**Known Issues**
+
+If the database is not stable, there may be data/status inconsistency between the rule management module and the engine management module.
+
+**Security Issues**
+
+N/A
+
+**Upgrade Notes**
+
+This is the inital release.
+===========
+
+
End of Release Notes