Test your ST4SD deployment using the st4sd-examples notebooks.
Refer to the requirements documentation regarding the secure microservices and the associated Role Based Access Control (RBAC) configuration. You may also look at the logs of the st4sd-authentication-XXX-YYYYY
under the OpenShift namespace that hosts your workflow stack.
The very first time that the st4sd-datastore-mongodb-YY-XXXXX
pod executes, it instantiates a MongoDB database. This step might take a couple of minutes.
While this step is executing the MongoDB the containers in the st4sd-datastore-mongodb-YY-XXXXX
and st4sd-datastore-mongodb-YY-XXXXX
pods will be unable to connect to the MongoDB.
We suggest that you monitor the logs of the container under the st4sd-datastore-mongodb-YY-XXXXX
pod for a few minutes while it is booting up. At some point you will notice that there are 3 incoming Python Client connections, these are coming from the containers in the st4sd-datastore-nexus-YY-XXXXXX
and st4sd-datastore-mongodb-YY-XXXXX
pods. Once you see the log statements, and you can see that all containers of the centralized-database-nexus-YY-XXXXXX
and st4sd-datastore-mongodb-YY-XXXXX
pods are in the running state you can start using the centralized-database API.
Wait for the ST4SD Runtime Service to transition to the Running
state and then visit it via https://
- To do that, prefix the
hostRuntimeService
parameter (from the ConfigMap you created in an earlier step) withhttps://
- You should be prompted to login to OpenShift. This is to ensure that only people/service-accounts authorized to use the Consumable-Computing RestApi may access it.
- Once you login, OpenShift will inform you that the OpenShift oauth-proxy side-car container will be informed that you've successfully logged in. OpenShift will then give you the option to block the OpenShift side-car container from using this information to inform the Consumable-Computing REST-API that you're authorized to use its API. You should click on the positive response that is provided to you (e.g. ensure that check-boxes are filled in, and then click on
Accept/Submit
). You will not have to re-affirm your choices in the future. - That should land you to the Swagger page of the ST4SD Runtime Service.
If your ST4SD Runtime Service pod keeps failing check its stdout it's likely that the st4sd-runtime-service
ConfigMap is misconfigured. If that is the case, and you do not understand how to fix it by looking at the st4sd-runtime-service
documentation please contact us to provide assistance.
-
If you do not specify a
clusterRouteDomain
the helm-chart will try to detect the domain of your cluster by running the equivalent of echooc get ingress.config.openshift.io cluster -o jsonpath="{.spec.domain}"
. The error below is an indication that either the object does not exist, you do not have adequate Kubernetes privileges to look at it, or it does not have aspec.domain
field. You need to contact your cluster administrator to provide theclusterRouteDomain
value.Error: UPGRADE FAILED: template: workflow-stack/templates/route-consumable-computing.yaml:9:11: executing "helm-chart/templates/route-authentication.yaml" at <include "host.workflowStack" .>: error calling include: template: workflow-stack/templates/_helpers.tpl:19:38: executing "builddomain" at <$route.status.ingress>: can't evaluate field status in type string
- If you see pods pending,
oc describe
them to see why they are pending. For example if they are unable to mount the PVCs you created check if you have created them in the namespace you deployed ST4SD to. - If the pods are unable to connect to MongoDB the MongoDB credentials are likely corrupted. You may get here if between re-installs of ST4SD do not clean up the PVC you selected for
pvcForDatastoreMongoDB
and you have deleted thest4sd-namespaced-managed
helm-release. - If after a minute of deploying ST4SD you notice that there are ST4SD microservices pods missing. Run
oc get deploymentconfig -n <the ST4SD namespace>
. If you notice that any DeploymentConfig object hasCURRENT
equal to 0 then this means that the pod associated with that DeploymentConfig may not get scheduled. You can get here if the associatedxxx-deploy
pod failed to start the Pod. To resolve this issue, you can delete the DeploymentConfig object and run the commandCUSTOM_HELM_VALUES=no scripts/namespaced-managed.sh
. This will re-create the DeploymentConfig objects.
If you cannot troubleshoot your deployment please send us a message first.
Follow the instructions to uninstall ST4SD and then return here. If you have not used ST4SD at all we recommend deleting the PVCs and creating them from scratch to ensure that there are no leftover files (e.g. in the MongoDB pvc).