Forum Discussion
Richard__Harlan
Historic F5 Account
Here is what I have used in the past to have the LTM try all members in the pool on a 4xx or 5xx status code. It could be easy updated to do what you want
when CLIENT_ACCEPTED {
set retry 0
}
when HTTP_REQUEST {
set http_request [HTTP::request]
}
when HTTP_RESPONSE {
if { ([HTTP::status] starts_with "4") || ([HTTP::status] starts_with "5")} {
incr retry
if { $retry <= [active_members [LB::server pool]] } {
HTTP::retry $http_request
} else {
set retry 0
}
} else {
set retry 0
}
}
when LB_SELECTED {
log local0.info "Run $retry";
if { ($retry > 0) && ($retry <= [active_members [LB::server pool]])} {
LB::reselect pool [LB::server pool]
}
}
Moinul_Rony
Sep 19, 2013Altostratus
Thanks Richard, That really helps. How do you log the original responses using "log local0.info " ?