Servility: Hight
Description: acos-client Health Monitor use a global _method_objects dictionary for all hm request. And every request will change it. There are two issue for this:
previous request parameter still keep in it. and
it is not thread-safe, if 2 request running at the same time. Two operation will both make change on it and the result it unpredictable.
Servility: Hight Description: acos-client Health Monitor use a global _method_objects dictionary for all hm request. And every request will change it. There are two issue for this:
Issue: https://a10networks.atlassian.net/browse/STACK-3374
Solution:
Test:
health monitor octavia_health_monitor retry 5 override-ipv4 192.168.0.164 interval 20 timeout 3 method udp port 5550 ! health monitor 70e20252-0053-48df-8554-a45baab69ea6 retry 2 interval 3 timeout 1 method https port 443 expect response-code 200 url HEAD /ab/cd/ef ! health monitor 0db16888-878b-40a3-84d4-265f27c52ec1 retry 2 interval 3 timeout 1 method https port 443 expect response-code 200 url GET /ab/cd/ef ! health monitor 9fd3f045-6333-43ee-8cad-e2fab9c9a9ab retry 2 interval 3 timeout 1 method https port 443 expect response-code 200 url POST /ab/cd/ef postdata 0123456789 ! slb server octavia_health_manager_controller 192.168.0.164 health-check octavia_health_monitor ! slb service-group 12ea4789-7a89-446f-8c55-37f850409014 tcp ! slb service-group 26384039-9bf9-4141-acb4-1b148a04205a tcp ! slb service-group f43882dc-3820-4fc0-acc9-f5ddede8d9ee tcp ! slb virtual-server fcd0eb9e-3096-4603-b35a-5653cbad72f9 192.168.91.204 port 80 tcp name 4e90a68d-e19a-4e0b-a04f-47b74d8ad783 extended-stats source-nat auto service-group 26384039-9bf9-4141-acb4-1b148a04205a port 82 tcp name 719d39a4-34d9-4cb3-82b1-dc2b5624d2d2 extended-stats source-nat auto service-group 12ea4789-7a89-446f-8c55-37f850409014 port 8047 http name f98671e7-be26-454a-89ce-f7ca58a5634d extended-stats source-nat auto service-group f43882dc-3820-4fc0-acc9-f5ddede8d9ee !