Forum Discussion
arch_184454
Nimbostratus
Oct 09, 2015iRule (round robin) modification - ignore if the node in pool is down!
I have an irule to divert traffic to two servers, and it is working as round robin, and want to get some help to modify this rule so if one node is down the traffic flows to another... I am hoping th...
IheartF5_45022
Nacreous
Oct 09, 2015You'll need to create a pool, pl_redirect_pool with an HTTP monitor and Server1 and Server2 as members. Then try this rule (note you need to hardcode the IPs of Servers 1 and Server 2 in here also);-
when RULE_INIT {
set ::whichone 0
set ::servers [list "x.x.x.x" "y.y.y.y"]
Unfortunately have to hardcode the server IPs here
set ::redirs [list "http://Server1/xyz" "http://Server2/xyz"]
}
when HTTP_REQUEST {
if { [LB::status pool pl_redirect_pool member [lindex $servers $::whichone] 80] eq "up" } {}
HTTP::redirect [lindex $::redirs $::whichone]
else {
HTTP::redirect [lindex $::redirs [expr ! $::whichone]]
}
set ::whichone [expr ! $::whichone] }
}
- arch_184454Oct 09, 2015
Nimbostratus
Thank you "IheartF5" :) I will give it a try and will get back to you by Monday. Really appreciate your help. - arch_184454Oct 13, 2015
Nimbostratus
Hi IheartF5 --> I am getting an error while saving the rule, seems like it doesn't want to take the arguments: 01070151:3: Rule [/Common/App_redirection2] error: /Common/App_redirection2:12: error: [wrong args][HTTP::redirect [lindex $::redirs $::whichone] else { HTTP::redirect [lindex $::redirs [expr ! $::whichone]] }] /Common/App_redirection2:18: error: [command is not valid in the current scope][}] - IheartF5_45022Oct 13, 2015
Nacreous
I got the brackets wrong - see {} at end of the if statement? Let me knwo if that fixes it. In meantime I'll actually try saving it myself :-) - arch_184454Oct 13, 2015
Nimbostratus
Thank you... I removed it but no luck, I verified all brackets opening and closing in notepad++ they do line up: when HTTP_REQUEST { if { [LB::status pool App_pool member [lindex $servers $::whichone] 80] eq "up" } HTTP::redirect [lindex $::redirs $::whichone] else { HTTP::redirect [lindex $::redirs [expr ! $::whichone]] } set ::whichone [expr ! $::whichone] } Still have the same error! - Hope you can stop the fire on your end but do reply when you get a chance. Thank you for your help! - arch_184454Oct 13, 2015
Nimbostratus
Error: error: [missing a script after "if"][] /Common/TrackwiseDev_redirection2:12: error: [wrong args][HTTP::redirect [lindex $::redirs $::whichone] else { HTTP::redirect [lindex $::redirs [expr ! $::whichone]] }]
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