Installing the IBM Cloud Pak for Data command-line interface

To install IBM Cloud Pak for Data software on your Red Hat® OpenShift® Container Platform cluster, you must install the Cloud Pak for Data command-line interface (cpd-cli) on the workstation from which you are running the installation commands.

Who needs to complete this task?
User Purpose
Cluster administrators
  • Required to create catalog sources and operator subscriptions.
  • Required to change node settings
Project administrators
  • Required to install IBM Cloud Pak for Data
  • Required to integrate with the IAM Service (if applicable)
Private container registry administrators Required to mirror images to the private container registry.
When do you need to complete this task?
You must complete this task on any workstation from which you plan to run installation commands.

You can also complete this task if you need to use the cpd-cli to complete other tasks, such as backing up and restoring your installation or managing users.

Before you begin

Ensure that the workstation meets the requirements in Setting up a client workstation.

About this task

Install the cpd-cli on a client workstation that can connect to your cluster.

Procedure

  1. Download Version 12.0.6 of the cpd-cli from the IBM/cpd-cli repository on GitHub.

    Ensure that you download the correct package based on the Cloud Pak for Data license that you purchased and the operating system on the client workstation:

    Workstation operating system Enterprise Edition Standard Edition
    Linux® cpd-cli-linux-EE-12.0.6.tgz cpd-cli-linux-SE-12.0.6.tgz
    Mac OS cpd-cli-darwin-EE-12.0.6.tgz cpd-cli-darwin-SE-12.0.6.tgz
    Windows

    You must download the Linux package and run it in Windows Subsystem for Linux:

    cpd-cli-linux-EE-12.0.6.tgz

    You must download the Linux package and run it in Windows Subsystem for Linux:

    cpd-cli-linux-SE-12.0.6.tgz
    Restriction: Do not download the Power® (ppc64le) or IBM Z® (s390x) packages if you plan to use the client to run an installation or upgrade. The cpd-cli manage commands cannot be run on these operating systems.
  2. Extract the contents of the package to the directory where you want to run the cpd-cli.
  3. On Mac OS, you must trust the following components of the cpd-cli:
    • cpd-cli
    • plugins/lib/darwin/config
    • plugins/lib/darwin/cpdbr
    • plugins/lib/darwin/cpdbr-oadp
    • plugins/lib/darwin/cpdctl
    • plugins/lib/darwin/cpdtool
    • plugins/lib/darwin/manage
    • plugins/lib/darwin/migrate
    • plugins/lib/darwin/platform-diag
    • plugins/lib/darwin/platform-mgmt
    For each component:
    1. Right-click the component and select Open.

      You will see a message with the following format:

      macOS cannot verify the developer of component-name. Are you sure you want to open it?
    2. Click Open.
  4. Best practice Make the cpd-cli executable from any directory.

    By default, you must either change to the directory where the cpd-cli is located or specify the fully qualified path of the cpd-cli to run the commands.

    However, you can make the cpd-cli executable from any directory so that you only need to type cpd-cli command-name to run the commands.

    Workstation operating system Details
    Linux Add the following line to your ~/.bashrc file:
    export PATH=<fully-qualified-path-to-the-cpd-cli>:$PATH
    Mac OS Add the following line to your ~/.bash_profile file:
    export PATH=<fully-qualified-path-to-the-cpd-cli>:$PATH
    Windows From the Windows Subsystem for Linux, add the following line to your ~/.bashrc file:
    export PATH=<fully-qualified-path-to-the-cpd-cli>:$PATH
  5. Best practice Determine whether you need to set any of the following environment variables for the cpd-cli
    CPD_CLI_MANAGE_WORKSPACE
    By default, the first time you run a cpd-cli manage command, the cpd-cli automatically creates the cpd-cli-workspace/olm-utils-workspace/work directory.

    The location of the directory depends on several factors:

    • If you made the cpd-cli executable from any directory, the directory is created in the directory where you run the cpd-cli commands.
    • If you did not make the cpd-cli executable from any directory, the directory is created in the directory where the cpd-cli is installed.

    You can set the CPD_CLI_MANAGE_WORKSPACE environment variable to override the default location.

    The CPD_CLI_MANAGE_WORKSPACE environment variable is especially useful if you made the cpd-cli executable from any directory. When you set the environment variable, it ensures that the files are located in one directory.

    Default value
    No default value. The directory is created based on the factors described in the preceding text.
    Valid values
    The fully qualified path where you want the cpd-cli to create the work directory. For example, if you specify /root/cpd-cli/, the cpd-cli manage plug-in stores files in the /root/cpd-cli/work directory.
    To set the CPD_CLI_MANAGE_WORKSPACE environment variable, run:
    export CPD_CLI_MANAGE_WORKSPACE=<fully-qualified-directory>
    OLM_UTILS_LAUNCH_ARGS
    If your environment includes certificates that the cpd-cli must use, you can use the OLM_UTILS_LAUNCH_ARGS environment variable to mount the certificates in the container that the cpd-cli uses.
    For example:
    CA certificates
    Mount CA certificates if you need to reach an external HTTPS endpoint that uses a self-signed certificate.
    Tip: Typically the CA certificates are in the /etc/pki/ca-trust directory on the workstation. If you need additional information on adding certificates to a workstation, run:
    man update-ca-trust
    Determine the correct argument for your environment:
    • If the certificates on the client workstation are in the /etc/pki/ca-trust directory, the argument is:

      " -v /etc/pki/ca-trust:/etc/pki/ca-trust"

    • If the certificates on the client workstation are in a different directory, replace <ca-loc> with the appropriate location on the client workstation:

      " -v <ca-loc>:/etc/pki/ca-trust"

    Kubernetes certificates
    Mount Kubernetes certificates if you need to use a certificate to connect to the Kubernetes API server.

    The argument depends on the location of the certificates on the client workstation. Replace <k8-loc> with the appropriate location on the client workstation:

    " -v <k8-loc>:/etc/k8scert --env K8S_AUTH_SSL_CA_CERT=/etc/k8scert"

    Default value
    No default value. The directory is created based on the factors described in the preceding text.
    Valid values
    The valid values depend on the arguments that you need to pass to the OLM_UTILS_LAUNCH_ARGS environment variable.
    • To pass CA certificates, specify:

      " -v <ca-loc>:/etc/pki/ca-trust"

    • To pass Kubernetes certificates, specify:

      " -v <k8-loc>:/etc/k8scert --env K8S_AUTH_SSL_CA_CERT=/etc/k8scert"

    • To pass both CA certificates and Kubernetes certificates, specify:

      " -v <ca-loc>:/etc/pki/ca-trust -v <k8-loc>:/etc/k8scert --env K8S_AUTH_SSL_CA_CERT=/etc/k8scert"

    To set the OLM_UTILS_LAUNCH_ARGS environment variable, run:
    export OLM_UTILS_LAUNCH_ARGS=" <arguments>"
    Important: If you set either of these environment variables, ensure that you add them to your installation environment variables script.
  6. Run the following command to ensure that the cpd-cli is installed and running and that the cpd-cli manage plug-in has the latest version of the olm-utils image.
    cpd-cli manage restart-container

Results

The cpd-cli-workspace directory includes the following sub-directories:

Directory What is stored in the directory?
olm-utils-workspace/work
  • The components.csv file, which is generated when you run the list-components command.
  • Log files generated by the mirror-images command.
olm-utils-workspace/work/offline The contents of this directory are organized by release. For example, if you download the CASE packages for Version 4.6.6, the packages are stored in the 4.6.6 directory.

In addition, the output of commands such as the list-images command are stored in the version-specific directories.