Ping test Utility
When trying to diagnose a request timeout problem it is helpful to rule out gateways/load balancers outside the OCP cluster. Sometimes these external gateways can have short timeouts which are resetting a connection before the request is completed. The Ping test Utility is designed to help diagnose this issue.
IMPORTANT
As of this writing the Ping test utility is not part of the base server bundle code and needs to be loaded via a customization archive. This means that the ManageWorkspace CR needs to be updated and will require a restart of the server bundles (i.e. it will cause a disruption while the server bundle pod is restarted).
Updating the ManageWorkspace CR
- Edit the ManageWorkspace CR in the MAS Manage namespace
Single Customization Archive
spec:
settings:
customization:
customizationArchive: https://ibm.box.com/shared/static/oj9z062b7x8hcywndnv6n57gya7e1ypz.zip
In case you already have a customization archive add to the customizationList
spec:
settings:
customizationList:
- customizationArchiveName: archiveAlias1
customizationArchiveUrl: https://ibm.box.com/shared/static/oj9z062b7x8hcywndnv6n57gya7e1ypz.zip
- Wait for the MAS Manage workspace operator to update the server bundle pods with the Ping servlet class and restart the server bundle pods
Using the Ping servlet utility to test request timeouts outside the OCP cluster
- Run the following curl command outside the OCP cluster using the external hostname of the MAS Manage server bundle pod. The command below will send a request to the Ping servlet which will wait for 1 second before responding. If a response is returned it means no timeout occurred.
$ curl https://tenant1.manage.masperf4.ibmmas.com/maximo/ping?timeout=1
{"thread wait time":"1 seconds","status":"ok"}
$
- Change the timeout value to match the timeout that you are observing in problematic request. For example, the Ping request below sets a timeout of 300
seconds. If no response is received it means the request timed out and the same request should be attempted from inside the OCP cluster using the private
IP address of the server bundle pod (see
Using the Ping servlet utility to test request timeouts inside the OCP cluster
below).
$ curl https://tenant1.manage.masperf4.ibmmas.com/maximo/ping?timeout=300
Using the Ping servlet utility to test request timeouts inside the OCP cluster
- Obtain the internal Cluster IP address of the MAS Manage UI service.
- Go to maxinst pod in the MAS Manage namespace -> terminal tab, then execute below commands:
$ curl --insecure https://172.30.237.166:443/maximo/ping?timeout=300
{"thread wait time":"300 seconds","status":"ok"}
$
If you receive a response from the request issued to the internal Cluster IP address of the MAS Manage UI service, but do not receive a response issued externally from outside the cluster, it could be the case that an external gateway service or load balancer is closing the connection due to a shorter timeout set on the gateway. Check is a network administrator.