HAproxy/heat_api: increase timeout to 10m
authorEmilien Macchi <emilien@redhat.com>
Mon, 17 Apr 2017 15:30:23 +0000 (11:30 -0400)
committerEmilien Macchi <emilien@redhat.com>
Mon, 17 Apr 2017 21:07:36 +0000 (21:07 +0000)
Default timeout is 2min but it doesn't reflect the rpc_response_timeout
value that we set in THT and instack-undercloud, which is 600 (10 min).

In some cases (in low-memory environments), Heat needs more than 2
minutes to reply to the client, when deploying the overcloud.
It makes sense to increase the timeout to the value of rpc_timeout to
give a chance to Heat to reply to the client, otherwise HAproxy will
kill the connection and send 504 to the client.

Depends-On: I9669d40d86d762101734704fcef153e360767690
Change-Id: I32c71fe7930c8798d306046d6933e4b20c22740c
Related-Bug: 1666072

manifests/haproxy.pp
releasenotes/notes/heat_api_timeout-cbb01242534cec79.yaml [new file with mode: 0644]

index a32c8d9..a6bd1eb 100644 (file)
@@ -1185,13 +1185,17 @@ class tripleo::haproxy (
 
   $heat_api_vip = hiera('heat_api_vip', $controller_virtual_ip)
   $heat_ip_addresses = hiera('heat_api_node_ips', $controller_hosts_real)
+  $heat_timeout_options = {
+    'timeout client' => '10m',
+    'timeout server' => '10m',
+  }
   if $service_certificate {
     $heat_ssl_options = {
       'rsprep' => "^Location:\\ http://${public_virtual_ip}(.*) Location:\\ https://${public_virtual_ip}\\1",
     }
-    $heat_options = merge($default_listen_options, $heat_ssl_options)
+    $heat_options = merge($default_listen_options, $heat_ssl_options, $heat_timeout_options)
   } else {
-    $heat_options = $default_listen_options
+    $heat_options = merge($default_listen_options, $heat_timeout_options)
   }
 
   if $heat_api {
diff --git a/releasenotes/notes/heat_api_timeout-cbb01242534cec79.yaml b/releasenotes/notes/heat_api_timeout-cbb01242534cec79.yaml
new file mode 100644 (file)
index 0000000..a3b7d91
--- /dev/null
@@ -0,0 +1,5 @@
+---
+fixes:
+  - For Heat API, increase the HAproxy timeout from 2 minutes to 10 minutes so
+    we give a chance to Heat to use the rpc_response_timeout value which is set
+    to 600 by default in TripleO.