Provision CX Contact

From Genesys Documentation
Jump to: navigation, search
This topic is part of the manual Outbound (CX Contact) Private Edition Guide for version Current of Outbound (CX Contact).

Prerequisites

Before you begin to provision tenants in CX Contact, ensure the following prerequisites are met:

  • Ensure CX Contact is deployed. See Deploy CX Contact.
  • Ensure the tenant exists in the GWS environment. For example, on the local machine, enter:
    $ curl -u <user> <pass> https://<gauth-url>/environment/v3/environments
    Here's a sample output:
    {
        "status": {
            "code": 0
        },
        "data": {
            "genesysEnvironments": [
                {
                    "id": "9350e2fc-a1dd-4c65-8d40-1f75a2e080dd",
                    "tenant": "Environment",
                    "appName": "Cloud",
                    "username": "default",
                    "password": "password",
                    "connectionProtocol": "addp",
                    "localTimeout": 5,
                    "remoteTimeout": 7,
                    "traceMode": "CFGTMBoth",
                    "tlsEnabled": false,
                    "configServers": [
                        {
                            "primaryAddress": "tenant-9350e2fc-a1dd-4c65-8d40-1f75a2e080dd.voice.svc.cluster.local",
                            "primaryPort": 8888,
                            "readOnly": false,
                            "locations": "/USW1",
                            "readFromDb": false,
                            "useConfigExporter": false,
                            "initDb": false
                        }
                    ],
                    "proxyPort": 0
                }
            ]
        }
    }

  • Ensure the "cxc" Helm release is deployed (during installation of CX Contact). For example:
    Cxc namespace Helm.png

Tenant provisioning

To provision tenants, you'll use the same Helm Charts as you used when deploying CX Contact, adding one additional overriding values YAML file. You should still use the same base override values file (override_values.yaml) that you used when deploying CX Contact.

Important
The primary_host parameter represents the primary Configuration Server's domain name within the cluster. It's important that this parameter is configured correctly, as it must match the configServers.primaryAddress parameter in the GWS environment (see Prerequisites) to ensure the Helm Chart uses the existing environment and environment ID.
  1. Prepare the provisioning_values.yaml file, as follows:
    # CXContact Tenant Provisioning configuration
    tenant_provisioning:
      enabled: true
      # Basic Authentication for GWS Services. Required if `create_auth_client: true` or `create_environment: true`.
      # Should be plain text
      gws_basic_auth_user: ops
      gws_basic_auth_pass: ops
      # Tenants list, that should be configured by CXC Tenant Provisioning. May contain multiple tenants
      tenants:
        # Tenant 0
        - configserver:
            # if set to 'true' - will create environment if it doesn't exist. Else will re-use existing.
            # if set to 'false' - will NOT create environment if it doesn't exist. Will use existing.
            create_environment: true
            # should be unique
            primary_host:
     
            primary_port: 8888
            backup_host:
            backup_port:
            # Username and Password that will be used for creation of environment. Should exist.
            username: default
            password: password
            # Configserver location e.g /USW1
            # corresponds to gws_configuration ENV GWS_CONFIGURATION_COMMON_LOCATION
            location: /USW1
            # GWS Server application name. Standard name is `CloudCluster`
            server_app_name: CloudCluster
            # GWS Client application name for GWS Connection. Standard name is `Cloud`
            client_app_name: Cloud
            # Outbound Contact Server Application Name
            ocs_name: OCS
            # Database Access Point Application Name
            ocs_dap_name: OCSDAP
            # CXContact requires set of options to be configured for OCS and CloudCluster applications.
            # Will not update app options if set to false.
            update_app_options: true
          # The short tenant name (for example 22-06), should be unique
          short_tenant_name: ten100
          # The customer name (for example cxc), should be unique
          customer_name: Tenant100
          # Domain, will be used for login, should be unique
          domain: t100
  2. Validate the Helm Chart and values. Enter:
    $ helm template cxc ./cxcontact-<chart_version>.tgz -f override_values.yaml -f provisioning_values.yaml
  3. Upgrade the existing CX Contact Helm deployment with provisioning using the values file that you've just prepared. Enter:
    $ helm upgrade cxc ./cxcontact-<chart_version>.tgz -f override_values.yaml -f provisioning_values.yaml
  4. If you encounter errors, verify the input values, YAML files syntax, and your Kubernetes context.
Tip
As long as there are no changes to the override values, you can rerun the provisioning multiple times for the same tenant. It will not affect the CX Contact deployment or corrupt tenant's configuration.

Validate tenant provisioning

At the end of the installation, be sure to check the Helm Chart output. It will provide the status and other information about where to log in to the CX Contact UI. In addition to the standard CX Contact installation output you will see the following provisioning information:
Following tenants were provisioned:
 
0) tenant-9350e2fc-a1dd-4c65-8d40-1f75a2e080dd.voice.svc.cluster.local
Domain for login to this tenant: t100
Test Username: t100\cxc_genesys@Tenant100.com
Provisioning logs can be accessed via `kubectl logs` command:
    $ kubectl -n cxc logs -f -l job-name=cxc-provisioning-0 -c cxc-provi
sioning --tail 9999
 
* Password is configured in helm cxc overrides, see variable configserver.user_password

Recommendations

Finally, note the following recommendations:

  • In addition to the above validation, you can also use the OpenShift Management Console to view the provisioning pod logs.
  • Use the OpenShift Administration Console to check the statuses of Events and Pods. The Pods should be up and running.
  • Log in to the CX Contact UI using the URL from the Helm Chart output above and the provisioned tenant's Administrator credentials.
  • Check the CX Contact About > Versions page, which contains the health statuses of the CX Contact components. They should all be green.
  • Check CX Contact Analytics page, which should show your successful log in.
  • Try to create a test Contact List. If you do it right, CX Contact will display a confirmation message that you were successful.
Comments or questions about this documentation? Contact us for support!