From 15aad8c0f7a7bd5a77898fffc7e98b7d7e8a55db Mon Sep 17 00:00:00 2001 From: Saryu Shah Date: Thu, 9 Nov 2017 19:05:29 +0000 Subject: [PATCH] Documentation Features EELF and Healthcheck Documentation Features EELF and Healthcheck ------------------------------------------------------------- Change-Id: I1888340e6fc0b34c39fd232864b3c01ff683de7d Issue-Id: POLICY-335 Signed-off-by: Saryu Shah --- docs/platform/feature_eelf.rst | 52 +++++++++++++++ docs/platform/feature_healthcheck.rst | 117 ++++++++++++++++++++++++++++++++++ docs/platform/index.rst | 2 + 3 files changed, 171 insertions(+) create mode 100644 docs/platform/feature_eelf.rst create mode 100644 docs/platform/feature_healthcheck.rst diff --git a/docs/platform/feature_eelf.rst b/docs/platform/feature_eelf.rst new file mode 100644 index 000000000..7daeb76d0 --- /dev/null +++ b/docs/platform/feature_eelf.rst @@ -0,0 +1,52 @@ + +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +************************************************* +Feature: EELF (Event and Error Logging Framework) +************************************************* + +.. contents:: + :depth: 3 + +Summary +^^^^^^^ +The EELF feature provides backwards compatibility with R0 logging functionality. It supports the use of EELF/Common Framework style logging at the same time as traditional logging. + +.. seealso:: Additional information for EELF logging can be found at `EELF wiki`_. + +.. _EELF wiki: https://github.com/att/EELF/wiki + + +Usage +^^^^^ + +To utilize the eelf logging capabilities, first stop policy engine and then enable the feature using the "*features*" command. + + .. code-block:: bash + :caption: Enabling EELF Feature + + policy@hyperion-4:/opt/app/policy$ policy stop + [drools-pdp-controllers] + L []: Stopping Policy Management... Policy Management (pid=354) is stopping... Policy Management has stopped. + policy@hyperion-4:/opt/app/policy$ features enable eelf + name version status + ---- ------- ------ + controlloop-utils 1.1.0-SNAPSHOT disabled + healthcheck 1.1.0-SNAPSHOT disabled + test-transaction 1.1.0-SNAPSHOT disabled + eelf 1.1.0-SNAPSHOT enabled + state-management 1.1.0-SNAPSHOT disabled + active-standby-management 1.1.0-SNAPSHOT disabled + session-persistence 1.1.0-SNAPSHOT disabled + +The output of the enable command will indicate whether or not the feature was enabled successfully. + +Policy engine can then be started as usual. + + + +End of Document + +.. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/Feature+EELF + diff --git a/docs/platform/feature_healthcheck.rst b/docs/platform/feature_healthcheck.rst new file mode 100644 index 000000000..d66a514d7 --- /dev/null +++ b/docs/platform/feature_healthcheck.rst @@ -0,0 +1,117 @@ + +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +************************* +Feature: Healthcheck +************************* + +.. contents:: + :depth: 3 + +Summary +^^^^^^^ +The Healthcheck feature provides reports used to verify the health of *PolicyEngine.manager* in addition to the construction, operation, and deconstruction of HTTP server/client objects. + +Usage +^^^^^ + +When enabled, the feature takes as input a properties file named "*feature-healtcheck.properties*" (example below). This file should contain configuration properties necessary for the construction of HTTP client and server objects. + +Upon initialization, the feature first constructs HTTP server and client objects using the properties from its properties file. A healthCheck operation is then triggered. The logic of the healthCheck verifies that *PolicyEngine.manager* is alive, and iteratively tests each HTTP server object by sending HTTP GET requests using its respective client object. If a server returns a "200 OK" message, it is marked as "healthy" in its individual report. Any other return code results in an "unhealthy" report. + +After the testing of the server objects has completed, the feature returns a single consolidated report. + + + .. code-block:: bash + :caption: feature-healthcheck.properties + :linenos: + + ### + # ============LICENSE_START======================================================= + # feature-healthcheck + # ================================================================================ + # Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + # ================================================================================ + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # ============LICENSE_END========================================================= + ### + + http.server.services=HEALTHCHECK + http.server.services.HEALTHCHECK.host=0.0.0.0 + http.server.services.HEALTHCHECK.port=6969 + http.server.services.HEALTHCHECK.restClasses=org.onap.policy.drools.healthcheck.RestHealthCheck + http.server.services.HEALTHCHECK.managed=false + http.server.services.HEALTHCHECK.swagger=true + http.server.services.HEALTHCHECK.userName=healthcheck + http.server.services.HEALTHCHECK.password=zb!XztG34 + + http.client.services=PAP,PDP + + http.client.services.PAP.host=pap + http.client.services.PAP.port=9091 + http.client.services.PAP.contextUriPath=pap/test + http.client.services.PAP.https=false + http.client.services.PAP.userName=testpap + http.client.services.PAP.password=alpha123 + http.client.services.PAP.managed=true + + http.client.services.PDP.host=pdp + http.client.services.PDP.port=8081 + http.client.services.PDP.contextUriPath=pdp/test + http.client.services.PDP.https=false + http.client.services.PDP.userName=testpdp + http.client.services.PDP.password=alpha123 + http.client.services.PDP.managed=false + + +To utilize the healthcheck functionality, first stop policy engine and then enable the feature using the "*features*" command. + + .. code-block:: bash + :caption: Enabling Healthcheck feature + + policy@hyperion-4:/opt/app/policy$ policy stop + [drools-pdp-controllers] + L []: Stopping Policy Management... Policy Management (pid=354) is stopping... Policy Management has stopped. + policy@hyperion-4:/opt/app/policy$ features enable healthcheck + name version status + ---- ------- ------ + controlloop-utils 1.1.0-SNAPSHOT disabled + healthcheck 1.1.0-SNAPSHOT enabled + test-transaction 1.1.0-SNAPSHOT disabled + eelf 1.1.0-SNAPSHOT disabled + state-management 1.1.0-SNAPSHOT disabled + active-standby-management 1.1.0-SNAPSHOT disabled + session-persistence 1.1.0-SNAPSHOT disabled + + +The output of the enable command will indicate whether or not the feature was enabled successfully. + +Policy engine can then be started as usual. + +The Healthcheck can also be invoked manually as follows: + + .. code-block:: bash + :caption: Manual Healthcheck invokation + + + # Assuming the healthcheck service credentials have not been changed + # post-installation within the drools container + + source /opt/policy/config/drools/feature-healthcheck.conf + curl --silent --user "${HEALTHCHECK_USER}:${HEALTHCHECK_PASSWORD}" -X GET http://localhost:6969/healthcheck | python -m json.tool + + +End of Document + +.. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/Feature+Healthcheck diff --git a/docs/platform/index.rst b/docs/platform/index.rst index 740ce5939..5a1530167 100644 --- a/docs/platform/index.rst +++ b/docs/platform/index.rst @@ -16,5 +16,7 @@ Policy Engine Platform tutorial_vDNS.rst tutorial_VOLTE.rst feature_testtransaction.rst + feature_healthcheck.rst + feature_eelf.rst -- 2.16.6