Difference between revisions of "Draft: PEC-REP/Current/RAAPEGuide/Planning"

From Genesys Documentation
Jump to: navigation, search
(undefined (Saved using "Save and continue" button in form))
Line 14: Line 14:
 
The RAA Helm chart includes two explicit init containers:
 
The RAA Helm chart includes two explicit init containers:
  
* '''configDelivery init''' -- this container delivers required XML configuration and *.SS files in the RAA working directory. Those files must be available in a GZIP archive, encoded as base64, which must be passed using the Helm install/update option '''--set-file raa.deployment.configTar=config.tar.gz.b64'''. Default '''conf.xml''' and '''user-data-map.ss''' are supplied with the Helm chart. If a GZIP archive is not specified by the '''--set-file''' option, the init container copies them into the working directory (unless they are already present). <br/> The configDelivery init container is optional, and is disabled by default; when it is disabled, you can create RAA configuration files in the mounted config volume. The configDelivery init container makes sense when access to the mounted working directory is restricted for any reason -- often for security reasons, or due to use of ephemeral storage for the configuration volume.
+
*'''configDelivery''' -- this container delivers required XML configuration and *.SS files in the RAA working directory. Those files must be available in a GZIP archive, encoded as base64, which must be passed using the Helm install/update option '''--set-file raa.deployment.configTar=config.tar.gz.b64'''. Default '''conf.xml''' and '''user-data-map.ss''' are supplied with the Helm chart. If a GZIP archive is not specified by the '''--set-file''' option, the init container copies them into the working directory (unless they are already present). <br />The configDelivery init container is optional, and is disabled by default; when it is disabled, you can create RAA configuration files in the mounted config volume. The configDelivery init container makes sense when access to the mounted working directory is restricted for any reason -- often for security reasons, or due to use of ephemeral storage for the configuration volume.<br/>You must specify a container name value to enable configDelivery container:<br/> '''myvalues.yaml'''
 
 
A container name value should be specified to enable configDelivery container.
 
 
 
'''myvalues.yaml'''
 
 
<source lang="bash">raa:
 
<source lang="bash">raa:
 
   ...
 
   ...
Line 27: Line 23:
 
       configDelivery:
 
       configDelivery:
 
         name: "{{ $.Chart.Name }}-conf-delivery"</source>
 
         name: "{{ $.Chart.Name }}-conf-delivery"</source>
===testRun init container===
 
testRun - executes all the aggregations on an empty time range. Such the step allows to detect configuration and customisation mistakes before staring the real aggregations because SQL execution (even on empty data) checks the presence of involved tables and columns. This init container is optional and enabled by default. Set testRun empty (nothing after colon) in container section of your values.yaml to disable it.
 
  
'''myvalues.yaml'''
+
* '''testRun''' -- this container executes all the aggregations on an empty time range. This helps to quickly detect configuration and customization problems -- SQL execution (even on empty data) checks the presence of involved tables and columns. The testRun init container is optional, and is enabled by default. To disable the container, set testRun: with no value in the container section of your myvalues.yaml:<br/> '''myvalues.yaml'''
 
<source lang="bash">raa:
 
<source lang="bash">raa:
 
   ...
 
   ...
Line 40: Line 34:
 
         name: "{{ $.Chart.Name }}-test-run"</source>
 
         name: "{{ $.Chart.Name }}-test-run"</source>
 
==Pod containers==
 
==Pod containers==
RAA has a couple of execution containers:
+
RAA has two execution containers:
 
 
===aggregation container===
 
aggregation is a required container which does the aggregation work. Only container name is specified in values.yaml.
 
  
'''myvalues.yaml'''
+
* '''aggregation''' -- this container does the aggregation work. It is a required container, and only the container name is specified in values.yaml.:<br/> '''myvalues.yaml'''
 
<source lang="bash">raa:
 
<source lang="bash">raa:
 
   ...
 
   ...
Line 54: Line 45:
 
         name: "{{ $.Chart.Name }}"
 
         name: "{{ $.Chart.Name }}"
 
       ...</source>
 
       ...</source>
===monitor container===
 
monitor is an optional sidecar container which allows execution of RAA tool from file with parameters placed in a work dir (see  GCXI-4052 - Add an ability to execute RAA tools in azure without kubectl exec CLOSED ). The function makes sense when kubeclt exec is not allowed by security or other reasons. The container also exposes two ports for scraping of aggregation metrics and health metric by Prometheus or other monitoring tool. Monitor container is optional and disabled by default.
 
  
'''myvalues.yaml'''
+
* '''monitor''' -- this container allows execution of RAA tool from file, using with parameters placed in the working directory. Use this function when  the kubeclt exececutable is not available in yoru environment; for example, for security reasons. The monitor container also exposes two ports to enable scraping of aggregation metrics and health metric by Prometheus, or other monitoring tools. Monitor container is optional and disabled by default. Set values for '''monitor:''' as follows:<br/> '''myvalues.yaml'''
 
<source lang="bash">raa:
 
<source lang="bash">raa:
 
   ...
 
   ...
Line 80: Line 69:
 
       ...</source>
 
       ...</source>
 
==Test containers==
 
==Test containers==
There is a couple of test containers for helm test command. They are listed below according to execution order:
+
RAA includes two test containers for the Helm test command. They bust be executed in the following order:
 
 
===testRunCheck container===
 
testRunCheck waits for execution of testRun init container (if it is still running) and returns a result of test execution. The test is optional and enabled by default. It should be enabled with  testRun init container only. Set testRunCheck empty (nothing after colon) in testPod section of your values.yaml to disable it.
 
  
'''myvalues.yaml'''
+
# '''testRunCheck''' -- this container waits for execution of the testRun init container, and returns a result of test execution. The test is optional, and enabled by default. Enable it only when you plan to run the testRun init container; otherwise, disable it by setting testRunCheck: with no value in the testPod section of your values.yaml, as follows:<br/> '''myvalues.yaml'''
 
<source lang="bash">raa:
 
<source lang="bash">raa:
 
   ...
 
   ...
Line 104: Line 90:
 
         "helm.sh/hook-delete-policy": "before-hook-creation"
 
         "helm.sh/hook-delete-policy": "before-hook-creation"
 
       ...</source>
 
       ...</source>
===healthChek test container===
 
healthCheck executes and returns status of healthCheck. It also prints the content of current configuration files and health files to standard output. The test is optional and enabled by default. Set healthCheck empty (nothing after colon) in testPod section of your values.yaml to disable it.
 
  
'''myvalues.yaml'''
+
# healthChek -- this container executes and returns status of healthCheck, and prints the content of current configuration files and health files to standard output. The test is optional and enabled by default. To disable this test, set healthCheck: with no value in the testPod section of your values.yaml , as follows:<br/> '''myvalues.yaml'''
 
<source lang="bash">raa:
 
<source lang="bash">raa:
 
   ...
 
   ...

Revision as of 18:20, June 16, 2021

This is a draft page; it has not yet been published.


Find out what to do before deploying Reporting and Analytics Aggregates (RAA).

Related documentation: