Difference between revisions of "PEC-REP/Current/GIMPEGuide/PlanningGSP"

From Genesys Documentation
Jump to: navigation, search
Line 11: Line 11:
  
 
For information about how to download the Helm charts, see {{SuiteLevelLink|helmchart}}.
 
For information about how to download the Helm charts, see {{SuiteLevelLink|helmchart}}.
 +
 +
{{JDNote|There are known differences between the content on pages in this GSP section and the PAT team instructions used as doc input. Some of the PAT team content (for example, details about how to create third-party storage) is intentionally excluded, while there are some corrections/additions in this doc that the PAT team may not have carried over. Before using PAT team input to update pages in this section, compare their new content against the May 10/22 version of [https://intranet.genesys.com/display/CPE/19.3.1+Deployment 19.3.1 Deployment], and only consider content added since then. Similarly for GCA and GIM.}}
 
|ThirdPartyStatus=No
 
|ThirdPartyStatus=No
 
|ThirdPartyText=For information about setting up your Genesys Multicloud CX private edition platform, see {{SuiteLevelLink|softwarereq}}.
 
|ThirdPartyText=For information about setting up your Genesys Multicloud CX private edition platform, see {{SuiteLevelLink|softwarereq}}.
Line 29: Line 31:
 
|StorageStatus=No
 
|StorageStatus=No
 
|StorageText=Like GCA, GSP uses S3-compatible storage to store data during processing. GSP stores data such as GSP checkpoints, savepoints, and high availability data. By default, GSP is configured to use Azure Blob Storage, but you can also use S3-compatible storage provided by other cloud platforms. Genesys expects you to use the same storage account for GSP and GCA.
 
|StorageText=Like GCA, GSP uses S3-compatible storage to store data during processing. GSP stores data such as GSP checkpoints, savepoints, and high availability data. By default, GSP is configured to use Azure Blob Storage, but you can also use S3-compatible storage provided by other cloud platforms. Genesys expects you to use the same storage account for GSP and GCA.
{{Section
 
|sectionHeading=
 
|anchor=S3
 
|alignment=Vertical
 
|structuredtext=To create S3-compatible storage, do one of the following:
 
 
*[[{{FULLPAGENAME}}#s3OpenShift|OpenShift: Create an Object Bucket Claim]]
 
*[[{{FULLPAGENAME}}#s3GKE|GKE: Create bucket storage]]
 
 
{{AnchorDiv|s3OpenShift}}
 
===OpenShift: Create an Object Bucket Claim===
 
Create an S3 Object Bucket Claim (OBC) if none exists.
 
  
#Create a '''gsp-obc.yaml''' file:
+
Follow the instructions provided by the storage service provider of your choice to create the S3-compatible storage. For example:
  
#:<source lang="bash">apiVersion: objectbucket.io/v1alpha1
+
*For OpenShift, see the OpenShift Data Foundation (formerly OpenShift Container Storage) documentation about creating an Object Bucket Claim (OBC). Note that you must install OpenShift container storage on your cluster and provision it with bucket storage such as NooBaa before you create an OBC.<!--(CPE-2460)-->
kind: ObjectBucketClaim
+
*For GKE, see the Google Cloud Storage documentation about creating bucket storage.
metadata:
 
  name: gim
 
  namespace: gsp
 
spec:
 
  generateBucketName: gim
 
  storageClassName: openshift-storage.noobaa.io</source>
 
#Execute the command to create the OBC:
 
#:<source lang="text">oc create -f gsp-obc.yaml -n gsp</source>
 
#: The following Kubernetes resources are created automatically:
 
#*:An ObjectBucket (OB), which contains the bucket endpoint information, a reference to the OBC, and a reference to the storage class.
 
#*A ConfigMap in the same namespace as the OBC, which contains the endpoint to which applications connect in order to consume the object interface
 
#*A Secret in the same namespace as the OBC, which contains the key-pairs needed to access the bucket.
 
#: Note the following:
 
#*The name of the secret and the configMap are the same as the OBC name.
 
#*The bucket name is created with a randomized suffix.
 
#Get S3 data.
 
#: You need to know details of your S3 object in order to populate Helm chart override values for the service.
 
##: Execute the following command, where <tt>gim</tt> is the name of the configMap associated with the OBC:
 
##: <source lang="text">oc get cm gim -n gsp -o yaml -o jsonpath={.data}</source>
 
##: The result shows data such as BUCKET_HOST, BUCKET_NAME, BUCKET_PORT, and so on.
 
## Execute the following commands to get the values of the keys you require for access, where <tt>gim</tt> is the name of the secret associated with the OBC:
 
##*To get the value of the access key:
 
##*:<source lang="text">oc get secret gim -n gsp -o yaml -o jsonpath={.data.AWS_ACCESS_KEY_ID} | base64 --decode</source>
 
##*To get the value of the secret key:
 
##*:<source lang="text">oc get secret gim -n gsp -o yaml -o jsonpath={.data.AWS_SECRET_ACCESS_KEY} | base64 --decode</source>
 
#: Use the S3 data to populate storage-related Helm chart override values for the service (for GSP, see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=ConfigureGSP|anchor=Storage|display text=Configure S3-compatible storage}}).
 
#: {{NoteFormat|You can also obtain the S3 data from the OpenShift console: Go to the '''Object bucket claims''' section under the '''Storage''' menu, and click on the required OBC resource. The data will be at the bottom of the page.|2}}
 
  
{{AnchorDiv|s3GKE}}
+
Genesys Info Mart has no special requirements for the storage buckets you create.
===GKE: Create bucket storage===
 
|Status=No
 
}}{{Section
 
|alignment=Horizontal
 
|Media=Image
 
|image=Pe_gsp_gcp-console_cloudstorage.png
 
|AltText=A screenshot of the GCP Cloud Console showing the Cloud Storage menu
 
|structuredtext=In the Google Cloud Platform (GCP) Cloud Console, select '''Cloud Storage''' and then choose '''Browser''' from the drop-down menu.
 
|Status=No
 
}}{{Section
 
|alignment=Horizontal
 
|Media=Image
 
|image=Pe_gsp_gcp-console_cloudstoragebrowser.png
 
|AltText=A screenshot of the GCP Cloud Console showing the Cloud Storage Browser screen
 
|structuredtext=On the '''Cloud Storage > Browser''' screen, click '''CREATE BUCKET'''.
 
|Status=No
 
}}{{Section
 
|alignment=Horizontal
 
|Media=Image
 
|image=Pe_gsp_gcp-console_cloudstoragecreatebucket.png
 
|AltText=A screenshot of the GCP Cloud Console showing the Cloud Storage Create Bucket screen
 
|structuredtext=On the '''Create a bucket''' screen, specify the bucket details:
 
*'''Name your bucket''' — Enter a unique name for the bucket.
 
*'''Choose where to store your data''' — Select the geo-redundancy type (multi-region, dual-region, or region) and location where the data will be stored. <!--{{Editgrn_open}}<font color=red>'''Writer's note:''' Can we provide a recommendation for type? The screenshot in the PAT team instructions shows Multi-region selected, but from the description on https://cloud.google.com/storage/docs/locations, wouldn't Region be better?</font>{{Editgrn_close}}-->
 
*:{{NoteFormat|You cannot change the location after the bucket is created.}}
 
*'''Choose a default storage class for your data''' — Select the Standard storage class.
 
*'''Choose how to control access to objects''' — Check the box to enforce public access prevention on this bucket, to protect the bucket from being accidentally exposed to the public. When you enforce public access prevention, no one can make data in applicable buckets public through IAM policies or ACLs.
 
*'''Choose how to protect object data''' — GSP does not require any protection tools.
 
  
Click '''CREATE BUCKET''' to create the bucket.
+
To enable the Genesys Info Mart service to access your S3-compatible storage object, you need to know details such as the endpoint information, access key, and secret, in order to populate Helm chart override values for the service (see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=ConfigureGSP|anchor=Storage|display text=Configure S3-compatible storage}}).
  
The '''Bucket details''' screen displays. Verify and, if necessary, edit the details.
+
{{NoteFormat|Note and securely store the bucket details, particularly the access key and secret, when you create the storage bucket. Depending on the cloud storage service you choose, you may not be able to recover this information subsequently.}}
 
 
<nowiki/>
 
|Status=No
 
}}{{Section
 
|alignment=Horizontal
 
|Media=Image
 
|image=Pe_gsp_gcp-console_cloudstoragesettings_interop.png
 
|AltText=A screenshot of the GCP Cloud Console showing the Cloud Storage Settings screen
 
|structuredtext=It is important to create a storage access key.
 
 
 
<!--{{Editgrn_open}}<font color=red>'''Writer's note:''' (1) Please esp. confirm step 2 because it doesn't exactly match the screenshot. Highlights flag other additions I made. (2) Given that GSP is not one of the first services to be deployed in a PE instance, it's surely likely that one or more service accounts will already exist. Do we have a recommendation about whether to use an existing service account or create a new one?</font>{{Editgrn_close}}-->
 
# Go to '''Settings > Interoperability'''.
 
# If the service account you want to use does not already exist, click '''CREATE A KEY FOR SERVICE ACCOUNT'''. Otherwise, click '''CREATE A KEY FOR ANOTHER SERVICE ACCOUNT,''' select the service account in the dialog box that displays, and click '''CREATE KEY'''.
 
#: '''Note:'''The service account is the GCP service account associated with the Google Cloud project. The GCP service account enables applications to authenticate and access Google Cloud resources and services. It is not related to the Kubernetes service account created by the Helm chart. Depending on how you want to organize your Google Cloud resources, you can have multiple GCP projects and service accounts.
 
|Status=No
 
}}{{Section
 
|alignment=Horizontal
 
|Media=Image
 
|image=Pe_gsp_gcp-console_cloudstoragesettings_accesskey.png
 
|AltText=A screenshot of the GCP Cloud Console showing the Cloud Storage New Service Account HMAC screen
 
|structuredtext=The Access Key and Secret are generated and displayed in a dialog box. Copy and securely save these details, which you use to populate storage-related Helm chart override values for the applicable service (see {{Link-SomewhereInThisVersion|manual=GIMPEGuide|topic=ConfigureGSP|anchor=Storage|display text=Configure S3-compatible storage}}).
 
{{NoteFormat|You cannot recover the Secret once the dialog box is closed.}}
 
|Status=No
 
}}
 
 
|NetworkStatus=No
 
|NetworkStatus=No
 
|NetworkText=No special network requirements. Network bandwidth must be sufficient to handle the volume of data to be transferred into and out of Kafka.
 
|NetworkText=No special network requirements. Network bandwidth must be sufficient to handle the volume of data to be transferred into and out of Kafka.
Line 145: Line 56:
  
 
The topics represent various data domains. If a topic does not exist, GSP will never receive data for that domain. If the topic exists but the customizable parameter value is empty in the GSP configuration, data from that domain will be discarded.
 
The topics represent various data domains. If a topic does not exist, GSP will never receive data for that domain. If the topic exists but the customizable parameter value is empty in the GSP configuration, data from that domain will be discarded.
 +
 +
{{JDNote|Uncomment the gsp-mn row when media-neutral is supported. Add a row for designer-das when SDR is supported (see [https://genesysjira.atlassian.net/browse/GIM-14103 GIM-14103]).}}
 
{{{!}}
 
{{{!}}
 
!'''Topic name'''
 
!'''Topic name'''
Line 162: Line 75:
 
{{!}}voice-outbound
 
{{!}}voice-outbound
 
{{!}}
 
{{!}}
{{!}}Name of the input topic with outbound (CX Contact) activity
+
{{!}}Name of the input topic with outbound (CX Contact) activity associated with either voice or digital interactions
 
{{!}}-
 
{{!}}-
 
{{!}}digital-itx
 
{{!}}digital-itx

Revision as of 13:10, August 15, 2022

This topic is part of the manual Genesys Info Mart Private Edition Guide for version Current of Reporting.

Find out what to do before deploying GIM Stream Processor (GSP).

Limitations and assumptions

Not applicable

Download the Helm charts

GIM Stream Processor (GSP) is the only service that runs in the GSP Docker container. The Helm charts included with the GSP release provision GSP and any Kubernetes infrastructure necessary for GSP to run.

See Helm charts and containers for Genesys Info Mart for the Helm chart version you must download for your release.

For information about how to download the Helm charts, see Downloading your Genesys Multicloud CX containers.

Third-party prerequisites

For information about setting up your Genesys Multicloud CX private edition platform, see Software requirements.

The following table lists the third-party prerequisites for GSP.

Third-party services
Name Version Purpose Notes
Kafka 2.x Message bus.The Kafka topics that GSP will consume and produce must exist in the Kafka configuration. See more details below.
Object storage Persistent or shared data storage, such as Amazon S3, Azure Blob Storage, or Google Cloud Storage.Both GSP and GCA require persistent storage to store data during processing. You can use the same storage account for both services.
A container image registry and Helm chart repository Used for downloading Genesys containers and Helm charts into the customer's repository to support a CI/CD pipeline. You can use any Docker OCI compliant registry.
Command Line Interface The command line interface tools to log in and work with the Kubernetes clusters.

Storage requirements

Like GCA, GSP uses S3-compatible storage to store data during processing. GSP stores data such as GSP checkpoints, savepoints, and high availability data. By default, GSP is configured to use Azure Blob Storage, but you can also use S3-compatible storage provided by other cloud platforms. Genesys expects you to use the same storage account for GSP and GCA.

Follow the instructions provided by the storage service provider of your choice to create the S3-compatible storage. For example:

  • For OpenShift, see the OpenShift Data Foundation (formerly OpenShift Container Storage) documentation about creating an Object Bucket Claim (OBC). Note that you must install OpenShift container storage on your cluster and provision it with bucket storage such as NooBaa before you create an OBC.
  • For GKE, see the Google Cloud Storage documentation about creating bucket storage.

Genesys Info Mart has no special requirements for the storage buckets you create.

To enable the Genesys Info Mart service to access your S3-compatible storage object, you need to know details such as the endpoint information, access key, and secret, in order to populate Helm chart override values for the service (see Configure S3-compatible storage).

Important
Note and securely store the bucket details, particularly the access key and secret, when you create the storage bucket. Depending on the cloud storage service you choose, you may not be able to recover this information subsequently.

Network requirements

No special network requirements. Network bandwidth must be sufficient to handle the volume of data to be transferred into and out of Kafka.

Browser requirements

Not applicable

Genesys dependencies

There are no strict dependencies between the Genesys Info Mart services, but the logic of your particular pipeline might require Genesys Info Mart services to be deployed in a particular order. Depending on the order of deployment, there might be temporary data inconsistencies until all the Genesys Info Mart services are operational. For example, GSP looks for the GCA snapshot when it starts; if GCA has not yet been deployed, GSP will encounter unknown configuration objects and resources until the snapshot becomes available.

There are other private edition services you must deploy before Genesys Info Mart. For detailed information about the recommended order of services deployment, see Order of services deployment.

GDPR support

Not applicable, provided your Kafka retention policies have not been set to more than 30 days. GSP does not store information beyond ephemeral data used during processing.

Kafka configuration

Unless Kafka has been configured to auto-create topics, ensure that the Kafka topics GSP requires have been created in the Kafka configuration. The following table shows the topic names GSP expects to use. An entry in the Customizable GSP parameter column indicates that GSP supports using a customized topic name. If you use customized topic names, you must override the applicable values in the values.yaml file (see Override Helm chart values).

The topics represent various data domains. If a topic does not exist, GSP will never receive data for that domain. If the topic exists but the customizable parameter value is empty in the GSP configuration, data from that domain will be discarded.


Topic name Customizable GSP parameter Description
GSP consumes the following topics:
voice-callthread Name of the input topic with voice interactions
voice-agentstate Name of the input topic with voice agent states
voice-outbound Name of the input topic with outbound (CX Contact) activity associated with either voice or digital interactions
digital-itx digitalItx Name of the input topic with digital interactions
digital-agentstate digitalAgentStates Name of the input topic with digital agent states
gca-cfg cfg Name of the input topic with configuration data
GSP produces the following topics:
gsp-ixn interactions Name of the output topic for interactions
gsp-sm agentStates Name of the output topic for agent states
gsp-outbound outbound Name of the output topic for outbound (CX Contact) activity
gsp-custom custom Name of the output topic for custom reporting
gsp-cfg cfg Name of the output topic for configuration reporting
Comments or questions about this documentation? Contact us for support!