IBMPartnerDemo

View project on GitHub

significantly# Install instructions for Cloud Pak for Data (work in progress)

The AI Ladder and how Cloud Pak for Data

Provision the Control plane using IBM Cloud tile

  1. Click Catalog
  2. Click Software
  3. Filter on Analytics or In the search box enter Cloud Pak and press enter. This should list the available Cloud Paks that can be provisioned. In these instructions, you are going to install Cloud Pak for Data.
  4. Click on the Cloud Pak for Data tile.
  5. Click on the Readme tab to review what you can provision using Schematics (Terraform).

Back to Table of Contents

Building the configuration

  1. On the create tab, this is where we will build the configuration of the Cloud Pak for Data clusters
  2. First section describes the bare minimum configuration. For Cloud Pak for Data it is as follows. Each cluster must meet a set of minimum requirements: 3 nodes with 16 cores, 64GB memory, and 25GB disk per node. As I know I want to add Db2 Warehouse and provision a Data Virtualization instance, I will start with 4 node OpenShift cluster. As I add more features, I am needing more capacity when I provision the instance.
  3. Select the cluster that was previously created. Where you created project zen.
  4. Select the project. While you can pick default, you would be better served picking the previously create project like zen.
  5. Rename the workspace to something you will remember like CPDDemo-HealthCare for a health care demo.
  6. Pick your resource group, if you did not create one, just use Default.
  7. You can tag your environment for easy search. This is not required.
  8. Scroll down and select Run Script if you do not have permissions, you can share a link and have an administrator execute this.
  9. Scroll down and select the services that you desire to add to Cloud Pak for Data. Note: This is a first time set up action only. Currently, Once provisioned, toggling true then false will lead to no further action. You will need to uninstall or install again, which will be shown later. To install all of these, you will need significantly more infrastructure. The Master or controller OCP Nodes are part of a Service Account. The Worker or Compute Nodes are added to your account. VLAN Spanning is needed for this to work. To get a better idea for sizing infrastructure, you can used this Sales Config tool. It may require an IBM approval for access, which you will use your IBM ID.
    • AI (Apache Spark, IBM Streams, RStudio Server, Watson Studio, Watson Machine Learning, Watson OpenScale)
    • Dashboarding (Analytic Dashboards)
    • Data Governance (Watson Knowledge Catalog, Open Source Management)
    • Data Sources (Data Virtualization, Db2 Warehouse).
  10. On the right, you should see your entitlements and a yellow box, which will turn green after you run the script below.
  11. Check the box and to accept the license.
  12. Once install is complete, you may need to check for and apply patches. Hopefully in the future you will always pull the latest from the container registry.

Back to Table of Contents

Review Services installed

  1. From the Schematics workspace, Click Offering dashboard
  2. Depending on your browser, you will need to accept the certificate. General path is Advanced then accept risk. This will bring you to the login page. Bookmark this for future usage.
  3. Login using default credentials as seen in video.
  4. Along the black menu bar at the top the icon to the right on the magnifying glass is Services. Click on this link.
  5. Take a look at the services that are enabled. These have been installed or deployed. Depending on what was selected any of these could be available or enabled.
    • AI (Apache Spark, IBM Streams, RStudio Server, Watson Studio, Watson Machine Learning, Watson OpenScale)
    • Dashboarding (Analytic Dashboards)
    • Data Governance (Watson Knowledge Catalog, Open Source Management)
    • Data Sources (Data Virtualization, Db2 Warehouse).
  6. Some are set up automatically and some you need to provision.

Back to Table of Contents

Troubleshooting and managing Cloud Pak for Data through the console

Manage Deployments

coming soon
Back to Table of Contents

Manage Users

coming soon

Back to Table of Contents

Viewing logs

coming soon
Back to Table of Contents

Setting up the Cloud Pak for Data Client

  1. You have already set up the client environment. If not go have to the first page and execute these step under Installing the client environment You will have logged into the OpenShift cluster, set the project to zen already built the encrypted route to the internal container repository. This is where all of your containers and helm charts will be stored. If zen doesn’t exist, then your probably went with default.
  2. Here is a link to the knowledge center for Cloud Pak for Data installation instructions. The next steps are a sequential version for this environment.
  3. How do I get the installer? Click the CPD Github to download the Enterprise Edition. Named cloudpak4data-ee-3.0.1.tgz. File is about 128MB.
  4. Unarchive the client bits. You should find the following.
    • repo.yaml
    • bin
    • LICENSES
  5. Find the file called repo.yaml This is a simple file, but key. Here is where you will add the apikey to get access to the container registry for the additional Services.
  6. In a web browser, Login and access the entitlement registry. Click Get entitlement key on the left side above Library. Either Generate a key or Copy the existing key. This will populate your scratchpad where you can paste it into the repo.yaml file.
  7. Paste the apikey into the Yaml file to the right of the apikey: After you paste, it should something like this only longer.
    registry:
      - url: cp.icr.io/cp/cpd
    username: cp
    apikey: eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJJ      
    name: base-registry
    fileservers:
      - url: https://raw.github.com/IBM/cloud-pak/master/repo/cpd3
    

    Note: While the documentation denotes Linux, using cpd-linux, the video uses cdp-darwin for Mac, cpd-windows.exe for windows.

  8. Move to the bin directory, this is where all the tools will be located for command line control of Cloud Pak for Data 3.0.x:
     cd bin
    
  9. List the directory to see the command available. I denoted the platform names in ( ). I usualy delete the other platforms to not confuse myself.
     cpd-darwin  (Mac)
     cpd-linux  (Linux)
     cpd-windows.exe (Windows)
     cpd-ppc64le (Power)
     cpd-s390x (zOS)
    
  10. Run the client command to verify that it works. On Mac you will need to verify the command by launching it from finder.
     ./cpd-darwin
    
  11. You will notice in the rest of the documentation, I reference the command as ./cpd-${OS_NAME} I also tell you to set and environment variable called OS_NAME which corresponds to the previous steps OS. So if you were running linux, you would export OS_NAME=linux. I mention this in each section, just in case. Maybe overkill, but better than messing it up.

Back to Table of Contents

Installing the Cloud Pak for Data Control Plane by command line

Note: This is not a recommended option on IBM Cloud. Since possible, I am documenting.

  1. Follow the instructions in Setting up the Cloud Pak for Data Client
  2. Follow the instructions in Retrieving the token to log into OpenShift on IBM Cloud
  3. Create your OpenShift namespace or project that you will install Cloud Pak for Data.
    • Example: oc project zen
  4. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  5. Make sure all the node settings are set on the worker nodes. All this is done for you Provision the Control plane using IBM Cloud tile
  6. Install the control plane or the lite assembly
      ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly lite
    
  7. Verify the installation
      ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly lite
    
  8. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly lite
    
  9. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

To enable or disable the default admin users

  1. It is suggested to connect your user repository to an LDAP system.
  2. Once connected to LDAP, you should disable the default admin user.
  3. To do this you will run a script in the user management pod.
     export NAMESPACE=zen
     oc exec -it -n $NAMESPACE  $(oc get pod -n $NAMESPACE  -l component=usermgmt | tail -1 | cut -f1 -d\ ) -- bash -c "/usr/src/server-src/scripts/manage-user.sh --disable-user admin"
    
  4. To reenable admin user run the following, which will prompt you for a new password:
     export NAMESPACE=zen
     oc exec -it -n $NAMESPACE  $(oc get pod -n $NAMESPACE  -l component=usermgmt | tail -1 | cut -f1 -d\ ) -- bash -c "/usr/src/server-src/scripts/manage-user.sh --enable-user admin"
    

    Note: If you have lost or forgotten your CPD Admin password, you can log into OpenShift then execute the enable command which prompts you for a new password.

Back to Table of Contents

How can I patch a service or control plane

From time to time any software needs a patch for security reasons, new feature or a bug fix. How do you know that there is a patch for a specifica service, common services or the control plane. Take a look here for v3.0.x. This document has a link to each of the service patches and any extra work that might be needed. Most patches need a prerequisite patch for the common services.

  1. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=[darwin, linux]
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
      export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  2. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly lite
    
  3. Run the command to patch the common services. Notice that the command is patch, patch-name is cpd-3.0.1-lite-patch-5. This name will change after this writing. Note the assembly name can be lite, wkc or wsl.
     ./cpd-${OS_NAME} patch --repo ../repo.yaml  --namespace ${NAMESPACE}  --transfer-image-to ${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --cluster-pull-prefix image-${LOCAL_REGISTRY}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --insecure-skip-tls-verify  --assembly lite  --patch-name cpd-3.0.1-lite-patch-5
    
  4. Verify that the patch has been applied.
     Toms-MBP:~ tjm$ oc project zen
     Already on project "zen" on server "https://c106-e.us-south.containers.cloud.ibm.com:31432".
     Toms-MBP:~ tjm$ oc describe cpdinstall cr-cpdinstall | grep "Patch Name:" | sort | uniq | cut -d: -f2
        cpd-3.0.1-lite-patch-5
    
  5. you can repeat this pattern, replacing the values to the right of assembly and patch-name

Back to Table of Contents

Data Virtualization

Install Data Virtualization

Coming Soon

Set up Data Virtualization

  1. Click on the Services icon to get to the services catalog.
  2. Go to the Data Virtualization tile, you see to “Provision Instance”.
  3. Click on Provision Instance.
  4. Then Click Configure. Check the box to the left of Set up semaphore parameters for Data Virtualization automatically.
  5. Click Configure.
  6. Select the number of nodes and cores to allocate. For a demo system defaults are enough. Note: Depending on how many node you have in your worker pool, this could fail provisioning with a not enough resource message. If you configure a default 3 16/64 workers and install all of the services, this message can appear. Resizing your worker pool to 4 will get you around this.
  7. Make sure your change the storage classes from default to ibmc-file-gold-gid. Choosing default could cause a failure.
  8. Once provisioned, set some users to have Data Engineer role. - Go to the Navigator on the left and scroll down to Administer Click on Manage Users. - On the right of the list of users, you will see a pencil, which indicates edit. Click the pencil for the user you desire to edit. If you pick admin, you will see this is a new role added based on the Data Virtualization service.
  9. Go to My Instance
  10. Once complete, you will see Data Virtualization under the Collect area on the left table of contents. From here you can add data sources or pointers to file folders. Note: I have not yet tested this with Remote Data Connections aka local file folders.

    What can be done with Data Virtualization and Watson Knowledge Catalog

Back to Table of Contents

Watson Studio

Install Watson Studio

Coming Soon Need to add override file

  1. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=[darwin, linux]
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
      export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  2. Set the security aspects for Watson Studio to install properly
       ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly wsl
    
  3. Deploy Watson Studio by running the following:
       ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly wsl
    
  4. Verify the installation
    ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly wsl
    
    1. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly wsl
      
    2. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Back to Table of Contents

Set up Watson Studio

  1. If you pick Watson Studio or Watson Machine Learning tiles, there will be no actions to take. You can proceed and create a project.

Back to Table of Contents

Increase the capacity or scale up

  1. To scale services, you will need to have the command line installed. (Instruction under the Adding additional services section)
  2. You can scale up the services by executing these commands for either wsl. Note: There is currently no scale down function.
  3. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=[darwin, linux]
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
      export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  4. Scale up Watson Studio by running the following (config sizes are small, medium and large):
    ./cpd-${OS_NAME} scale -n $NAMESPACE --config medium  --load-from ./cpd-${OS_NAME}-workspace  -a wsl
    
  5. Scale down Watson Studio by running the following (config sizes are small, medium and large):
    ./cpd-${OS_NAME} scale -n zen --config small  --load-from ./cpd-${OS_NAME}-workspace -a wsl
    

Back to Table of Contents

Watson Machine Learning

Install Watson Machine Learning

Coming Soon Need to add override file

  1. Run env to verify that the following variables are exported
    • OpenShift 3.x
         export OS_NAME=[darwin, linux]
         export NAMESPACE=zen
         export STORAGE_CLASS=ibmc-file-gold-gid
         export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
         export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
         export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
         export NAMESPACE=zen
         export STORAGE_CLASS=ibmc-file-gold-gid
         export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
         export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  2. Set the security aspects for Watson Machine Learning to install properly
       ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly wml
    
  3. Deploy Watson Machine Learning by running the following:
       ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly wml
    
  4. Verify the installation
       ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly wml
    
  5. Check for patches
       ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly wml
    
  6. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Back to Table of Contents

Increase the capacity or scale up your Watson Machine Learning service

  1. To scale services, you will need to have the command line installed. (Instruction under the Adding additional services section)
  2. You can scale up the services by executing these commands for either wml. Note: There is currently no scale down function.
  3. Run env to verify that the following variables are exported,Pick one no brackets Example export OS_NAME=darwin
    • OpenShift 3.x
       export OS_NAME=[darwin, linux]
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
       export OS_NAME=[darwin, linux]
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  4. Scale up Watson Machine Learning by running the following (config sizes are small, medium and large):
     ./cpd-${OS_NAME} scale -n $NAMESPACE --config medium  --load-from ./cpd-${OS_NAME}-workspace  -a wml
    
  5. Scale down Watson Machine Learning by running the following (config sizes are small, medium and large):
     ./cpd-${OS_NAME} scale -n zen --config small  --load-from ./cpd-${OS_NAME}-workspace -a wml
    

    Back to Table of Contents

Watson OpenScale

Install Watson OpenScale

  1. When setting up OpenScale, there are 2 pre-prerequisites.
    • Watson Machine Learning (Local or remote)
    • Local then install
    • Remote then document the following parameters:
    • Db2 Database (Db2 Advanced or DB2 Warehouse Local or remote)
    • If no remote Db2 instance available, then install either Db2 Advanced or Db2 Warehouse
  2. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=[darwin, linux]
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  3. Set the security aspects for Watson Machine Learning to install properly
      ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly aiopenscale
    
  4. Deploy Watson OpenScale by running the following:
      ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly aiopenscale
    
  5. Verify the installation
      ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly aiopenscale
    
  6. Check for patches
     ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly aiopenscale
    
  7. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

    Back to Table of Contents

Set up Watson OpenScale

  1. For Watson OpenScale Service, there is an Open button which launch a UI to help configure the initial information.
  2. Let’s provision OpenScale.
  3. You will be met with an auto setup to configure.
  4. First step is accept the local WML instance.
  5. Enter connection details for a Db2 Database. I am using a DB2 Warehouse that I installed later on. You need to have Db2/Db2 Warehouse running somewhere to get OpenScale to work. If you have one handy, you can use this otherwise we will configure it in the next section. Coming soon Back to Table of Contents

Db2 Warehouse

Install Db2 Warehouse (SMP)

  1. The first thing you will want to do is to pick one node that will house Db2 Warehouse and add a label.
  2. Run: oc get nodes This will produce a list of nodes.
  3. Run oc describe node | grep -eHostname: -e 'cpu ' -e 'memory ' Review the output and find the node with the least amount of resources allocated You will be setting a label to create Node Affinity. Db2 Warehouse pods will be installed to this particular node. Database will also be provisioned to this node. Sometimes you may need to resize your OpenShift worker pool size to increase capacity. Base on review I will pick node 10.95.7.49 as it has the least amount of resources allocated right now.
    Toms-MBP:bin tjm$ oc describe node |  grep -eHostname: -e 'cpu ' -e 'memory '
     MemoryPressure   False   Wed, 10 Jun 2020 16:21:28 -0400   Mon, 08 Jun 2020 10:19:26 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
     Hostname:    10.95.7.21
     cpu       14941m (94%)      63645m (400%)
     memory    44715538Ki (74%)  150095560704 (244%)
     MemoryPressure   False   Wed, 10 Jun 2020 16:21:29 -0400   Mon, 08 Jun 2020 10:19:13 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
     Hostname:    10.95.7.23
     cpu       13960m (87%)      39825m (250%)
     memory    42889746Ki (71%)  106114088960 (172%)
     MemoryPressure   False   Wed, 10 Jun 2020 16:21:32 -0400   Mon, 08 Jun 2020 10:16:15 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
     Hostname:    10.95.7.49
     cpu       10718m (67%)      33863m (213%)
     memory    24435218Ki (40%)  85963040Ki (143%)
     MemoryPressure   False   Wed, 10 Jun 2020 16:21:35 -0400   Mon, 08 Jun 2020 10:21:40 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
     Hostname:    10.95.7.6
     cpu       11970m (75%)      49570m (312%)
     memory    30833170Ki (51%)  87313121280 (142%)
    
  4. Bind Db2 Warehouse and provisioned instances to a specific node, by adding a label of icp4data=database-db2wh to a node. Select this node according to known resources available. I picked node 10.95.7.49 from the last command.
    oc label node <node name or IP Address> icp4data=database-db2wh
    

    Note: If you resize your OpenShift cluster’s worker pool to a lower number of nodes, it is possible that the node with the label for Db2 Warehouse may be deleted. This would render any database instances unusable until you label another node and restart the db2wh pods, so they start on the same node. Do not try to label 2 nodes as you will get an anti-affinity error in the db2u-0 and unified-console pods, They will stay in a state of pending.

  5. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=darwin or linux
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
       export OS_NAME=darwin or linux or win
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  6. Set the security aspects for Db2 Warehouse to install properly
      ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly db2wh
    
  7. Deploy Db2 Warehouse by running the following:
      ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly db2wh
    
  8. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  9. Verify the installation
    ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly db2wh
    
  10. Check for patches
    ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly db2wh
    
  11. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Note: Actual time taken is 16 minutes

Back to Table of Contents

Provision a Database instance

  1. Once installed and all pods are up, you can go to the service catalog page with the square with petals icon in upper right.
  2. On the services page, Click the left side filter to go to Datasources to get to Db2 Warehouse tile.
  3. Click the 3 vertical dots on upper left of the tile or Click through the tile then Click Provision Instance.
  4. On the Configure page keep defaults or adjust if you know you need more. Click Next.
  5. On the Storage page, Select Create new storage; Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
  6. Click Next
  7. Review the settings. Here you can change the Display name to something more memorable. Click Create.
  8. Your instance is being created and will be accessible from the Services > Db2 Warehouse tile. Also accessed from the Left menu My Instance then Click Provisioned instances
  9. From Provision Instances on the left you will see 3 horizontal dots. From this view, you can watch the steps of the provision, just incase it fails based on insufficient resources. Note: You can see a red triangle that states Failed. This is temporary and is most likely the Cloud provision service waiting on a storage volume to come online and available to mount as a persistent volume to map the persistent volume claim.
  10. Click this and see the options.
    • Open will open the DB2 Warehouse instance for use.
    • View details will provide you the details including user ; password ; jdbc url
    • Manage Access let you add user ids and assign them Admin or User roles.
    • Delete This will delete this particular instance. Note Total time took about 12 minutes

Back to Table of Contents

Create a Table

  1. When you Open the interface, you will run as the user id that provisioned it, for example user999 which is admin, so any tables that are created, by admin, via SQL editor by default will go under Schema user999.
    • You can use the UI and select and create tables under certain schemas.

Back to Table of Contents

Uninstalling DB2 Warehouse.

  1. First you will want to release any storage and delete instances to make sure storage is released. Use Delete to do this.
  2. From the command line:
  3. Set namespace. My namespace is zen your may be different like default
  4. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=[darwin, linux]
        export NAMESPACE=zen
      
    • OpenShift 4.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
      
  5. Do a dry run uninstall to check what will be taken off.
      ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly db2wh --uninstall-dry-run
    
  6. Run the uninstall
      ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE}  --assembly db2wh
    
  7. Go to the Services catalog and verify that Db2 Warehouse is no longer enabled.

Back to Table of Contents

Db2 Advanced

Install Db2 Advanced

  1. The first thing you will want to do is to pick one node that will house Db2 Advanced and add a label.
  2. Run: oc get nodes This will produce a list of nodes.
  3. Run oc describe node | grep -eHostname: -e 'cpu ' -e 'memory ' Review the output and find the node with the least amount of resources allocated You will be setting a label to create Node Affinity. Db2 OLTP pods will be installed to this particular node. Database will also be provisioned to this node. Sometimes you may need to resize your OpenShift worker pool size to increase capacity. Base on review I will pick node 10.95.7.49 as it has the least amount of resources allocated right now.
     Toms-MBP:bin tjm$ oc describe node |  grep -eHostname: -e 'cpu ' -e 'memory '
      MemoryPressure   False   Wed, 10 Jun 2020 16:21:28 -0400   Mon, 08 Jun 2020 10:19:26 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
      Hostname:    10.95.7.21
      cpu       14941m (94%)      63645m (400%)
      memory    44715538Ki (74%)  150095560704 (244%)
      MemoryPressure   False   Wed, 10 Jun 2020 16:21:29 -0400   Mon, 08 Jun 2020 10:19:13 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
      Hostname:    10.95.7.23
      cpu       13960m (87%)      39825m (250%)
      memory    42889746Ki (71%)  106114088960 (172%)
      MemoryPressure   False   Wed, 10 Jun 2020 16:21:32 -0400   Mon, 08 Jun 2020 10:16:15 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
      Hostname:    10.95.7.49
      cpu       10718m (67%)      33863m (213%)
      memory    24435218Ki (40%)  85963040Ki (143%)
      MemoryPressure   False   Wed, 10 Jun 2020 16:21:35 -0400   Mon, 08 Jun 2020 10:21:40 -0400   KubeletHasSufficientMemory   kubelet has sufficient memory available
      Hostname:    10.95.7.6
      cpu       11970m (75%)      49570m (312%)
      memory    30833170Ki (51%)  87313121280 (142%)
    
  4. Bind Db2 Advanced and provisioned instances to a specific node, by adding a label of icp4data=database-db2-oltp to a node. Select this node according to known resources available. I picked node 10.95.7.49 from the last command.
     oc label node <node name or IP Address> icp4data=database-oltp
    
  5. You can dedicate one or more worker nodes to your Db2® database service. Do this before installing the service.
  6. Run env to verify that the following variables are exported
    • OpenShift 3.x
       export OS_NAME=darwin or linux
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
        export OS_NAME=darwin or linux or win
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  7. Set the security aspects for Db2 Advanced to install properly
    ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly db2oltp
    
  8. Deploy Db2 Advanced by running the following:
    ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly db2oltp
    
  9. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  10. The deployed service will look like this from oc get pods. The completed pod is a load job which can be deleted.
    db2oltp-catalog-11530-6c488d895f-jddzn   1/1       Running     0          5m11s
    db2oltp-catalog-11530-uploadjob-hcsqr    0/1       Completed   0          5m11s
    
  11. Verify the installation
    ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly db2oltp
    
  12. Check for patches
    ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly db2oltp
    
  13. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

    Back to Table of Contents

Provision an OLTP Database instance

  1. Once installed and the db2oltp-catalog-11530 pod is running or the service tile is marked as available , you can go to the service catalog page with the square with petals icon in upper right.
  2. On the services page, Click the left side filter to go to Datasources to get to Db2 Advanced tile.
  3. Click the 3 vertical dots on upper left of the tile or Click through the tile then Click Provision Instance.
  4. On the Configure page keep defaults or adjust if you know you need more. Click Next. NOTE Make sure the Value for node label matches what was set above.
  5. On the System Storage page, Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
  6. Click Next
  7. On the User Storage page, Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
  8. Click Next
  9. On the Backup Storage page, Change Storage Class to ibmc-file-gold-gid ; Adjust the size to reflect the amount needed. Default is 100GB.
  10. Click Next
  11. Review the settings. Here you can change the Display name to something more memorable. Click Create.
  12. Your instance is being created and will be accessible from the Services > Db2 Advanced tile. Also accessed from the Left menu My Instance then Click Provisioned instances
  13. From Provision Instances , you will see a list of instances. If you left the defaults, the name will be something like Db2 Advanced Edition-1. To get details Click on the instance name. In my case Db2 Advanced Edition-1. Note: You can see a red triangle that states Failed. This is temporary and is most likely the Cloud provision service waiting on a storage volume to come online and available to mount as a persistent volume to map the persistent volume claim.
  14. Click the horizontal 3 “.” on the right and see the options.
    • Open This will open the UI to allow you to work on the database
    • Manage Access This lets you control high level ACLs to the database.
    • Delete This will delete this particular instance.

    Back to Table of Contents

Create a Table

  1. When you Open the interface, you will run as the user id that provisioned it, for example user999 which is admin, so any tables that are created, by admin, via SQL editor by default will go under Schema user999.
    • You can use the UI and select and create tables under certain schemas.

Back to Table of Contents

Uninstalling DB2 Warehouse.

  1. First you will want to release any storage and delete instances to make sure storage is released. Use Delete to do this.
  2. From the command line:
  3. Set namespace. My namespace is zen your may be different like default
  4. Run env to verify that the following variables are exported
    • OpenShift 3.x
         export OS_NAME=[darwin, linux]
         export NAMESPACE=zen
      
    • OpenShift 4.x
         export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
         export NAMESPACE=zen
      
  5. Do a dry run uninstall to check what will be taken off.
     ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE}  --assembly db2wh --uninstall-dry-run
    
  6. Run the uninstall
     ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE}  --assembly db2wh
    
  7. Go to the Services catalog and verify that Db2 Warehouse is no longer enabled.

Back to Table of Contents

Installing DataStage service

  1. Verify you have enough resource capcity to run DataStage. You many need to increase your work pool by a node.
  2. Create a ds.yaml file to override and set certain storage classes. On ROKS we will be using the default storage classes, but defining them no the less.
  3. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=darwin or linux
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
       export OS_NAME=darwin or linux or win
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  4. Set the security aspects for DataStage to install properly
      ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly ds
    
  5. Deploy DataStage by running the following:
      ./cpd-linux --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly ds --override=ds.yaml
    
  6. You will need to tab to accept the license.
  7. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  8. Verify the installation
      ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly ds
    
  9. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly ds
    
  10. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Back to Table of Contents

Create a Transformation Project

  1. From the navigator click Organize > transform data. This will bring you into the Data Flow Designer in a projects view.
  2. If you do not see Organize > transform data, check your setting and profile in the upper right under the user icon. Click Profile and Setttings > Permissions then verify that you have following two permissions:
  3. Integrate and transform data
  4. View governance artifacts If not the users will need to have Data Engineer role.
    • Go to the Navigator on the left and scroll down to Administer Click on Manage Users.
    • On the right of the list of users, you will see a pencil, which indicates edit.
    • Click the pencil for the user you desire to edit.
    • Choose Data Engineer to get the appropriate permissions.
  5. From here you can create a new project.
    • Click + Create then provide a Project name.
    • Click Create button. This will take a minute or two.
  6. Click the Clog and there will be 4 options.
    • Adjust Compute Nodes //This allows you to scale nodes for a parallel job.
    • Configuration //Allows you to tweak service configurations
    • Multi-Cloud Kafka brokers (might be grayed out)
    • Server //Connections to Github and whether to use Machine Learning (On by default)
  7. Click on dstage1 to see how this works.
  8. Click on + Create, you should see a Parallel job and Sequence job
  9. Click ether job and a palette of nodes are available to you to build your job. These nodes are specific to the type of job.
  10. Across the top, you should see another cog. This allows you to add Smart Palatte to the options. This will start prompting you with potential options.
  11. Across the very top, is where you will add Connections, Table Definitions, Parameter Sets, Jobs and the current Job_1 that you were just creating.

Back to Table of Contents

Uninstalling DataStage.

  1. First you will want to release any storage and delete instances to make sure storage is released. Use Delete to do this.
  2. From the command line:
  3. Set namespace. My namespace is zen your may be different like default
  4. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=[darwin, linux]
        export NAMESPACE=zen
      
    • OpenShift 4.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
      
  5. Do a dry run uninstall to check what will be taken off.
       ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE}  --assembly ds --uninstall-dry-run
    
  6. Run the uninstall
    ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE}  --assembly ds
    
  7. Go to the Services catalog and verify that DataStage is no longer enabled.

Back to Table of Contents

Installing Analytics Dashboards

Analytics Dashboards gives you a quick way to visualize your data. This is not full blown Cognos Analytics for Cloud Pak for Data* nor on premises version. Understand the current differences here

  1. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=darwin or linux
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
       export OS_NAME=darwin or linux or win
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  2. Set the security aspects for Analytics Dashboards to install properly
      ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly cde
    
  3. Deploy Analytics Dashboards by running the following:
      ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly cde
    
  4. You will need to tab to accept the license.
  5. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  6. Verify the installation
      ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly cde
    
  7. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly cde
    
  8. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Back to Table of Contents

Uninstalling Analytics Dashboards

  1. From the command line:
  2. Set namespace. My namespace is zen your may be different like default
  3. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=[darwin, linux]
        export NAMESPACE=zen
      
    • OpenShift 4.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
      
  4. Do a dry run uninstall to check what will be taken off.
    ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly cde --uninstall-dry-run
    
  5. Run the uninstall
    ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly cde
    
  6. Go to the Services catalog and verify that Analytics Dashboards is no longer enabled.

Back to Table of Contents

Installing Analytics Engine (Spark Clusters)

If you are using Data Refinery and you have to prep files larger than 100MB, then you will want to install the Analytics Engine to be able to select a different runtime than Data Refinery XS. This is the service to install if you want to use Spark with Watson Studio.

  1. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=darwin or linux
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
       export OS_NAME=darwin or linux or win
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  2. Set the security aspects for Analytics Engine to install properly
      ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly spark
    
  3. You will need an when installing the Spark assembly on a OCP 4.3 cluster. This is not needed for 3.11. Use this spark-ocp43-override.yaml
  4. Deploy Analytics Engine by running the following:
      ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly spark --override spark-ocp43-override.yaml
    
  5. You will need to tab to accept the license.
  6. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  7. Verify the installation
    ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly spark
    
  8. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly spark
    
  9. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Back to Table of Contents

Provision Analytics Engine instance

coming soon Provision the instance

Back to Table of Contents

Resource constraints

coming soon Governing the about of resources in an instance

Uninstalling Analytics Engine

  1. From the command line:
  2. Set namespace. My namespace is zen your may be different like default
  3. Run env to verify that the following variables are exported
    • OpenShift 3.x
         export OS_NAME=[darwin, linux]
         export NAMESPACE=zen
      
    • OpenShift 4.x
         export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
         export NAMESPACE=zen
      
  4. Do a dry run uninstall to check what will be taken off.
     ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly spark --uninstall-dry-run
    
  5. Run the uninstall
     ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly spark
    
  6. Go to the Services catalog and verify that Analytics Engine is no longer enabled.

Back to Table of Contents

##Cognos Analytics

Installing Cognos Analytics

Understand the current differences here

  1. Run env to verify that the following variables are exported. For OS_NAME Pick one no brackets Example: export OS_NAME=linux
    • OpenShift 3.x
      export OS_NAME=[darwin, linux]
      export NAMESPACE=zen
      export STORAGE_CLASS=ibmc-file-gold-gid
      export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
      export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
       export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
       export NAMESPACE=zen
       export STORAGE_CLASS=ibmc-file-gold-gid
       export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
       export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  2. Set the security aspects for Cognos to install properly
    ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly ca
    
  3. Deploy Cognos Analytics by running the following:
    ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --assembly ca
    
  4. You will need to tab to accept the license.
  5. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  6. Verify the installation
      ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly ca
    
  7. Check for patches
      ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly ca
    
  8. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Provision Cognos Analytics instance

  1. Preparing Db2 Advanced Database to make a connection that Cognos Analytics can used
  2. Collect the details of the provisioned database. This will be used for the environment variables and when creating the global connection.
      Deployment id db2oltp-xxxxxxxxxxxxx
      Username userxxx
      Password xxxxxxxxxxxxxxxxxxxxxx
      JDBC URLjdbc:db2://HOST:PORT/BLUDB
    

    NOTE: If you do not run through the following steps to prepare the Database, your provision will fail.

  3. From a terminal window. Run the following to set up the environment to execute the Database updates.
      export NAMESPACE=zen
      export DB2USERNAME=<USERNAME>
      export DB2PASSWORD=<PASSWORD>
      export DB2DEPLOYMENTID=<DEPLOYMENTID>
    
  4. Connect to the DB2 pods
      export CMD="env DB2USERNAME=$DB2USERNAME DB2PASSWORD=$DB2PASSWORD  bash"
      oc  exec -ti $DB2DEPLOYMENTID-db2u-0 -n $NAMESPACE -- $CMD
    
  5. Run the following command to update the data base values from within the pod.
      cd /mnt/blumeta0/home/db2inst1/sqllib
      . ./db2profile   
    
      db2 CONNECT to BLUDB user $DB2USERNAME using  $DB2PASSWORD;
      db2 UPDATE DATABASE CONFIGURATION USING APPLHEAPSZ 1024 DEFERRED;
      db2 UPDATE DATABASE CONFIGURATION USING LOCKTIMEOUT 240 DEFERRED;
      db2 CREATE BUFFERPOOL CMDB_08KBP IMMEDIATE SIZE 1000 PAGESIZE 8K;
      db2 CREATE BUFFERPOOL CMDB_32KBP IMMEDIATE SIZE 1000 PAGESIZE 32K;
      db2 CREATE SYSTEM TEMPORARY TABLESPACE TSN_SYS_CMDB IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32K BUFFERPOOL CMDB_32KBP;
      db2 CREATE USER TEMPORARY TABLESPACE TSN_USR_CMDB IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K BUFFERPOOL CMDB_08KBP;
      db2 CREATE REGULAR TABLESPACE TSN_REG_CMDB IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K BUFFERPOOL CMDB_08KBP;
      db2 DROP TABLESPACE USERSPACE1;
      db2 CREATE SCHEMA db2COGNOS AUTHORIZATION $DB2USERNAME;
      db2 ALTER BUFFERPOOL ibmdefaultbp size 49800;
    
  6. Create a connection that will be used for Cognos Analytics.
  7. From the main menu with 3 horizontal bars, click on Connections.
  8. Provide a Name, I used Cognosdb
  9. Provide a Description (optional)
  10. Select a Connection Type, Select Db2. This will expand to give more options.
  11. You will focus on the following. You collected this at the top. - Host - This comes from the JDBC URL. It is the IP address - Port - This comes from the JDBC URL. It is the number after the IP: - Database - This comes from the JDBC URL. It is the number after the IP:PORT/ It is generally BLUDB - Username - Probably user999 - Password - Same as collected above.
  12. Click the Test connection button to verify that it works properly.
  13. Click Create
  14. From the Services page, scroll to Cognos Analytic and click the tile
  15. in the upper right there is a button to Provision Instance

Back to Table of Contents

Uninstalling Cognos Analytics

  1. From the command line:
  2. Set namespace. My namespace is zen your may be different like default
  3. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=[darwin, linux]
        export NAMESPACE=zen
      
    • OpenShift 4.x
        export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
        export NAMESPACE=zen
      
  4. Do a dry run uninstall to check what will be taken off.
      ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly ca --uninstall-dry-run
    
  5. Run the uninstall
      ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly ca
    
  6. Go to the Services catalog and verify that Cognos Analytics is no longer enabled.

Back to Table of Contents

Watson Knowledge Catalog

Installing Watson Knowledge Catalog service

  1. Because of all the Kernel changes, I generally suggest installing Watson Knowledge Catalog using the template during the control plane installation.
  2. Verify you have enough resource capacity to run Watson Knowledge Catalog. You many need to increase your work pool by a node.
  3. Create a secret in the kube-system project or namespace for the norootsquash.yaml will execute properly. **Note: **All norootsquash pods in Kube-system namespace will restart using the new parameters.
    • oc project kube-system
    • Get the apikey from the repo.yaml file and use your accounts email address.
    • oc create secret docker-registry cpregistrysecret --docker-username=cp --docker-password= API KEY used in repo.yaml --docker-server=cp.icr.io/cp/cpd --docker-email= your email address
  4. Adjust the kernel parameters. Save the files to the directory with cpd-<os> command prior to executing or running the command.
  5. Run env to verify that the following variables are exported
    • OpenShift 3.x
        export OS_NAME=darwin or linux
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes docker-registry -n default -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=docker-registry.default.svc:5000
      
    • OpenShift 4.x
        export OS_NAME=darwin or linux or win
        export NAMESPACE=zen
        export STORAGE_CLASS=ibmc-file-gold-gid
        export DOCKER_REGISTRY_PREFIX=$(oc get routes image-registry -n openshift-image-registry -o template=\{\{.spec.host\}\})
        export LOCAL_REGISTRY=image-registry.openshift-image-registry.svc:5000
      
  6. Set the security aspects for Watson Knowledge Catalog to install properly
    ./cpd-${OS_NAME} adm --repo ../repo.yaml  --namespace ${NAMESPACE} --apply --accept-all-licenses --assembly wkc
    
  7. Deploy Watson Knowledge Catalog by running the following: Download the override-nginx.yaml file for use in the install command.
    ./cpd-${OS_NAME} --repo ../repo.yaml --namespace ${NAMESPACE} --storageclass ${STORAGE_CLASS} --transfer-image-to=${DOCKER_REGISTRY_PREFIX}/${NAMESPACE} --target-registry-username=ocadmin  --target-registry-password=$(oc whoami -t) --cluster-pull-prefix ${LOCAL_REGISTRY}/${NAMESPACE} --insecure-skip-tls-verify --override override-nginx.yaml --assembly wkc
    
  8. You will need to tab to accept the license.
  9. This will take some time to download, push to the registry, request new storage from IBM Cloud and provision the services and pods.
  10. Verify the installation
     ./cpd-${OS_NAME} status --namespace ${NAMESPACE} --assembly wkc
    
  11. Check for patches
     ./cpd-${OS_NAME} status  --repo ../repo.yaml --namespace ${NAMESPACE} --patches --available-updates --assembly wkc
    
  12. If there are patches apply the highest number as it will be cumulative. Some patches have prerequisite patches because they have dependencies on another service or on a set of shared, common services. If the patch details list one or more prerequisite patches, you must install the prerequisite patches before you install the service patch. You can run the following command to determine whether any of the prerequisite patches are already installed on the cluster:

Back to Table of Contents

Post install tasks (To Do’s for Tom to validate)

  1. Setting up your default catalog
  2. Optional tasks

Uninstalling Watson Knowledge Catalog

  1. From the command line:
  2. Set namespace. My namespace is zen your may be different like default
  3. Run env to verify that the following variables are exported
    • OpenShift 3.x
      export OS_NAME=[darwin, linux]
      export NAMESPACE=zen
      
    • OpenShift 4.x
      export OS_NAME=[darwin, linux] **Pick one no brackets Example export OS_NAME=darwin**
      export NAMESPACE=zen    
      
  4. Do a dry run uninstall to check what will be taken off.
    ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly wkc --uninstall-dry-run
    
  5. Run the uninstall
    ./cpd-${OS_NAME} uninstall --namespace ${NAMESPACE} --assembly wkc
    

Back to Table of Contents