irule based pool selection *and* priority group activation?
Hello!
I am using an irule using a switch command with a single virtual server in LTM 11.3 to split traffic between several pools for the same set of hosts.
http://www.abc.com/site2
http://www.abc.com/site3
site1-pool, site2-pool, and site3-pool are all identical. Each has 5 members at priority 2, and 5 members at priority 1, with activation set at less than 1.
The virtual server has no default pool, it has an irule as follows:
when HTTP_REQUEST {
switch --glob -- [string tolower [HTTP::path]] {
"/site2*" {
pool site2-pool
return
}
"/site3*" {
pool site3-pool
return
}
default {
pool site1-pool
return
}
}
}
Functionally, all traffic is indeed getting sent to each pool correctly. My problem is that pool member priorities are not being respected. Traffic is getting sent to priority 1 members of each pool, even though all of the priority 2 members are up. My other "normal" virtual servers with a single pool correctly send traffic only to the priority 2 servers, it is just the one where the pool is being selected by the iRule that is not respecting the priority.
Am I missing something? Is there something I need to specify in the iRule to cause it to respect the priority group activation settings on the pool to which the traffic is being sent? Or do I have to (ugh) reinvent the priority group activation logic within this irule itself?