Forum Discussion

Mikoto_Misaka_1's avatar
Mikoto_Misaka_1
Icon for Nimbostratus rankNimbostratus
Oct 16, 2006

persist lookup uie command

Hi,

 

 

I can get IP address of pool member with "persist lookup uie node" command.

 

For example, I can get "10.4.10.201" with "persist lookup uie $reqid node" command ($requid = 11111111) from the following persistence table.

 

 

PERSISTENT CONNECTIONS --

 

Mode: universal Value: 11111111

 

Virtual: 192.168.0.200:http Node: 10.4.10.201:80 Age: 153sec

 

 

 

Now I have a problem that I can't get IP address of pool member when the status of "node 10.4.10.201:80" is down.

 

The persistence table isn't reaped though the status of node is down.

 

But, it seems that the command "persist lookup uie 11111111 node" rerurns "null".

 

The version is v9.1.2.

 

 

In fact, the outputs of commnad change by the the status of pool member.

 

- "node 10.4.10.201:80" is UP. => The command "persist lookup uie 11111111 node" returns "10.4.10.201:80".

 

- "node 10.4.10.201:80" is DOWN. => The command "persist lookup uie 11111111 node" returns "null".

 

 

I hope that BIG-IP loadbalances on the basis of the current persistence table with such a following rule, regardless of the status of pool member.

 

Is it possible that I can get IP address of pool member with 'persist lookup' when the status of node is down ?

 

 

-------------------------------------

 

when HTTP_RESPONSE {

 

HTTP::collect

 

}

 

 

when HTTP_RESPONSE_DATA {

 

set payload "[HTTP::payload]"

 

set resid [findstr $payload "sessionid=" 10 8]

 

persist add uie $resid

 

}

 

 

when HTTP_REQUEST {

 

set reqid [findstr [HTTP::uri] "sessionid=" 10 8]

 

  set nd [persist lookup uie $reqid node]

 

 

 if { $nd == "10.4.10.201" } {

 

log local0.info "another pool_1"

 

use pool pool_1

 

} elseif { $nd == "10.4.10.202" } {

 

log local0.info "another pool_2"

 

use pool pool_2

 

} else {

 

log local0.info "normal pool1"

 

use pool normal_pool

 

}

 

}

 

 

-------------------------------------

 

PERSISTENT CONNECTIONS --

 

Mode: universal Value: 11111111

 

Virtual: 192.168.0.200:http Node: 10.4.10.201:80 Age: 153sec

 

 

Mode: universal Value: 22222222

 

Virtual: 192.168.0.200:http Node: 10.4.10.202:80 Age: 128sec

 

-------------------------------------

2 Replies

  • unRuleY_95363's avatar
    unRuleY_95363
    Historic F5 Account
    Since it looks like you are managing the entries directly, you might try using the "session" command instead of the "persist" command. It basically works the same except you provide it the data to store (use [LB::server]) and it doesn't make any judgement based on node availability.

     

  • I tested "session lookup uie $reqid node" . But the session command rerurns "null" when node is down.

     

    It seems that "session" command also have the server status.

     

     

    Thanks,