Watson Assistant on IBM ICP - Serviceid-Secret Error while Installing

10/16/2018

I'm trying to install Watson Assistant for ICP V1.0.0.1 to my IBM ICP 2.1.0.3. I've followed the tutorial on https://console.bluemix.net/docs/services/assistant-icp/install.html#install word by word. However, at the last step, when I want to start the deployment, I'm getting an error saying:

Internal service error : rpc error: code = Unknown desc = release watsonist failed: Secret "-serviceid-secret" is invalid: metadata.name: Invalid value: "-serviceid-secret": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')

My release name is watsonist and left every value at default in my first trial, changed passwords in my second and I'm getting the same error even with different release names.

What do you think might be the problem? Any help would be greatly appreciated.

Thanks!

-- Poyraz Sagtekin
ibm-cloud-private
ibm-watson
kubernetes

1 Answer

10/17/2018

It seems the recommended solution to install Watson Assistant on ICP is to use Helm CLI rather than the UI with following commands (for V1.0.0):

Download the package you have pushed:

wget --no-check-certificate https://mycluster.icp:8443/helm-repo/requiredAssets/ibm-watson-assistant-prod-1.0.0.tgz

Then:

tar -xzvf ibm-watson-assistant-prod-1.0.0.tgz ibm-watson-assistant-prod/values.yaml -C ./ --strip-components=1

-- You will have access to values.yaml file for personalization modifications with the command above.

Then:

sed -i -- ‘{s/{icp-url}/mycluster.icp/g}’ values.yaml

And, finally:

helm install --tls --namespace conversation --name assistant -f values.yaml ibm-watson-assistant-prod-1.0.0.tgz

Make sure your Helm and Tiller version is 2.7.3+icp. This version is not an official release that you can find on Helm's Github page. You need to extract and install it from ICP image loaded on Docker with the following command:

docker run -e LICENSE=accept --net=host -v /usr/local/bin:/data ibmcom/icp-helm-api:1.0.0 cp /usr/src/app/public/cli/linux-amd64/helm /data

Moreover, if you're getting an error saying there's a problem with your tiller and show ImagePullBackoff or ErrImagePull on your tiller pod's status, then you need to open your tiller deploy's configuration file on vi using the command below:

kubectl -n kube-system edit deployment tiller-deploy

And replace

gcr.io/kubernetes-helm/tiller:v2.7.3

with

ibmcom/tiller:v2.7.3-icp.

Also, it is recommended that you update each node's /etc/hosts file or your DNS server with following:

<< Master VIP Address >> CA Domain (default: mycluster.icp)
<< Proxy VIP Address >> Watson Assistant Subdomain (default: assistant.mycluster.icp)
-- Poyraz Sagtekin
Source: StackOverflow