From 81d6e20912cf23c5b10cf5fa236b247f7d682903 Mon Sep 17 00:00:00 2001 From: Huabing Zhao Date: Sat, 2 Jun 2018 10:15:54 +0800 Subject: Release note Add release note for Beijing. Change-Id: I27c892c181bb5ca50843adefcb7d5b13dcdb1781 Issue-ID: HOLMES-136,DOC-271 Signed-off-by: Huabing Zhao Signed-off-by: Jessica Wagantall --- api/readme.txt | 4 + api/swagger.json | 242 ++++++++++++++++++++++++++++++ docs/platform/architecture.rst | 2 +- docs/platform/configuration.rst | 2 +- docs/platform/delivery.rst | 4 +- docs/platform/human-interfaces.rst | 2 +- docs/platform/log-and-diagnostic-info.rst | 2 +- docs/release-notes.rst | 58 ++++++- 8 files changed, 304 insertions(+), 12 deletions(-) create mode 100644 api/readme.txt create mode 100644 api/swagger.json 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 2fca78b..8fdda20 100644 --- a/docs/platform/architecture.rst +++ b/docs/platform/architecture.rst @@ -14,7 +14,7 @@ Holmes comprises three modules: the rule management module, the engine managemen 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 7c5b9ff..7acfde5 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.0.0 -------------- -:Release Date: 2017-11-16 +: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 `_ 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 `_ 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** This is the initial release. @@ -36,7 +40,15 @@ If the database is not stable, there may be data/status inconsistency between th **Security Issues** -N/A +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 `_. + +Quick Links: + - `HOLMES project page `_ + + - `Passing Badge information for HOLMES `_ + + - `Project Vulnerability Review Table for HOLMES `_ + **Upgrade Notes** @@ -44,7 +56,8 @@ This is the inital release. **Deprecation Notes** -N/A +None of the HTTP APIs provided in the Amsterdam release are available in Beijing anymore. + **Other** @@ -52,4 +65,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 `_ 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 `_ 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 -- cgit 1.2.3-korg