Installing the Watson Knowledge Catalog service 3.0.0.2 on IBM Cloud Pak for Data 2.5

Contents Overview ...... 3 Installing the patch ...... 3 Post-installation steps ...... 4

Overview This service patch contains defect fixes and supports migration of data from IBM InfoSphere Information Server 11.7.1 to IBM Cloud Pak for Data 2.5.0.

These instructions assume that you have the following products already installed in your Red Hat OpenShift cluster:

- IBM® Cloud Pak for Data. For information, see Installing Cloud Pak for Data on a Red Hat OpenShift cluster. - Watson Knowledge Catalog. For more information, see Installing the Watson Knowledge Catalog service.

Required role: To install the patch, you must be a cluster administrator.

Installing the patch To install the Watson Knowledge Catalog service patch 3.0.0.2, complete the following steps:

1. The patch files are publicly available in the IBM Cloud Pak GitHub repository. sure that the repo.yaml that defines your registries and file servers contains reference to this URL: https://raw.githubusercontent.com/IBM/cloud-pak/master/repo/cpd 2. Change to the directory for the Cloud Pak for Data command-line interface. 3. If you have the internet connection on the cluster, use the non air-gapped mode to install the patch. Run the following command: ./cpd-linux patch --namespace zen --repo repo.yaml --assembly wkc --patch-name wkc-patch-3.0.0.2 --transfer-image-to=${REGISTRY}:${PORT}/${RUN_NAMESPACE} --ask-push-registry-credentials

Push registry credentials Username: ocadmin Password: oc -t

Example command: ./cpd-linux patch --repo repo.yaml --assembly wkc --namespace zen --patch-name wkc-patch-3.0.0.2 --transfer-image-to=docker-registry.default.svc:5000/zen -- ask-push-registry-credentials --target-registry-username=$(oc whoami) --target- registry-password=$(oc whoami -t)

4. If you don’t have the internet connection on the cluster, use the air-gapped mode. a. Run the following command to download the required files to your local machine. ./cpd-linux patch --repo repo.yaml --assembly wkc --version 3.0.333 --patch-name wkc-patch-3.0.0.2 --action download b. Run the following command to install the patch: ./cpd-linux patch --namespace Project --load-from Image_directory_location --assembly wkc --patch-name wkc-patch-3.0.0.2 --transfer-image-to=Registry_location --ask-push-registry-credentials --action push Replace the following values: - Project: The project (namespace) where the IBM Cloud Pak for Data control plane is installed. - Image_Directory_location: The location of the cpd-Operating_System- workspace directory. - Registry_location: The location to store the images in the registry server. For more information, see Setting up your registry server.

Post-installation steps After you install the patch, complete the following post-installation steps.

- Update OMAG environment settings - Configure gremlin-console service - Configure wkc-glossary-service - Configure Xmx settings for the IIS service

Update OMAG environment settings 1. Log in to your Red Hat OpenShift cluster as a project administrator: oc login OpenShift_URL:port 2. Open the service YAML file by running the following command: oc edit deployment omag 3. If not present in the file, add the following lines, starting with - name: spec: containers: : - name: PORT value: "8080" - name: XMETA_DB_DRIVER value: com.ibm.db2.jcc.DB2Driver - name: XMETA_DB_URL value: jdbc:db2://is-xmetadocker:50000/xmeta - name: XMETA_DB_USER value: xmeta - name: XMETA_DB_PASSWORD valueFrom: secretKeyRef: name: iis-usr-secrets key: xmeta_password 4. Ensure that the initContainers file section contains the following lines. The value of 'image: docker-registry.default.svc:5000/icp4d-/wkc-init- container:1.0.44' is an example. Replace it with your location to store the images in the registry server. For more information, see Setting up your registry server. initContainers: - args: - 60; while [ ! -f /tmp/jwtkey.cer ]; do sleep 2; done; command: - sh - -c - -- image: docker-registry.default.svc:5000/icp4d-test/wkc-init- container:1.0.44 imagePullPolicy: IfNotPresent name: -services resources: limits: cpu: "0" memory: "0" requests: cpu: "0" memory: "0" terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /tmp name: secrets-pv-volume - args: - kafka_status=1; while [ $kafka_status != 0 ]; do sleep 2; kafka_status=`nc kafka 9092 < /dev/null; echo $?`; done; command: - sh - -c - -- image: docker-registry.default.svc:5000/icp4d-test/wkc-init- container:1.0.44 imagePullPolicy: IfNotPresent name: wait-kafka resources: limits: cpu: "0" memory: "0" requests: cpu: "0" memory: "0" terminationMessagePath: /dev/termination-log terminationMessagePolicy: File - args: - redis_status=1; while [ $redis_status != 0 ]; do sleep 2; redis_status=`nc redis-ha 6379 < /dev/null; echo $?`; done; command: - sh - -c - -- image: docker-registry.default.svc:5000/icp4d-test/wkc-init- container:1.0.44 imagePullPolicy: IfNotPresent name: wait-redis resources: limits: cpu: "0" memory: "0" requests: cpu: "0" memory: "0" terminationMessagePath: /dev/termination-log terminationMessagePolicy: File restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 5. Save the changes and quit by using the :wq command. The pods are restarted automatically, and changes are applied.

Configure gremlin-console service 1. Log in to your Red Hat OpenShift cluster as a project administrator: oc login OpenShift_URL:port 2. Open the service YAML file by running the following command: oc edit deployment gremlin-console 3. If not present in the file, add the entry with JAVA_OPTIONS by changing these lines: containers: - image: docker-registry.default.svc:5000/zen/gremlin-console- ubi:0.4.0_b590_709e1d9f00c9 imagePullPolicy: IfNotPresent to these lines: containers: - env: - name: JAVA_OPTIONS value: -Djava.util.prefs.systemRoot=/tmp/.java - Djava.util.prefs.userRoot=/tmp/.java/.userPrefs -Duser.home=/tmp image: docker-registry.default.svc:5000/zen/gremlin-console- ubi:0.4.0_b590_709e1d9f00c9 imagePullPolicy: IfNotPresent 4. Save the changes and quit by using the :wq command. The pods are restarted automatically, and changes are applied.

Configure wkc-glossary-service 1. Log in to your Red Hat OpenShift cluster as a project administrator: oc login OpenShift_URL:port 2. Open the service YAML file by running the following command: oc edit deployment wkc-glossary-service 3. If not present in the file, add the following lines, starting with - name: spec: containers: - env: - name: XMETA_DB2_HOST value: $(IS_XMETADOCKER_SERVICE_HOST) - name: XMETA_DB2_PORT value: "50000" - name: XMETA_DB2_DATABASE_NAME value: XMETA - name: XMETA_DB2_CONNECTION_POOL_SIZE value: "10" - name: XMETA_DB2_USER value: xmeta - name: XMETA_DB2_SSL value: "false" - name: XMETA_DB2_PASSWORD valueFrom: secretKeyRef: key: xmeta_password name: iis-usr-secrets optional: true 4. Save the changes and quit by using the :wq command. The pods are restarted automatically, and changes are applied.

Configure Xmx settings for the IIS service 1. Edit the configMap file for IIS service. a. Run the following command: oc -n zen edit cm iis-server b. Add the following lines to the configMap file in the section ‘data:’ and save the changes. jvm.options: |- # 64 bits JVM memory settings -Xms1280m -Xmx8192m # JVM settings -Djava.awt.headless=true # Windows JVM settings #-Djava.awt.headless=false # SUNOS JVM settings #-XX:MaxPermSize=768M # IBM JVM settings (all OS except SOLARIS and HPUX) -Xdisableexplicitgc # Force the JVM locale to language selected installation -Duser.language=en -Duser.country=US # XMeta custom EMF registry - Dorg.eclipse.emf.ecore.EPackage.Registry.INSTANCE=com.ibm.xmeta.emf.util. PackageRegistry # EMF custom archive schemes required within Liberty -Dorg.eclipse.emf.common.util.URI.archiveSchemes=wsjar wszip jar zip 2. Edit the IIS services docker deployment. a. Run the following command: oc -n zen edit deployment iis-services b. In the volumeMounts section add the following lines. - mountPath: /opt/IBM/InformationServer/wlp/usr/servers/iis/jvm.options name: jvm-options-volume subPath: jvm.options c. In the volumes section add the following lines. - configMap: defaultMode: 420 name: iis-server name: jvm-options-volume d. Save the changes. 3. The IIS service is restarted automatically, and changes are applied.