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 #128

Closed jgruber closed 7 years ago

jgruber commented 7 years ago

@mattgreene

What issues does this address?

Fixes #127 WIP #127 ...

What's this change do?

Adds a configuration item 'f5_http_rps_throttle' which is a Boolean and defaults to False. Adds a valid HTTP RPS iRule. The iRule properly keeps the RPS count per virtual server. The previous iRule would never engage the throttle because of a mistake in logic. The new iRule is also CMP compliant.

If the 'f5_http_rps_throttle' config setting is set to True for a VIP with a connection limit > 0, the new iRule will be created for the tenant and associated with the virtual server for the VIP.

If the 'f5_http_rps_throttle' config setting is set to False, the default, on a VIP with a connection limit > 0, the virtaul server will simply have the connection limit set to the VIP connection limit.

Where should the reviewer start?

Start an LBaaSv1 agent with 'f5_http_rps_throttle' set to False. Set a VIP connection limit > 0 and confirm the virtual server has the connection limit set.

Start an LBaasv1 agent with 'f5_http_rps_throttle' set to True. Set a VIP connection limit > 0 and confirm that the tenant iRule was created and associated with the appropriate vip.

mattgreene commented 7 years ago

Please close this PR and resubmit to F5Networks:1.0. I will merge from 1.0 to liberty -> mitaka -> master.