Forum Discussion
scaissie_82066
Nimbostratus
Jun 05, 2007LB::reselect doesn't select another node
I have an iRule that sets persistence based on a usrid string in the TCP payload. That works, but when the node goes down, I can't get the same usrid's to move to another server. They remain stuck to the node that's down. I've tried many ideas that I've seen posted, but none of them work.
when CLIENT_ACCEPTED {
TCP::collect 34
}
when CLIENT_DATA {
set usrid [string range [TCP::payload] 23 33]
if {[regexp {\d{10}} $usrid]} {
persist uie $usrid
log local0. "Persisting $usrid"
}
}
when LB_FAILED {
set p [LB::server pool]
set n [LB::server addr]
log local0. "Set node down: $n"
LB::down node $n
log local0. "Deleting $usrid from Pool $p"
persist delete uie $usrid
LB::detach
LB::reselect pool $p
set x [LB::server addr]
log local0. "After reselect node is $x"
}
Here's the ltm log file:
Jun 5 10:48:19 tmm tmm[13956]: Rule phoneIDoffset : Persisting 0000000001
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Persisting 0000000001
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Set node down: 10.3.0.254
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Deleting 0000000001 from Pool pool.asr
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : After reselect node is
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Persisting 0000000001
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Set node down: 10.3.0.254
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Deleting 0000000001 from Pool pool.asr
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : After reselect node is
Jun 5 10:48:30 tmm tmm[13956]: Rule phoneIDoffset : Persisting 0000000001
It just loops forever.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects