From bd1de26f1e46c41b92ea7cdcc703af9372c6a278 Mon Sep 17 00:00:00 2001 From: Saryu Shah Date: Mon, 3 Jun 2019 16:23:04 +0000 Subject: Create Drools PDP documentation - features Create Drools PDP documentation in parent - features Change-Id: Ie710842a7921fd46ffdef4628d50637093111cc8 Issue-ID: POLICY-1678 Signed-off-by: Saryu Shah (cherry picked from commit f96ef833d3b00f84639b712579d6e2824e6063b4) --- docs/drools/feature_healthcheck.rst | 117 ++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 docs/drools/feature_healthcheck.rst (limited to 'docs/drools/feature_healthcheck.rst') diff --git a/docs/drools/feature_healthcheck.rst b/docs/drools/feature_healthcheck.rst new file mode 100644 index 00000000..a0793e92 --- /dev/null +++ b/docs/drools/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/app/policy/config/feature-healthcheck.conf.environment + curl -k --silent --user "${HEALTHCHECK_USER}:${HEALTHCHECK_PASSWORD}" -X GET https://localhost:6969/healthcheck | python -m json.tool + + +End of Document + +.. SSNote: Wiki page ref. https://wiki.onap.org/display/DW/Feature+Healthcheck -- cgit 1.2.3-korg