Forum Discussion

Andreas_Schneid's avatar
Andreas_Schneid
Icon for Nimbostratus rankNimbostratus
Sep 19, 2005

disable persistens for a specific node

hello,

 

 

i have a little irule problem. here the relevant config -->

 

 

pool xyz_POOL_80 {

 

lb method predictive

 

min active members 1

 

monitor all cm_generator

 

member 10.48.15.111:http priority 2

 

member 10.48.15.112:http priority 2

 

member 10.48.15.121:http priority 2

 

member 10.48.15.122:http priority 2

 

member 10.48.16.90:http monitor none

 

}

 

 

rule np01 {

 

when LB_SELECTED {

 

if { [ [LB::server addr] equals 10.48.16.90 ] } {

 

persist non }

 

}

 

 

 

virtual xyz_VIP_80 {

 

destination 192.168.2.2:http

 

fallback persist source_addr

 

ip protocol tcp

 

profile http tcp

 

persist cookie

 

pool xyz_POOL_80

 

rule np01

 

}

 

 

 

... the member 10.48.16.90 is my failure server, triggert over the priority. drawback of this solution is that in the failure case the clients directed to the failure server have a source_addr persistens too. if the priority 2 servers recovered, this clients will directed to the failure server anymore because the source_addr persistens. :-(

 

 

i thought i can solve this drawback with the irule np01. now my box responds to any request with a reset.

 

 

... help me please.

 

  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Andreas,

    Be sure that you're spelling every part of the rule correctly. It looks like you've got the general idea correct, but it could be that you're missing an "e" on none.

    The other thing I noticed is that you were using an extra set of brackets where they weren't needed.

    Try:

    
    when LB_SELECTED {
      if { [LB::server addr] equals 10.48.16.90 } {
        persist none
      }
    }

    Other than that, it looks pretty straight-forward.

    Hope that helps,

    -Colin