Forum Discussion

vanandtara_1411's avatar
vanandtara_1411
Icon for Nimbostratus rankNimbostratus
Jan 13, 2014

LB::status not returning session_disabled status

Hello,

I have the following irule:

when LB_FAILED {
   switch -glob [LB::status] {
      "session_disabled" {
         switch -glob [HTTP::uri] {
            "/maintenance_img.png" {
               HTTP::respond 503 content [ifile get "maintenance_img"]
            }
            default {
               HTTP::respond 503 content [ifile get "maintenance_page"]
            }
         }
      }
      "down" {
         set response "Loading"
      }
   }
}

But it appears to never return a "session_disabled" state.

The pool has 2 members with one member "forced offline". When i disable the active member in the pool,

HTTP::respond 200 content [LB::status]

always returns "down".

Is this because of the way the LB selection process works? How might I test for session_disabled properly.

As you may deduce i am attempting to display a maintenance page when the nodes are "session_disabled" and a "loading" type page when the nodes are down inexplicabbly (which usually lasts <30 secs).

thank you!

-van

2 Replies

  • Sorry, i added the HTTP::respond 200 content [LB::status] at the end of the above code just for debugging. Alternatively, i could set a variable to toggle the maintenance page at the beginning of the irule, but i didn't want to have operators change irules for maintenance and just set the nodes to disabled in the pools. Logically, it would only display the maintenance page if this variable was set else it would just load a "loading" or "sorry will be right back" page when (active members [LB::server pool]] < 1). Cheers! and TY again!