Just for kicks...please change your request event to this:
when HTTP_REQUEST {
If the cookie exists, connect to the IP specified in the cookie
if { [HTTP::cookie exists "cookie"] } {
if { ([HTTP::cookie "cookie"] ne "") } {
set persist_node [HTTP::cookie "cookie"]
log local0. "persist_node is $persist_node and server pool is [LB::server pool]"
set current_pool [LB::server pool]
foreach member [active_members -list $current_pool] {
set node [lindex $member 0]
if { $node eq $persist_node } {
node $persist_node [lindex $member 1]
}
}
}
}
}
This is less efficient as we're setting a variable for the selected pool, but I'm curious.