I rule not redirecting correctly although the I rule looks ok
I have a client who has a bunch of VIP for a Dr Environment
Each of the VIPS has 2 I-rules configured. for the ease of explanation I will refer to them as I rule [A] and I rule [B]
I rule [A] is written as follows
when HTTP_REQUEST {
if { [matchclass [string tolower [HTTP::header User-Agent]] contains $::Dozzer] } {
pool X
} else {
pool Y
}
}
I rule [B] is written as follows
when HTTP_REQUEST {
if {[string tolower [HTTP::uri]] contains "/pages/checkout/thirdmanresponsepage.jsf"}{
pool X
}
else {
pool Y
}
}
I Rule A is simple enough with its request when a a request comes in and contains the following string it will direct to Pool X if doesn't contain the string it will direct to pool Y
I Rule [B] is also simple enough when a request comes in if it contains the following string it will direct to pool X if it doesn't it will direct to pool Y.
In both I rules. Pool Y contains the same pool members which in both cases is the default pool. all requests are going to the default pool.
The client has asked us why all requests are going to the default pool and not reading the requests in the URI to direct to the correct pool member.
I even added logging to the Irule to see where the redirects are going and all of them go to the default pool. I have tried various ways of correcting this to no avail.
I think the problem must be with the first I rule. when the requests are coming in and it contains the string it will direct to the Dozzer datalist group or else it will send to the default pool. When other request comes in and hits the 2nd I rule it contains the string specified it will direct to the first pool [X] but instead it directs to the default pool of [Y].
Im struggling to understand why this is happening my only hunch is there is a conflict of the I-rules.
Please help, im happy to answer all your questions or explain things a bit more clearer.