Add ability to set timeouts in haproxy_amphora

Change-Id: I675a36bea70d0a2a7d9f922f71f86293a6e06870
Related-PROD: PROD-34959
diff --git a/metadata/service/manager/cluster.yml b/metadata/service/manager/cluster.yml
index 058f6e4..df63ad2 100644
--- a/metadata/service/manager/cluster.yml
+++ b/metadata/service/manager/cluster.yml
@@ -10,6 +10,9 @@
     octavia_hm_bind_port: 5555
     octavia_amphora_availability_zone: 'nova'
     octavia_worker_connection_max_retries: 500
+    octavia_timeout_client_data: 50000
+    octavia_timeout_member_connect: 5000
+    octavia_timeout_member_data: 50000
   octavia:
     manager:
       enabled: true
@@ -53,6 +56,9 @@
         client_cert_all: '/etc/octavia/certs/client_all.pem'
         server_ca: '/etc/octavia/certs/ca_01.pem'
         connection_max_retries: ${_param:octavia_worker_connection_max_retries}
+        timeout_client_data: ${_param:octavia_timeout_client_data}
+        timeout_member_connect: ${_param:octavia_timeout_member_connect}
+        timeout_member_data: ${_param:octavia_timeout_member_data}
       health_manager:
         bind_ip: ${_param:octavia_hm_bind_ip}
         bind_port: ${_param:octavia_hm_bind_port}
diff --git a/metadata/service/manager/single.yml b/metadata/service/manager/single.yml
index 125ce45..1a883c2 100644
--- a/metadata/service/manager/single.yml
+++ b/metadata/service/manager/single.yml
@@ -10,6 +10,9 @@
     octavia_hm_bind_port: 5555
     octavia_amphora_availability_zone: 'nova'
     octavia_worker_connection_max_retries: 500
+    octavia_timeout_client_data: 50000
+    octavia_timeout_member_connect: 5000
+    octavia_timeout_member_data: 50000
   octavia:
     manager:
       enabled: true
@@ -53,6 +56,9 @@
         client_cert_all: '/etc/octavia/certs/client_all.pem'
         server_ca: '/etc/octavia/certs/ca_01.pem'
         connection_max_retries: ${_param:octavia_worker_connection_max_retries}
+        timeout_client_data: ${_param:octavia_timeout_client_data}
+        timeout_member_connect: ${_param:octavia_timeout_member_connect}
+        timeout_member_data: ${_param:octavia_timeout_member_data}
       health_manager:
         bind_ip: ${_param:octavia_hm_bind_ip}
         bind_port: ${_param:octavia_hm_bind_port}
diff --git a/octavia/files/queens/octavia_manager.conf b/octavia/files/queens/octavia_manager.conf
index a4d5d30..4c73b8b 100644
--- a/octavia/files/queens/octavia_manager.conf
+++ b/octavia/files/queens/octavia_manager.conf
@@ -654,6 +654,15 @@
 #build_rate_limit=-1
 build_rate_limit = {{ manager.haproxy_amphora.get('build_rate_limit', '-1') }}
 
+# client inactivity timeout.
+timeout_client_data = {{ manager.haproxy_amphora.timeout_client_data }}
+
+# member connection timeout.
+timeout_client_data = {{ manager.haproxy_amphora.timeout_member_connect }}
+
+# member inactivity timeout.
+timeout_client_data = {{ manager.haproxy_amphora.timeout_member_data }}
+
 # Retry threshold for waiting for a build slot for an amphorae.
 #build_active_retries=300
 
diff --git a/octavia/files/rocky/octavia_manager.conf b/octavia/files/rocky/octavia_manager.conf
index 2187fdc..28178c7 100644
--- a/octavia/files/rocky/octavia_manager.conf
+++ b/octavia/files/rocky/octavia_manager.conf
@@ -350,6 +350,15 @@
 #connection_retry_interval = 5
 connection_retry_interval = 1
 
+# client inactivity timeout.
+timeout_client_data = {{ manager.haproxy_amphora.timeout_client_data }}
+
+# member connection timeout.
+timeout_client_data = {{ manager.haproxy_amphora.timeout_member_connect }}
+
+# member inactivity timeout.
+timeout_client_data = {{ manager.haproxy_amphora.timeout_member_data }}
+
 # Number of amphorae that could be built per controller worker, simultaneously.
 #build_rate_limit=-1
 
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index 312b7e4..dbc436e 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -38,6 +38,7 @@
     virtualenv $VENV_DIR
     source ${VENV_DIR}/bin/activate
     pip install salt${PIP_SALT_VERSION}
+    pip install 'msgpack<1.0.0'
 }
 
 setup_pillar() {