How to configure Listener timeouts for Load Balancers

By default, Kuryr uses the default Octavia timeout-client-data and timeout-member-data values when creating or modifying loadbalancers. To change the timeout values used in creating or modifying a particular service:

Set the new timeout values for openstack.org/kuryr-timeout-client-data and openstack.org/kuryr-timeout-member-data in the service annotation as seen in the service manifest below. This specification sets the timeout-client-data and the timeout-member-data to ‘70000’ and ‘75000’ respectively.

apiVersion: v1
kind: Service
metadata:
  name: kuryr-demo
  annotations:
    openstack.org/kuryr-timeout-client-data: '70000'
    openstack.org/kuryr-timeout-member-data: '75000'
spec:
  selector:
    app: server
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

Note

The listener timeout values can be reset to the defaults by removing the sevice annotations for the timeout values.

Setting the timeouts via ConfigMap

Alternatively, you can change the value of the timeout-client-data and/or the timeout-member-data on the Kuryr ConfigMap. This option is ideal if the new timeout values will be used for multiple loadbalancers. On DevStack deployment, the Kuryr ConfigMap can be edited using:

$ kubectl -n kube-system edit cm kuryr-config

The listener timeouts then needs to be changed at the ConfigMap:

[octavia_defaults]
timeout_member_data = 0
timeout_client_data = 0

Another option is to set the listener timeouts at the local.conf file.

#KURYR_TIMEOUT_CLIENT_DATA=0
#KURYR_TIMEOUT_MEMBER_DATA=0

Note

The listener timeouts values set via the ConfigMap or set at the local.conf can be overridden by values set in the service annotations for a particular service.