Validating your starter deployment

Instead of manually checking all the URLs and certificates that are created by your deployment, you can run a script to validate these objects automatically in a few minutes.

Before you begin

Make sure that your client machine can connect to the cluster you want to use, and has the necessary tools. Install the appropriate tools from the following list.

jq (a JSON processor open source tool)
  • On macOS:
    1. How to install jq.
      brew install jq
    2. Verify the installation.
      jq –version
      jq --help
  • On CentOS/RHEL:
    1. Install the EPEL Repository.
      sudo yum install epel-release
      
    2. Update the packages.
      sudo yum update
    3. Install jq.
      sudo yum install jq
    4. Verify the installation.
      jq --version
      jq --help

About this task

The post-installation script (cp4a-post-install.sh) is found in the cert-kubernetes repository. The script helps you to assess the readiness of your CP4BA deployment, and to retrieve and validate connection information to all its services. For more information about downloading cert-kubernetes, see Preparing for a starter deployment.

The cert-kubernetes/scripts/cp4a-post-install.sh script has four modes for a starter deployment type:

precheck
The precheck mode gets some basic information about the cluster, the console, and the client.
starterStatus
The starterStatus mode gets the status of all the components from the custom resource (Ready | Not Ready | Not Installed).
starterConsole
The starterConsole mode gets the console connection information from the URLs and credentials.
starterProbe
The starterProbe mode checks the readiness and health of the deployment endpoints.

The script can be run with the following options:

./cp4a-post-install.sh --help
   --precheck                This mode gives information about the cluster and the client.
   --starterStatus           This mode gives the status of the services of the CP4BA deployment. 
   --starterConsole          This mode gives the service URLs of the consoles in the CP4BA deployment.  
   --starterProbe            This mode checks the readiness of the deployment endpoints.

When you run the script in the starterStatus, starterConsole, or starterProbe mode, the commands display information about the Cloud Pak for Business Automation version and interim fix number of the installed CP4BA deployment. The output also includes the list of CP4BA capabilities that are installed.

If no CP4BA starter deployments are found on the cluster, then information about the cluster is displayed along with the following message:

No resources found for CP4BA Starter deployment types.

If no CP4BA starter deployments are found in the namespace in which you run the script, then information about the cluster is displayed along with the following message:

No CP4BA Starter deployment found in namespace NAMESPACE.

Procedure

  1. Make sure that you downloaded the cert-kubernetes repository to a Linux® based machine (CentOS Stream/RHEL/MacOS) or a client to a Linux-based machine.
  2. Make sure that you are in the scripts folder under cert-kubernetes.
  3. Log in to the target cluster as the <cluster-admin> user.

    Using the Red Hat OpenShift CLI:

    oc login https://<cluster-ip>:<port> -u <cluster-admin> -p <password>

    On ROKS, if you are not already logged in:

    oc login --token=<token> --server=https://<cluster-ip>:<port>
  4. Check the values for the environment variables in the scripts/helper/post-install/env.sh script under cert-kubernetes. .

    The variable that is the most important to check is for the foundational services namespace, as it can be customized and can be either cluster-scoped or namespace-scoped. The default value is set to ibm-common-services, which is for a cluster-scoped instance. If you installed foundational services in a namespace-scoped instance, you must change the value for your CP4BA deployment. The following example sets cp4ba-starter as the namespace-scoped instance.

    CP4BA_COMMON_SERVICES_NAMESPACE=cp4ba-starter
  5. Run the script in the "precheck" mode.
    ./cp4a-post-install.sh --precheck
  6. Run the script in the "starterStatus" mode.
    ./cp4a-post-install.sh --starterStatus
    The status of the listed components can be one of the following values:
    • Ready is used to indicate that the component is installed successfully and ready to use.
    • Not Ready is used to indicate that the component is not installed yet and is not ready to be used.
    • Not Installed is used to indicate that the component is not included in the CP4BA deployment.
    • Not found is used when the status value of the resource is missing. A Not found value usually indicates that the operator is changing the status.
  7. Run the script in the "starterConsole" mode.
    ./cp4a-post-install.sh --starterConsole

    The output provides valuable information about the available consoles, which can be shared and distributed to administrators and users who request access to the Cloud Pak for Business Automation capabilities.

  8. Run the script in the "starterProbe" mode to know whether you can access and send requests to the deployment endpoints.
    1. Add your values to the following parameters in the env.sh file, which is located under the scripts/helper/post-install folder.
      PROBE_USER_API_KEY
      A Platform API key that is generated for a specified user. For more information, see Generating API keys for authentication.
      PROBE_USER_NAME
      The name of the user in the API key. This user must have access rights to all the Cloud Pak for Business Automation applications.
      PROBE_USER_PASSWORD
      The basic authentication password of the user.
      PROBE_VERBOSE
      Can be empty or enabled with '-v' to include extra debugging information. Extra log information can be useful to determine why an endpoint is not ready to receive traffic.
    2. Then, run the following command:
      ./cp4a-post-install.sh --starterProbe
      Note: Keep in mind that when you run the probe, OpenShift sends traffic to the pods only if the probe succeeds.