Search code examples
restproxytimeoutopenshifthaproxy

OpenShift Service Proxy timeout


I have an application deployed on OpenShift Container Platform v3.6. It consists of multiple services interconnected to each other.

The frontend service calls a time consuming function of the backend service (through a REST call), but after 30 seconds it receives a "504 Gateway Timeout" message. Frontend runs over nginx, but I've already configured it with long proxy send/read timeouts, so the 504 message doesn't come from it. I think it comes from the Service Proxy component of OpenShift Platform, but I can't find out where and how configure a kind of service proxy timeout. I know the existence of HAProxy timeout for external routes, but my services leave in the same cluster application and communicate each other via OpenShift Container Platform DNS.

Could be a Service Proxy timeout issue? How can it be configured?

Thanks!


Solution

  • Your route timeout is the culprit. The haproxy ingress router is terminating the request. You can configure the timeout by following the docs below:

    https://docs.openshift.com/container-platform/3.5/install_config/configuring_routing.html

    For example:

    # Set the timeout on 'longrunningroute' to five minutes.
    oc annotate route longrunningroute --overwrite haproxy.router.openshift.io/timeout=5m