How to deploy IBM Transformation Advisor to offline IBM Cloud Private 3.1.1 environment

I recently worked with a client who was running IBM Cloud Private 3.1.1 in an offline setup. This client had deployed IBM Cloud Private on IBM PureApplication Platform, something that has been described in more detail here.

With a simple ICP 3.1.1 environment up and running, the next challenge was to work through the process of manually installing the Helm chart and Docker images for the IBM Transformation Advisor. When deploying ICP 3.1.1 in an environment with internet access, this is not needed of course. As you can see below, the catalog was empty in our scenario.

Adding IBM Transformation Advisor to IBM Cloud Private Catalog

This page of the ICP 3.1.1 knowledge center describes how a Helm chart and corresponding docker images can be packaged up as an archive. This archive can be built on any machine that has internet connectivity and supports Docker, Helm and the cloudctl IBM cloud command line interface. Once transferred to your ICP environment, it can be imported for use.

Create IBM Transformation Advisor archive

You start by cloning the git repo on github.com that contains the IBM Helm charts:

MacBook-Pro:~ hendrikvanrun$ cd TransformationAdvisor/
MacBook-Pro:TransformationAdvisor hendrikvanrun$ git clone https://github.com/IBM/charts.git
Cloning into 'charts'...
remote: Enumerating objects: 113, done.
remote: Counting objects: 100% (113/113), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 10761 (delta 32), reused 74 (delta 20), pack-reused 10648
Receiving objects: 100% (10761/10761), 37.87 MiB | 1.08 MiB/s, done.
Resolving deltas: 100% (6371/6371), done.
Checking out files: 100% (2795/2795), done.

Make sure you have the IBM cloudctl command line tool installed, you can download this from your IBM Cloud Private instance as described here in the Knowledge Center.

MacBook-Pro:ICP311Tools hendrikvanrun$ chmod 755 ../Downloads/cloudctl-darwin-amd64-3.1.1-973
MacBook-Pro:ICP311Tools hendrikvanrun$ sudo mv ../Do
Documents/        DownloadDirector/ Downloads/
MacBook-Pro:ICP311Tools hendrikvanrun$ sudo mv ../Downloads/cloudctl-darwin-amd64-3.1.1-973 /usr/local/bin/cloudctl
Password:
MacBook-Pro:ICP311Tools hendrikvanrun$ which cloudctl
/usr/local/bin/cloudctl

Now create a copy of the manifest.yaml file of the IBM TA Helm chart:

MacBook-Pro-8:ibm-transadv-dev hendrikvanrun$ cp ibm_cloud_pak/manifest.yaml /Users/hendrikvanrun/manifest.yaml

Now modify the file, in particular we removed any references to Docker images for ppc64le and s390x and z/OS architecture (only leaving the amd64 ones). This simply speeds up the process and reduces the size of the archive. In addition, we explicitly referenced the Helm chart: archive: “https://github.com/IBM/charts/blob/master/repo/stable/ibm-transadv-dev-1.9.3.tgz?raw=true” (this was originally set to archive: file:ibm-transadv-dev-1.9.3.tgz).

MacBook-Pro:ibm-transadv-dev hendrikvanrun$ cat /Users/hendrikvanrun/manifest.yaml
# © Copyright IBM Corporation 2017
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

charts:
  - archive: "https://github.com/IBM/charts/blob/master/repo/stable/ibm-transadv-dev-1.9.3.tgz?raw=true"
    repository-keys:
      - couchdb.image.repository
      - transadv.image.repository
      - transadvui.image.repository

images:
- image: ibmcom/transformation-advisor-db:1.9.3
  references:
  - repository: ibmcom/transformation-advisor-db-amd64:1.9.3
    pull-repository: ibmcom/transformation-advisor-db-amd64:1.9.3
    platform:
      os: linux
      architecture: amd64

- image: ibmcom/transformation-advisor-server:1.9.3
  references:
  - repository: ibmcom/transformation-advisor-server-amd64:1.9.3
    pull-repository: ibmcom/transformation-advisor-server-amd64:1.9.3
    platform:
      os: linux
      architecture: amd64

- image: ibmcom/transformation-advisor-ui:1.9.3
  references:
  - repository: ibmcom/transformation-advisor-ui-amd64:1.9.3
    pull-repository: ibmcom/transformation-advisor-ui-amd64:1.9.3
    platform:
      os: linux
      architecture: amd64

Now we can run the command below to build the archive.

Note:  We included the flag CLOUDCTL_TRACE=true to obtain additional verbose output, this can be helpful to debug issues and track progress.

MacBook-Pro:ibm-transadv-dev hendrikvanrun$ CLOUDCTL_TRACE=true cloudctl catalog create-archive -s /Users/hendrikvanrun/manifest.yaml -a /Users/hendrikvanrun/ibm-transadv-dev.tgz
create-archive: archive=/Users/hendrikvanrun/ibm-transadv-dev.tgz, chart=, manifest=/Users/hendrikvanrun/manifest.yaml, values=, architectures=, skipCleanup=false
Creating archive /Users/hendrikvanrun/ibm-transadv-dev.tgz from manifest /Users/hendrikvanrun/manifest.yaml
  Updated archive path: /Users/hendrikvanrun/ibm-transadv-dev.tgz
  Create command: spec={"Revision":"1.0","OutputFilename":"","Charts":[{"Archive":"https://github.com/IBM/charts/blob/master/repo/stable/ibm-transadv-dev-1.9.3.tgz?raw=true","RepositoryKeys":["couchdb.image.repository","transadv.image.repository","transadvui.image.repository"],"RegistryKeys":null}],"Images":[{"image":"ibmcom/transformation-advisor-db:1.9.3","tag":"","references":[{"repository":"ibmcom/transformation-advisor-db-amd64:1.9.3","pull-repository":"ibmcom/transformation-advisor-db-amd64:1.9.3","platform":{"os":"linux","architecture":"amd64"}}]},{"image":"ibmcom/transformation-advisor-server:1.9.3","tag":"","references":[{"repository":"ibmcom/transformation-advisor-server-amd64:1.9.3","pull-repository":"ibmcom/transformation-advisor-server-amd64:1.9.3","platform":{"os":"linux","architecture":"amd64"}}]},{"image":"ibmcom/transformation-advisor-ui:1.9.3","tag":"","references":[{"repository":"ibmcom/transformation-advisor-ui-amd64:1.9.3","pull-repository":"ibmcom/transformation-advisor-ui-amd64:1.9.3","platform":{"os":"linux","architecture":"amd64"}}]}]}, storageProvider={"Path":"/Users/hendrikvanrun/ibm-transadv-dev.tgz"}, baseDir=/Users/hendrikvanrun
      docker pull ibmcom/transformation-advisor-ui-amd64:1.9.3
      docker pull ibmcom/transformation-advisor-db-amd64:1.9.3
      docker pull ibmcom/transformation-advisor-server-amd64:1.9.3
Adding charts...
done
Adding image  ibmcom/transformation-advisor-db:1.9.3
Transferring image ibmcom/transformation-advisor-db-amd64:1.9.3 into the destination archive...
done
Adding image  ibmcom/transformation-advisor-server:1.9.3
Transferring image ibmcom/transformation-advisor-server-amd64:1.9.3 into the destination archive...
done
Adding image  ibmcom/transformation-advisor-ui:1.9.3
Transferring image ibmcom/transformation-advisor-ui-amd64:1.9.3 into the destination archive...
done
OK

Finally we examined the archive quickly, you can see that there is a Helm chart and 3 Docker images in there:

MacBook-Pro:ibm-transadv-dev hendrikvanrun$ tar -ztvf /Users/hendrikvanrun/ibm-transadv-dev.tgz
-rw-------  0 0      0       39157 Feb 18 18:00 charts/ibm-transadv-dev-1.9.3.tgz
-rw-------  0 0      0   547622400 Feb 18 17:59 images/3ef60eec5e2e815f26e5f11d6061ac53a03292c0dc6f3eacd94f003b089e9036.tar.gz
-rw-------  0 0      0  1474247680 Feb 18 18:00 images/8a182a770cd4c0ba4c8d8aaa4477256b53382f1cea02bd2673bfa084fa0c3209.tar.gz

-rw-------  0 0      0   549028864 Feb 18 18:00 images/a257dff2eb8f36f2960d990378cc80e5b84f021de1fce3ea51823aab5fa4f515.tar.gz

-rw-------  0 0      0        1536 Feb 18 18:02 manifest.json
-rw-------  0 0      0         802 Feb 18 18:02 manifest.yaml

Import IBM Transformation Advisor archive

Once packaged up this archive can simply be transferred to a machine that has connectivity to your ICP environment. There it can be imported as shown below:

-bash-4.2# CLOUDCTL_TRACE=true cloudctl catalog load-archive --archive /tmp/ibm-transadv-dev.tgz
load-archive: archive=/tmp/ibm-transadv-dev.tgz, registry=mycluster.icp:8500/default, repo=local-charts, username=, password set=false
Expanding archive
Archive contents:
  charts/ibm-transadv-dev-1.9.3.tgz
  images/3ef60eec5e2e815f26e5f11d6061ac53a03292c0dc6f3eacd94f003b089e9036.tar.gz
  images/8a182a770cd4c0ba4c8d8aaa4477256b53382f1cea02bd2673bfa084fa0c3209.tar.gz
  images/a257dff2eb8f36f2960d990378cc80e5b84f021de1fce3ea51823aab5fa4f515.tar.gz
  manifest.json
  manifest.yaml
OK

GET https://mycluster.icp:8443/helm-api/api/v1/repos
Importing docker images
  Processing image: ibmcom/transformation-advisor-db-amd64:1.9.3
    Loading Image
      docker load -i /tmp/icp075570323/images/3ef60eec5e2e815f26e5f11d6061ac53a03292c0dc6f3eacd94f003b089e9036.tar.gz
    Tagging Image
      docker tag ibmcom/transformation-advisor-db-amd64:1.9.3 mycluster.icp:8500/default/ibmcom/transformation-advisor-db-amd64:1.9.3
    Pushing image as: mycluster.icp:8500/default/ibmcom/transformation-advisor-db-amd64:1.9.3
      docker push mycluster.icp:8500/default/ibmcom/transformation-advisor-db-amd64:1.9.3
    Creating manifest list as: mycluster.icp:8500/default/ibmcom/transformation-advisor-db:1.9.3
    Annotating manifest list: mycluster.icp:8500/default/ibmcom/transformation-advisor-db-amd64:1.9.3
    Pushing manifest list: mycluster.icp:8500/default/ibmcom/transformation-advisor-db:1.9.3
Digest: sha256:53213cebba4f552014c50bd44417d690b3169192580f462f503adcf01ea55fbc 434
  Processing image: ibmcom/transformation-advisor-server-amd64:1.9.3
    Loading Image
      docker load -i /tmp/icp075570323/images/8a182a770cd4c0ba4c8d8aaa4477256b53382f1cea02bd2673bfa084fa0c3209.tar.gz
    Tagging Image
      docker tag ibmcom/transformation-advisor-server-amd64:1.9.3 mycluster.icp:8500/default/ibmcom/transformation-advisor-server-amd64:1.9.3
    Pushing image as: mycluster.icp:8500/default/ibmcom/transformation-advisor-server-amd64:1.9.3
      docker push mycluster.icp:8500/default/ibmcom/transformation-advisor-server-amd64:1.9.3
    Creating manifest list as: mycluster.icp:8500/default/ibmcom/transformation-advisor-server:1.9.3
    Annotating manifest list: mycluster.icp:8500/default/ibmcom/transformation-advisor-server-amd64:1.9.3
    Pushing manifest list: mycluster.icp:8500/default/ibmcom/transformation-advisor-server:1.9.3
Digest: sha256:79f2786eaa45d66f33e5e8308a49dea8f823907322ecb0dd72353e571ff78fd1 434
  Processing image: ibmcom/transformation-advisor-ui-amd64:1.9.3
    Loading Image
      docker load -i /tmp/icp075570323/images/a257dff2eb8f36f2960d990378cc80e5b84f021de1fce3ea51823aab5fa4f515.tar.gz
    Tagging Image
      docker tag ibmcom/transformation-advisor-ui-amd64:1.9.3 mycluster.icp:8500/default/ibmcom/transformation-advisor-ui-amd64:1.9.3
    Pushing image as: mycluster.icp:8500/default/ibmcom/transformation-advisor-ui-amd64:1.9.3
      docker push mycluster.icp:8500/default/ibmcom/transformation-advisor-ui-amd64:1.9.3
    Creating manifest list as: mycluster.icp:8500/default/ibmcom/transformation-advisor-ui:1.9.3
    Annotating manifest list: mycluster.icp:8500/default/ibmcom/transformation-advisor-ui-amd64:1.9.3
    Pushing manifest list: mycluster.icp:8500/default/ibmcom/transformation-advisor-ui:1.9.3
Digest: sha256:42a61d7e2fd9bae94cce4058bd6e0da108a0a45aa7112071380d06485e8c5967 434
      docker rmi mycluster.icp:8500/default/ibmcom/transformation-advisor-ui-amd64:1.9.3
      docker rmi ibmcom/transformation-advisor-ui-amd64:1.9.3
      docker rmi mycluster.icp:8500/default/ibmcom/transformation-advisor-server-amd64:1.9.3
      docker rmi ibmcom/transformation-advisor-server-amd64:1.9.3
      docker rmi mycluster.icp:8500/default/ibmcom/transformation-advisor-db-amd64:1.9.3
      docker rmi ibmcom/transformation-advisor-db-amd64:1.9.3
OK

Uploading helm charts
  Processing chart: charts/ibm-transadv-dev-1.9.3.tgz
  Chart path: /tmp/icp075570323/charts/ibm-transadv-dev-1.9.3.tgz
  Updating chart values.yaml
replacing values.yaml image values in chart /tmp/icp075570323/charts/ibm-transadv-dev-1.9.3.tgz
replacing chart values.yaml image value ibmcom/transformation-advisor-db with mycluster.icp:8500/default/ibmcom/transformation-advisor-db
replacing chart values.yaml image value ibmcom/transformation-advisor-server with mycluster.icp:8500/default/ibmcom/transformation-advisor-server
replacing chart values.yaml image value ibmcom/transformation-advisor-ui with mycluster.icp:8500/default/ibmcom/transformation-advisor-ui
  New chart: /tmp/icp_tgz_207132374
  Uploading chart
  Chart metadata: {"Name":"ibm-transadv-dev","Version":"1.9.3"}
PUT https://mycluster.icp:8443/helm-repo/charts/ibm-transadv-dev/1.9.3
Loaded helm chart
  Status code: 201, Body: {"url":"https://mycluster.icp:8443/helm-repo/requiredAssets//ibm-transadv-dev-1.9.3.tgz"}
OK

Synch charts
GET https://mycluster.icp:8443/helm-api/api/v1/synch
Synch started
OK

Archive finished processing

Note: Make very sure that you used cloudctl load-archive, and not cloudctl load-chart! When you use the latter by accident, you will receive the error shown below which does not tell you directly what you are doing wrong!

-bash-4.2# CLOUDCTL_TRACE=true cloudctl catalog load-chart --archive /tmp/ibm-transadv-dev.tgz
load-chart: archive=/tmp/ibm-transadv-dev.tgz, repo=local-charts
GET https://mycluster.icp:8443/helm-api/api/v1/repos
Loading helm chart
runtime error: invalid memory address or nil pointer dereference

Confirm that IBM Transformation Advisor is present in IBM Cloud Private Catalog

You should now be able to see the IBM Transformation Advisor Helm chart in the IBM Cloud Private Catalog:

The Docker images for IBM Transformation Advisor should also be visible in the private Docker Registry of IBM Cloud Private:

Deploying IBM Transformation Advisor within IBM Cloud Private

Create namespace for IBM Transformation Advisor

Although not required, sometimes it can make sense to deploy IBM TA in its own namespace. We created the namespace “transadv” as shown below.

Note: When deploying IBM Transformation Advisor in its own namespace, note that it requires a namespace with bm-anyuid-psp security policy (otherwise you will get a Pod Security Conflict when deploying the IBM TA Helm chart).

Create Secret, Persistent Volume and Persistent Volume Claim

Deployment of the IBM TA requires a number of resources to be created. Although this can all be done from the ICP UI, we chose to do so using the kubectl command line. Please refer to this link on how to run kubectl against your ICP environment.

-bash-4.2# cat create_secrets.yaml
{
  "kind": "Secret",
  "apiVersion": "v1",
  "metadata": {
    "name": "transformation-advisor-secret",
    "namespace": "transadv",
    "annotations": {}
  },
  "type": "",
  "data": {
    "db_username": "YWRtaW4=",
    "secret": "YWRtaW4="
  }
}

-bash-4.2# cat create_local_pv.yaml
{
  "kind": "PersistentVolume",
  "apiVersion": "v1",
  "metadata": {
    "name": "transadv-ing-pv",
    "labels": {
      "type": "local"
    }
  },
  "spec": {
    "accessModes": [
      "ReadWriteOnce"
    ],
    "persistentVolumeReclaimPolicy": "Recycle",
    "capacity": {
      "storage": "8Gi"
    },
    "hostPath": {
      "path": "/usr/data_ing"
    }
  }
}

-bash-4.2# cat create_local_pvc.yaml
{
  "kind": "PersistentVolumeClaim",
  "apiVersion": "v1",
  "metadata": {
    "name": "transadv-ing-pvc",
    "namespace": "transadv"
  },
  "spec": {
    "resources": {
      "requests": {
        "storage": "8Gi"
      }
    },
    "accessModes": [
      "ReadWriteOnce"
    ]
  }
}

-bash-4.2# kubectl create -f create_local_pv.yaml
persistentvolume/transadv-ing-pv created
-bash-4.2# kubectl create -f create_local_pvc.yaml
persistentvolumeclaim/transadv-ing-pvc created

Perform Helm chart deployment

Deploy the TA Helm chart by clicking Configure, specify the following:

Helm release name: something unique that will identify the instance of this Helm deployment
Target namespace: the namespace for this Helm deployment, in our case we use “transadv”

Under Parameters, expand All parameters and specify the following:

Ingress enabled: enabled
Edge node IP: the IP that will be used to access the TA instance (in our case the IP of the ICP node hosting the proxy)
Secret name: name of the secret that you created earlier, in our case we used “transformation-advisor-secret”

Use dynamic provisioning for persistent volume: disabled (as we were not using a storage provider that supports this, we used HostPath for our Persistent Volume)
Existing volume claim: the name of the Persistent Volume Claim to be used, in our case we used “transadv-ing-pvc”

Leave everything else as default and click Install to deploy the TA Helm chart!

Note: When we deployed the IBM Transformation Advisor Helm chart for the first time, the pods were unable to start because they could not pull their corresponding Docker images (even though they had been loaded successfully into the ICP private Docker regristry). We performed a manual Docker pull for those images, once done the pods were able to start without any issues.

-bash-4.2# docker login mycluster.icp:8500
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
-bash-4.2# docker images | grep transformation

No results were returned, containers failed to start.

We manually pulled the docker images from the private docker registry:

-bash-4.2# docker pull mycluster.icp:8500/default/ibmcom/transformation-advisor-ui:1.9.3
1.9.3: Pulling from default/ibmcom/transformation-advisor-ui
7b722c1070cd: Pull complete
5fbf74db61f1: Pull complete
ed41cb72e5c9: Pull complete
7ea47a67709e: Pull complete
2eb939fa4385: Pull complete
ba48ea5327f0: Pull complete
f8d8d6c70588: Pull complete
d1b3189d96a2: Pull complete
1349d38b6605: Pull complete
db055daffd85: Pull complete
f71d615237f5: Pull complete
Digest: sha256:42a61d7e2fd9bae94cce4058bd6e0da108a0a45aa7112071380d06485e8c5967
Status: Downloaded newer image for mycluster.icp:8500/default/ibmcom/transformation-advisor-ui:1.9.3

-bash-4.2# docker pull mycluster.icp:8500/default/ibmcom/transformation-advisor-server:1.9.3
1.9.3: Pulling from default/ibmcom/transformation-advisor-server
7b722c1070cd: Already exists
5fbf74db61f1: Already exists
ed41cb72e5c9: Already exists
7ea47a67709e: Already exists
449210cbff3b: Pull complete
18c9d73c43bb: Pull complete
34afdf15398d: Pull complete
83a69d4d0146: Pull complete
bb817bf5c90c: Pull complete
ebb9f104335d: Pull complete
7714cd589690: Pull complete
d5191570a227: Pull complete
c95e32f7e195: Pull complete
7cad080066da: Pull complete
2e1f16201f65: Pull complete
1f5cb9ae3263: Pull complete
f8cb890e2f25: Pull complete
f02eaa87c172: Pull complete
f55e16af921f: Pull complete
166a3a13ed1f: Pull complete
083158f642b4: Pull complete
757736fbfb0b: Pull complete
8db7b05a5de9: Pull complete
01c21f9a3958: Pull complete
1d18923c77d0: Pull complete
e1121c6fa76c: Pull complete
1a3ef2d8bd87: Pull complete
Digest: sha256:79f2786eaa45d66f33e5e8308a49dea8f823907322ecb0dd72353e571ff78fd1
Status: Downloaded newer image for mycluster.icp:8500/default/ibmcom/transformation-advisor-server:1.9.3

-bash-4.2# docker pull mycluster.icp:8500/default/ibmcom/transformation-advisor-db:1.9.3
1.9.3: Pulling from default/ibmcom/transformation-advisor-db
8ee29e426c26: Already exists
6e83b260b73b: Already exists
e26b65fd1143: Already exists
40dca07f8222: Already exists
b420ae9e10b3: Already exists
ae26edaec184: Pull complete
b18cdf6af835: Pull complete
e79e24c5c94f: Pull complete
695a69d7b71d: Pull complete
a2c2c4795e22: Pull complete
72ba4b66585f: Pull complete
0a86d74d9091: Pull complete
0ffbf6cc8d02: Pull complete
19c63dcb0568: Pull complete
9281573ea32d: Pull complete
f5922e00415f: Pull complete
fd028270ff65: Pull complete
d6db3db3ea39: Pull complete
a1adf1cc489e: Pull complete
71e2319746bb: Pull complete
d352de541132: Pull complete
Digest: sha256:53213cebba4f552014c50bd44417d690b3169192580f462f503adcf01ea55fbc
Status: Downloaded newer image for mycluster.icp:8500/default/ibmcom/transformation-advisor-db:1.9.3

Now the images are visible from docker and the transformation advisor pods can start successfully:

-bash-4.2# docker images | grep transformation
mycluster.icp:8500/default/ibmcom/transformation-advisor-db        1.9.3                          3ef60eec5e2e        10 days ago         534MB
mycluster.icp:8500/default/ibmcom/transformation-advisor-server    1.9.3                          8a182a770cd4        11 days ago         1.46GB
mycluster.icp:8500/default/ibmcom/transformation-advisor-ui        1.9.3                          a257dff2eb8f        11 days ago         508MB

Configure OAuth integration

Because we deployed the IBM TA with Ingress enabled ***, we found that we had to run a specific command to ensure that the OAuth integration between IBM TA and ICP is configured:

With kubectl configured to manage your ICP cluster as described here in the Knowledge Center, we first confirmed that all pods were running fine:

-bash-4.2# kubectl get pods -n transadv
NAME                                                              READY     STATUS      RESTARTS   AGE
transadv-ing-release-ibm-transadv-dev-193-oidc-deployment-8xbwq   1/1       Running     0          24m
transadv-ing-release-ibm-transadv-dev-193-oidc-registratiozkrht   0/1       Completed   0          24m
transadv-ing-release-ibm-transadv-dev-couchdb-7458d68fbf-p4gf9    1/1       Running     0          24m
transadv-ing-release-ibm-transadv-dev-server-69774cc6bd-pzz54     1/1       Running     0          24m
transadv-ing-release-ibm-transadv-dev-ui-76b54bb844-fgnqr         1/1       Running     0          24m

Then we ran the following command:

-bash-4.2# kubectl exec -n transadv -ti `kubectl get pods -n transadv -l release=transadv-ing-release \
> -l app=transadv-ing-release-ibm-transadv-dev-193--oidc-deployment \
> | grep "Running" | head -n 1 | awk '{print $1}'` \
> bash -- "/scripts/register-client.sh" \
> "`kubectl get cm oauth-client-map -n services -o yaml | grep PROXY_IP | grep -v '"PROXY_IP"' | awk '{print $2}'`" \
> "`kubectl get secret platform-oidc-credentials -o yaml -n kube-system | grep OAUTH2_CLIENT_REGISTRATION_SECRET: | awk '{print $2}'`"
set icp proxy ip to 10.226.68.234
set Oauth client registration secret to *
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
Creating new client registration.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2107  100  1130  100   977  10337   8938 --:--:-- --:--:-- --:--:-- 10366
HTTP/1.1 201 Created
Client is registered.

Obtain URL for IBM Transformation Advisor

Finally we obtained the URL for IBM TA:

-bash-4.2#   echo https://$INGRESS_IP/$APP_PATH
https://10.226.68.234/transadv-ing-release-ui

You can also see from the Hostpath /usr/data_ing that the ??? Couch DB pod of IBM TA is writing files there:

-bash-4.2# ls -rtl /usr/data_ing/
total 112
-rw-r--r--  1 5984 5984  8374 Feb 19 14:49 _users.couch
-rw-r--r--  1 5984 5984  8368 Feb 19 14:49 _nodes.couch
-rw-r--r--  1 5984 5984  8374 Feb 19 14:49 _replicator.couch
drwxr-xr-x 10 5984 5984  4096 Feb 19 14:49 shards
-rw-r--r--  1 5984 5984 69820 Feb 19 14:49 _dbs.couch

Start using IBM Transformation Advisor

Originally posted on IBM Developer blog “IBM Cloud Best Practices from the Field” by Hendrik van Run on 20 February 2019 (1824 visits)

Leave a comment

Design a site like this with WordPress.com
Get started