Provide data timeouts for K8s API LB

Octavia (and LBaaS v2) defaults to 50 seconds as data timeout for
connections. This is obviously not acceptable for our Watcher
connections that hang watching on K8s API for a long time.

As Octavia recently made this configurable, this commit extends that
timeout to an hour, easily enough to run of all Tempest tests.

Change-Id: I3fe24355acf0943d78f2d9760877ad594f36715e
Closes-Bug: 1773340
This commit is contained in:
Michał Dulko 2018-06-13 20:00:03 +02:00
parent a48a49bce6
commit 719cc1cc28
2 changed files with 6 additions and 1 deletions

View File

@ -913,6 +913,7 @@ function create_load_balancer {
# name: Name to give to the load balancer listener.
# protocol: Whether it is HTTP, HTTPS, TCP, etc.
# port: The TCP port number to listen to.
# data_timeouts: Octavia's timeouts for client and server inactivity.
# lb: Id or name of the Load Balancer we want to add the Listener to.
# project_id: Id of the the project where this listener belongs
function create_load_balancer_listener {
@ -920,6 +921,7 @@ function create_load_balancer_listener {
local protocol
local port
local lb
local data_timeouts
local max_timeout
local project_id
@ -928,6 +930,7 @@ function create_load_balancer_listener {
port="$3"
lb="$4"
project_id="$5"
data_timeouts="$6"
max_timeout=1200
# Octavia needs the LB to be active for the listener
@ -937,6 +940,8 @@ function create_load_balancer_listener {
openstack loadbalancer listener create --name "$name" \
--protocol "$protocol" \
--protocol-port "$port" \
--timeout-client-data "$data_timeouts" \
--timeout-member-data "$data_timeouts" \
"$lb"
else
neutron lbaas-listener-create --name "$name" \

View File

@ -237,7 +237,7 @@ function create_k8s_api_service {
create_load_balancer "$lb_name" "$KURYR_NEUTRON_DEFAULT_SERVICE_SUBNET"\
"$project_id" "$k8s_api_clusterip"
create_load_balancer_listener default/kubernetes:443 HTTPS 443 "$lb_name" "$project_id"
create_load_balancer_listener default/kubernetes:443 HTTPS 443 "$lb_name" "$project_id" 3600000
create_load_balancer_pool default/kubernetes:443 HTTPS ROUND_ROBIN \
default/kubernetes:443 "$project_id" "$lb_name"