Forum Discussion

Magnum_IP's avatar
Magnum_IP
Icon for Nimbostratus rankNimbostratus
Nov 18, 2013

Virtual Server Status Unknown

I have an iRule attached to a Virtual Server. The iRule sets the pool and the pool name is computed from variables. In this scenario the Virtual Server status shows as unknown.

 

Is there any way of reflecting the status at the Virtual Server level without specifying the pool name explicitly in the iRule or attaching a default pool?

 

I would rather not specify the pool directly as I would like to use the same iRule in different environmenst and the use of variables allows me to pick up on that context and I would rather not specify a default pool just in case something slips through the logic and gets passed to a pool member when it shouldn't.

 

Regards,

 

fergu5

 

  • Richard__Harlan's avatar
    Richard__Harlan
    Historic F5 Account

    With out a direct pool with the monitor the Virtual will show up as unknown. With a iRule picking a pool it would not do much good showing the Virtual up as you is the pool you are going to send the customer up up.

     

    You could write a EAV that looks at the pools the iRule could send the traffic too and as long as they are all up the EAV would return up. If one pool the iRule could pick is down then the VIP is down.

     

  • The short answer is no (and certainly not within an iRule). The longer one is really a question, how can the VS have a status if it's not statically tied in any way to a Pool or Pool Member?

     

    Personally I'd assign a default Pool, get my rule peer reviewed, test is thoroughly and go with it. Add some logging to pick up anything that gets through and deal with it if does. Would the impact really be that bad? Also, you might learn something and grow and

     

  • If I may add, as Richard and Steve has stated, without a pool assigned, the VIP will have no status, and there's not much you can do about that. You probably should, however, check the pool member status on each request. Example:

    if { [active_members $my_pool] < 1 } {...
    

    If, however, you need the VIPs status for GTM, you may need to use something like a user_alert.conf or iCall configuration to enable or disable the VIP based on your pool availability.