F5Networks / f5-openstack-lbaasv1

OpenStack Neutron LBaaSv1 plugin and agent to control F5 BIG-IP devices
http://f5-openstack-lbaasv1.readthedocs.io
6 stars 8 forks source link

added config item f5_http_rps_throttle and a proper HTTP rps iRule #131

Closed jgruber closed 7 years ago

jgruber commented 7 years ago

@

What issues does this address?

Fixes #127 WIP #127 ...

What's this change do?

Creates a agent config entry to toggle if VIP connection limit should be an L4 connection limit or an L7 HTTP rps limit for HTTP VIPs. By default the VIP will stick to current tested L4 connection limits.

If the agent config set the f5_http_rps_throttle setting to True, a new iRule is used to implement the HTTP rps throttle. The new iRule was tested on 11.x and 12.x and is CMP friendly. The old iRule did not work. It never engaged a throttle limit.

Where should the reviewer start?

Create an LBaaSv1 Pool and VIP.with no changes to the agent config. On the VIP set the protocol to HTTP and connection_limit attribute > 1. Confirm the BIG-IP virtual server connection limit attribute tracks the VIP connect_limit attribue.

Create and LBaaSv1 Pool and VIP with the f5_http_rps_throttle = True set in the agent config. On the VIP set the protocol to HTTP connection_limit attribute > 1. Confirm that the agent created the HTTP throttle iRule in the client folder and the iRule was associated with the BIG-IP virtual server created for the VIP.

Any background context?

The only iRule did not work as intended.