F5Networks / f5-openstack-agent

The F5 Agent for OpenStack Neutron allows you to deploy BIG-IP services in an OpenStack environment.
http://clouddocs.f5.com/products/openstack/agent/latest
Apache License 2.0
14 stars 38 forks source link

HTTP profile incorrectly added to TCP listener with SOURCE_IP persistence #660

Closed jlongstaf closed 7 years ago

jlongstaf commented 7 years ago

Agent Version

9.3.0

Operating System

Any

OpenStack Release

Mitaka

Description

When adding a pool with SOURCE_IP persistence, if the associated listener has TCP protocol, the fastL4 profile is removed and http and oneconnect profiles are added. These profiles are not required for source_addr persistence profiles and should not be added to the virtual server. Note, http profiles are required for HTTP and APP_COOKIE persistence, and are also added for listeners with HTTP, HTTPS, or TERMINATED_HTTPS protocol types.

To recreate:

  1. Create a TCP listener: neutron lbaas-listener-create --name l2 --protocol TCP --protocol-port 23 --loadbalancer lb1
  2. Create a pool with SOURCE_IP persistence: neutron lbaas-pool-create --name p2 --protocol TCP --session-persistence type=SOURCE_IP --lb-algorithm ROUND_ROBIN --listener l2

After step 1. above, virtual server will have a fastL4 profile. After step 2. above, the virtual server should still retain the fastL4 profile (but does not in v9.3.0), and should not have http and oneconnect profiles.

Deployment

Any

zancas commented 7 years ago

I don't know what correct behavior is in the case of "APP_COOKIE" persistence.

pjbreaux commented 7 years ago

Verified that APP_COOKIE session persistence exhibits the same behavior as SOURCE_IP.

pjbreaux commented 7 years ago

Tested in liberty as well. Will fix there and merge forward.