Forum Discussion

rolf's avatar
rolf
Icon for Cirrus rankCirrus
Sep 26, 2013

[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]" }
    }
}
No RepliesBe the first to reply