when HTTP_REQUEST {
if {([string tolower [HTTP::uri]] starts_with "/profile")} {
pool profile_3111
}
else {
pool ecentral_4111
}
}
default pool for the VIP is
ecentral_4111
. pool is in offline status, but the VIP is online, because pool
profile_3111
is online. That’s understandable. What I don’t understand, why do I get reply back, when request doesn’t contain ‘/profile’ ?
I opened a support ticket and engineer replied to me, this is because another pool with the same name but in a different partition is online. This can’t be a proper behavior, is it? And if it’s indeed works as expected, how do I confine traffic within a partition?
If you keep pools name the same you don’t have to create different set of irules for each environment under source control. You can just change name of the partition.
Partitions are useful only to group configuration for user permissions, route domains, sync-only groups etc. There is not a real isolation. Using it only to organize the configuration like real directories, IMHO, is a mistake. Moreover, I don’t know if it’s possible to programatically redirect a VS to an offline pool and expect it to dynamically inherit the new pool state, maybe would be better to check the pool state before redirecting in order to reject the connection manually in case of errors.