Support PROXY and PROXYV2 protocol for a10-octavia pool
a10-octavia need to consider the proxy protocol support on ACOS versions. Proxy protocol is officially supported on ACOS 5.2.1, but it can also be configured on 4.1.4. Therefore,
by default: a10-octavia will configure the proxy-header insert v1/v2 in tcp proxy template and bind to vport for PROXY/PROXYV2 pool.
But provide an option (i.e. use_aflex_proxy) for user to choose use aFlex to configure PROXY protocol (v1) on TCP vport in Thunder.
a10-octavia should maintain tcp-proxy template and aFlex script properly and deleted when it is no longer needed.
Description
Proxy Protocol Support Story: https://a10networks.atlassian.net/browse/STACK-3247
Jira Ticket
https://a10networks.atlassian.net/browse/STACK-3247
Technical Approach
Please check details in design document: https://a10networks.sharepoint.com/:w:/s/Openstack/Ecto3CVxEP5CvDkK5uJE1MUBQu_b0UKppgYnEHpEE1wD6Q?e=y8rBWv
Config Changes
Test Cases
Rack Flow basic Proxy V1 pools Create Proxy V2 pools Create Proxy V1 pools with aFlex Create Proxy V1 pools Delete Proxy V2 pools Delete Proxy V1 pools with aFlex Delete Proxy V1 pools cascade deletion Proxy V2 pools cascade deletion Proxy V1 pools with aFlex cascade delete Proxy V1 pools and Proxy V1 pools with aFlex create Proxy V1 pools and Proxy V1 pools with aFlex delete (delete proxy first) Proxy V1 pools and Proxy V1 pools with aFlex delete (delete aflex proxy first) Proxy V1 pools and Proxy V1 pools with aFlex cascade delete
vThunder Flow Proxy V1 pools Create Proxy V2 pools Create Proxy V1 pools with aFlex Create Proxy V1 pools Delete Proxy V2 pools Delete Proxy V1 pools with aFlex Delete Proxy V1 pools cascade delete Proxy V2 pools cascade delete Proxy V1 pools with aFlex cascade delete Proxy V1 pools and Proxy V1 pools with aFlex create Proxy V1 pools and Proxy V1 pools with aFlex delete Proxy V1 pools and Proxy V1 pools with aFlex cascade delete
Fully Populated with Proxy Protocol Rack flow Proxy V1 pools Create Rack flow Proxy V2 pools Create Rack flow Proxy V1 pools with aFlex Create vThunder flow Proxy V1 pools Create vThunder flow Proxy V2 pools Create vThunder flow Proxy V1 pools with aFlex Create
Traffic Test Proxy Protocol Proxy Protocol V2 Porxy Protocol with aFlex
Please check unit-test document for details: https://a10networks.sharepoint.com/:w:/s/Openstack/Efq-YrNuXNVJrbeiF0h_k-UB_msQhUOweJRncRvzCY_LmQ?e=KT84pH
Manual Testing
Please check unit-test document for details: https://a10networks.sharepoint.com/:w:/s/Openstack/Efq-YrNuXNVJrbeiF0h_k-UB_msQhUOweJRncRvzCY_LmQ?e=KT84pH