Instructor Guide

The content in this section is specifically made for instructors hosting this workshop.

Logging into Tekton UI

To log into the Tekton UI, you need to authenticate with the OpenShift cluster is was deployed on. This means that if we spin up 1 or N clusters for every workshop participant, then they all need to be added to the a single IBM Cloud account beforehand, and consequently must have an IBM ID, too.

Pushing to the OpenShift registry times out

It's possible that when deploying a large image to OpenShift's internal registry, the deployment times out, with an error message like this:

$ appsody deploy --tag $DOCKER_REGISTRY/insurance-quote/quote-backend:v1 --push --namespace insurance-quote
...
[Docker] Successfully built 89b220cafd4a
[Docker] Successfully tagged docker-registry-default.cp4apps-workshop-prop-5290c8c8e5797924dc1ad5d1b85b37c0-0001.us-east.containers.appdomain.cloud/insurance-quote/quote-backend:1
Built docker image docker-registry-default.cp4apps-workshop-prop-5290c8c8e5797924dc1ad5d1b85b37c0-0001.us-east.containers.appdomain.cloud/insurance-quote/quote-backend:1
Using applicationImage of: docker-registry-default.cp4apps-workshop-prop-5290c8c8e5797924dc1ad5d1b85b37c0-0001.us-east.containers.appdomain.cloud/insurance-quote/quote-backend:1
Pushing docker image docker-registry-default.cp4apps-workshop-prop-5290c8c8e5797924dc1ad5d1b85b37c0-0001.us-east.containers.appdomain.cloud/insurance-quote/quote-backend:1
[Error] Could not push the image: exit status 1 The push refers to repository [docker-registry-default.cp4apps-workshop-prop-5290c8c8e5797924dc1ad5d1b85b37c0-0001.us-east.containers.appdomain.cloud/insurance-quote/quote-backend]
9176e849956e: Preparing
25311323356d: Preparing
c7a362505ffd: Layer already exists
4487d7944a84: Layer already exists
9176e849956e: Pushed
34c263b82e37: Retrying in 5 seconds

To get around this issue, the IOPS (input/output operations per second) should be upgraded past the default (0.25). To do this, follow this guide (or see the Official Documentation).

First, find the OpenShift volume claim ID for registry-backing. To do this run:

oc get pvc --all-namespaces

You should see output similar to the snippet below, in this case the volume claim ID is pvc-82769bfa-f694-11e9-bf77-faf40b1b6da7.

$ oc get pvc --all-namespaces
NAMESPACE NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
default registry-backing Bound pvc-82769bfa-f694-11e9-bf77-faf40b1b6da7 20Gi RWX ibmc-file-bronze 4d

Use oc describe pv to find the volume ID (this is different than the volume claim ID), and can be found in the Labels section of the output. In this case it is 102411628.

$ oc describe pv pvc-82769bfa-f694-11e9-bf77-faf40b1b6da7 --namespace default
Name: pvc-82769bfa-f694-11e9-bf77-faf40b1b6da7
Labels: CapacityGb=20
Datacenter=wdc04
Iops=2
StorageType=ENDURANCE
Username=IBM02SEV1323471_4322
billingType=hourly
failure-domain.beta.kubernetes.io/region=us-east
failure-domain.beta.kubernetes.io/zone=wdc04
path=IBM02SEV1323471_4322data01
server=fsf-wdc0401h-fz.service.softlayer.com
volumeId=102411628
Annotations: ibmFileProvisionerIdentity=8d6ff3ed-f695-11e9-9ecf-66243bd50687
pv.kubernetes.io/provisioned-by=ibm.io/ibmc-file
Finalizers: [kubernetes.io/pv-protection]
StorageClass: ibmc-file-bronze
Status: Bound
Claim: default/registry-backing
Reclaim Policy: Delete
Access Modes: RWX
Capacity: 20Gi
Node Affinity: <none>
Message:
Source:
Type: NFS (an NFS mount that lasts the lifetime of a pod)
Server: fsf-wdc0401h-fz.service.softlayer.com
Path: /IBM02SEV1323471_4322/data01
ReadOnly: false
Events: <none>

Lastly, use the ibmcloud sl file command to modify the volume to have 10 IOPS. This may take several minutes to complete.

$ ibmcloud sl file volume-modify 102411628 --new-tier 10
This action will incur charges on your account. Continue?> y

Alternatively, should the CLI fail, modifying the volume can be done be accomplished from the IBM Cloud Dashboard. Navigate to https://cloud.ibm.com/classic/storage/file/{id}, where {id} is the volume ID. Choose to modify the volume, and choose an IOPS of 10.

Modify the volume's IOPS