Before you begin deploying RAA
Find out what to do before deploying Reporting and Analytics Aggregates (RAA).
Limitations and assumptions
The RAA container works with the Genesys Info Mart database; deploy RAA only after you have deployed Genesys Info Mart.
The Genesys Info Mart database schema must correspond to a compatible Genesys Info Mart version. Execute the following command to discover the required Genesys Info Mart release:
docker run -it --entrypoint /bin/java gcxi/raa:<IMAGE_VERSION> -jar GIMAgg.jar -version
RAA container runs RAA on Java 11, and is supplied with the following of JDBC drivers:
- MSSQL 9.2.1 JDBC Driver
- Postgres 42.2.11 JDBC Driver
- Oracle Database 21c (21.1) JDBC Driver
Genesys recommends that you verify whether the provided driver is compatible with your database, and if it is not, you can override the JDBC driver by copying an updated driver file to the folder lib\jdbc_driver_<RDBMS> within the mounted config volume, or by creating a co-named link within the folder lib\jdbc_driver_<RDBMS>, which points to a driver file stored on another volume (where <RDBMS> is the RDBMS used in your environment). This is possible because RAA is launched in a config folder, which is mounted in a container.
Download the Helm charts
To learn what Helm chart version you must download for your release, see Helm charts and containers for Genesys Customer Experience Insights.
You can download the gcxi helm charts from the following repository:
For more information about downloading containers, see: Downloading your Genesys Multicloud CX containers.
For information about setting up your Genesys Multicloud CX private edition platform, including Kubernetes, Helm, and other prerequisites, see Software requirements.
This section describes the storage requirements for various volumes.
GIM secret volume
In scenarios where raa.env.GCXI_GIM_DB__JSON is not specified, RAA mounts this volume to provide GIM connections details.
- Declare GIM database connection details as a Kubernetes secret in gimsecret.yaml:
apiVersion: v1 kind: Secret metadata: namespace: gcxi name: gim-secret type: kubernetes.io/service-account-token data: json_credentials: eyJqZGJjX3VybCI6ImpkYmM6cG9zdGdyZXNxbDovLzxob3N0Pjo1NDMyLzxnaW1fZGF0YWJhc2U+IiwgImRiX3VzZXJuYW1lIjoiPHVzZXI+IiwgImRiX3Bhc3N3b3JkIjoiPHBhc3N3b3JkPiJ9Cg==
- Reference gimsecret.yaml in values.yaml:
raa ... volumes: ... gimSecret: name: "gim-secret-volume" secretName: "gim-secret" jsonFile: "json_credentials" ...
Alternatively, you can mount the CSI secret using secretProviderClass, in values.yaml:
raa ... volumes: ... gimSecret: name: "gim-secret-volume" secretProviderClass: "gim-secret-class" jsonFile: "json_credentials" ...
RAA mounts a config volume inside the container, as the folder /genesys/raa_config. The folder is treated as a work directory, RAA reads the following files from it during startup:
- conf.xml, which contains application-level config settings.
- custom *.ss files.
- JDBC driver, from the folder lib/jdbc_driver_<RDBMS>.
RAA does not normally create any files in /genesys/raa_config at runtime, so the volume does not require a fast storage class. By default, the size limit is set to 50 MB. You can specify the storage class and size limit in values.yaml:
raa ... volumes: ... config: capacity: 50Mi storageClassName: "<vendor storage class>"
RAA helm chart creates a Persistent Volume Claim (PVC). You can define a Persistent Volume (PV) separately using the gcxi-raa chart, and bind such a volume to the PVC by specifying the volume name in the raa.volumes.config.pvc.volumeName value, in values.yaml:
raa ... volumes: ... config: pvc: volumeName: "my_raa_config_volume" ...
RAA uses the Health volume to store:
- Health files.
- Prometheus file containing metrics for the most recent 2-3 scrape intervals.
- Results of the most recent testRun init container execution.
By default, the volume is limited to 50MB. RAA periodically interacts with the volume at runtime, so Genesys does not recommend a slow storage class for this volume. You can specify the storage class and size limit in values.yaml:
raa ... volumes: ... health: capacity: 50Mi storageClassName: "<vendor storage class>" ...
RAA helm chart creates a PVC. You can define a PV separately using the gcxi-raa chart, and bind such a volume to the PVC by specifying the volume name in the raa.volumes.health.pvc.volumeName value, in values.yaml:
raa ... volumes: ... health: pvc: volumeName: "my_raa_helath_volume" ...
RAA interacts only with the Genesys Info Mart database.
RAA can expose Prometheus metrics by way of Netcat.
The aggregation pod has it's own IP address, and can run with one or two running containers. For Helm test, an additional IP address is required -- each test pod runs one container.
Genesys recommends that RAA be located in the same region as the Genesys Info Mart database.
RAA secret information is defined in the values.yaml file (line 89).
For information about configuring arbitrary UID, see Configure security.
RAA interacts with Genesys Info Mart database only.