Leav97
Aug 14, 2019Altocumulus
Solved
iRule to verify node is member of pool and passing the pools health check
I have an irule that uses a table to determine which node a client should use. I'd like to have the rule double check the node is passing health checks and is a member of a pool. Just as a precaution in case pool members have changed. The existing rule is pretty basic. But, I haven't found any examples online to help me build out more error prevention.
when CLIENT_ACCEPTED {
if { [table lookup tbltest[TCP::local_port]] ne "" } {
node [table lookup tbltest[TCP::local_port]]
}
}
when SERVER_CONNECTED {
set TargetNode [table lookup tbltst[TCP::local_port]]
set ActiveNode [active_members -list test-pool]
if {$TargetNode eq "" } {
return
}
if {$ActiveNode contains $TargetNode } {
node $TargetNode
}
}