rolf
Sep 26, 2013Cirrus
[LB::server priority] wit empty Value in case LB::select or LB::reselect was called
I see a strange behavior. I have to assign a specific SNAT Pool depending on the selected Pool Member.
As I resend a request in case a HTTP 5xx response arrived, I call LB::reselect / LB::select in the HTTP_RESPONSE event. In case the LB_SELECTED event was called within the iRule, I get "" values for [LB::server priority]. In case the LB_SELECTED event was called regularly (first connect - no retry), I see the right value.
Any ideas are appreciated 🙂
example logs:
go_SNAT_pool : Server Priority for server: 10.91.90.19%601 prio: 2
go_SNAT_pool : Server Priority for server: 10.91.90.21%601 prio: 2
go_SNAT_pool : Empty Server Priority for server: 10.91.90.21%601 prio:
go_SNAT_pool : Empty Server Priority for server: 10.91.218.20%601 prio:
iRule:
when LB_SELECTED {
switch -glob [LB::server priority] {
"2" { snatpool SNAT_Data }
"1" {
snatpool SNAT_LB
log local0. "Selected remote server: [LB::server addr] prio: [LB::server priority]"
}
"" {
log local0. "Empty Server Priority for server: [LB::server addr] prio: [LB::server priority]"
}
default { log local0. "Server Priority for server: [LB::server addr] prio: [LB::server priority]" }
}
}